guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Release 1.6 critical TODO items.


From: Marius Vollmer
Subject: Re: Release 1.6 critical TODO items.
Date: 29 Jan 2002 19:47:53 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1

Rob Browning <address@hidden> writes:

> Rob Browning <address@hidden> writes:
> 
> > OK, then what do we do about re-reading and syncase?
> 
> Perhaps syntax-case is presuming functionality out of gensym that we
> don't want to guarantee?

Syncase is happy with the version of gensym we have now, i.e., one
that doesn't guarantee that the returned symbols are unique among all
present and future symbols in the system, but only that they are
unique among the symbols returned by gensym.  When we change gensym to
produce uninterned, unreadable symbols, we can change syncase to use
something like gentemp, which we could implement specifically for
syncase (in syncase.scm).

> A gensym which produces uninterned symbols works fine for normal macro
> expansions.  The only problem arises when you want those same symbols
> to survive a write/read cycle without loosing their "uninternedness".
> But there's no way to fix that without also breaking gensym's
> guarantee that it returns unique symbols.

The way this is done in Common Lisp is to set *print-circle* to t when
writing the data structure that contains the symbols.  This will only
work for a single printing action (I think).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]