[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Uninterned symbols
From: |
Martin Grabmueller |
Subject: |
Re: Uninterned symbols |
Date: |
Fri, 18 May 2001 07:06:29 +0200 |
> From: Marius Vollmer <address@hidden>
> Date: 18 May 2001 00:15:15 +0200
>
> Uninterned symbols must be printed differently from interned symbols.
> Identical uninterned symbols could be identified in printed output by
> using the notation for shared structure to flag them. Like, assuming
> gensym returns uninterned symbols, and uninterned symbols are printed
> with a "#~" prefix:
>
> guile> (define g (gensym))
> guile> (define h (list g g))
> guile> h
> (#1=#~g0 #1#)
>
> We would have to fix the reader and printer to get this right, I
> think.
Do you mean fixing the printer/reader so that _every_ shared structure
is printed and read an as you described above? I suppose that'll be
quite hard...
> Reading a "#~" object would create a new uninterned symbol with the
> given name, and recreating the original structure would be achieved
> with the `#n=' and `#n#' notation.
If we only wanted that to apply to uninterned symbols, we have it
already (well, I have), so we would not need to touch the
shared-structure printing stuff at all.
Regards,
'martin