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: Martin Grabmueller
Subject: Re: Release 1.6 critical TODO items.
Date: Tue, 29 Jan 2002 12:15:20 +0100

> From: Neil Jerram <address@hidden>
> Date: 28 Jan 2002 18:54:13 +0000
> 
> >>>>> "Rob" == Rob Browning <address@hidden> writes:
> 
>     Rob> Martin Grabmueller <address@hidden> writes:
>     >> Then this would be used in `scm_gensym' instead of `scm_mem2symbol'.
>     >> Symbols created with would then be unique.
> 
>     >> IRIC, the problem with this was that after writing out/reading in, the
>     >> gensym symbols would not be unique anymore.  After looking for a
>     >> solution for that, we came into a larger discussion about read/write
>     >> invariance, cyclic data structures, symbol->string conversions etc.
> 
>     Rob> Your code seems like it's at least a fairly substantial improvement
>     Rob> over what we have now, especially for the cases where gensym is being
>     Rob> used inside macro expansions to avoid unintential shadowing.
> 
>     Rob> Any reason I shouldn't just test and include this fix in 1.5/1.7?
> 
>     Rob> Eventually fixing the write/read problem seems like it will require
>     Rob> something fancier and/or some compromises.
> 
> Why do gensym symbols need a re-readable print syntax anyway?  I don't
> think they even need names.  We could just print them, whenever we
> have to, as `#<symbol 03df4d>' or such like.

They should be re-readable because gensym is often used by
macro-expanders when alpha-converting.  IIRC, (ice-9 syncase) does
exactly that when generating the preprocessed version of the macro
expander in psyntax.pp.

'martin



reply via email to

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