From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Newsgroups: gmane.lisp.guile.bugs Subject: bug#20087: gensym Date: Thu, 24 Mar 2016 09:45:38 +0100 Message-ID: <87r3f04631.fsf@gnu.org> References: <87a8zjxxpl.fsf@gnu.org> <87twjzytit.fsf@netris.org> <87wpovueos.fsf@gnu.org> <87twjxqdtq.fsf@netris.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1458809190 11841 80.91.229.3 (24 Mar 2016 08:46:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 24 Mar 2016 08:46:30 +0000 (UTC) Cc: rain1@openmailbox.org, 20087@debbugs.gnu.org To: Mark H Weaver Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Thu Mar 24 09:46:18 2016 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aj0uG-00024n-Hj for guile-bugs@m.gmane.org; Thu, 24 Mar 2016 09:46:16 +0100 Original-Received: from localhost ([::1]:48647 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aj0uA-0007BY-Mc for guile-bugs@m.gmane.org; Thu, 24 Mar 2016 04:46:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55086) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aj0u6-0007BD-Md for bug-guile@gnu.org; Thu, 24 Mar 2016 04:46:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aj0u2-000561-N2 for bug-guile@gnu.org; Thu, 24 Mar 2016 04:46:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:37924) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aj0u2-00055x-Je for bug-guile@gnu.org; Thu, 24 Mar 2016 04:46:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1aj0u2-00028j-F2 for bug-guile@gnu.org; Thu, 24 Mar 2016 04:46:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Thu, 24 Mar 2016 08:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20087 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 20087-submit@debbugs.gnu.org id=B20087.14588091558211 (code B ref 20087); Thu, 24 Mar 2016 08:46:02 +0000 Original-Received: (at 20087) by debbugs.gnu.org; 24 Mar 2016 08:45:55 +0000 Original-Received: from localhost ([127.0.0.1]:35051 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aj0tv-00028N-9p for submit@debbugs.gnu.org; Thu, 24 Mar 2016 04:45:55 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:35805) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aj0tt-000289-9P for 20087@debbugs.gnu.org; Thu, 24 Mar 2016 04:45:53 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aj0ti-00053P-OB for 20087@debbugs.gnu.org; Thu, 24 Mar 2016 04:45:47 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44491) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aj0ti-00053L-KT; Thu, 24 Mar 2016 04:45:42 -0400 Original-Received: from pluto.bordeaux.inria.fr ([193.50.110.57]:33924 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aj0th-0006uh-Vf; Thu, 24 Mar 2016 04:45:42 -0400 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 5 Germinal an 224 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x3D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu In-Reply-To: <87twjxqdtq.fsf@netris.org> (Mark H. Weaver's message of "Wed, 23 Mar 2016 13:55:13 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7997 Archived-At: Mark H Weaver skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Mark H Weaver skribis: >> >>> If we cannot eliminate the possibility of collisions, and we cannot >>> avoid intentional collisions, what can we do? I think the best we can >>> hope for is to significantly reduce the probability of _unintentional_ >>> collisions, perhaps by starting the gensym counter at a large number. >> >> I=E2=80=99m not sure if that would help. >> >> One thing that could help avoid unintentional collisions is to >> automatically add whitespace before the number, such that: >> >> (gensym "x") =3D> #{x 123}# > > I think this is a good idea. > >>> The other thing we can do is to clearly document these inherent problems >>> with gensym, so that they will not be misused for jobs for which they >>> are not appropriate. >> >> I think we should add a sentence to that effect in the manual. > > It turns out the manual already has the following text in the =E2=80=98ge= nsym=E2=80=99 > entry, which I think is sufficient. > > The symbols generated by =E2=80=98gensym=E2=80=99 are _likely_ to be= unique, since > their names begin with a space and it is only otherwise possible to > generate such symbols if a programmer goes out of their way to do so. > Uniqueness can be guaranteed by instead using uninterned symbols > (*noteSymbol Uninterned::), though they can=E2=80=99t be usefully writt= en out > and read back in. > > What do you think? Oh indeed, I guess I had overlooked that. Ludo=E2=80=99.