This is the mail archive of the
guile@cygnus.com
mailing list for the Guile project.
Re: Polymorphism in Scheme (Re: records)
- To: Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
- Subject: Re: Polymorphism in Scheme (Re: records)
- From: Jost Boekemeier <jostobfe@linux.zrz.TU-Berlin.DE>
- Date: 05 Aug 1999 20:20:39 +0200
- Cc: forcer <forcer@mindless.com>, guile@sourceware.cygnus.com, djurfeldt@nada.kth.se
- References: <199907210938.CAA16432@mingle.glug.org> <m37lnsya34.fsf@savonarola.red-bean.com> <p2tiu7cbpdf.fsf@grapefruit.zrz.tu-berlin.de> <3794F0DA.ECEF06EC@tech.com.au> <p2temhz4jlt.fsf@grapefruit.zrz.tu-berlin.de> <37986F16.2750BBBB@tech.com.au> <p2tu2qvp7u3.fsf@grapefruit.zrz.tu-berlin.de> <37990441.DF571BFE@tech.com.au> <p2temhy454r.fsf@grapefruit.zrz.tu-berlin.de> <hhoggn769n.fsf_-_@forcix.roof.lan> <xy7k8rb480c.fsf@mdj-pc.nada.kth.se> <p2t1zdi1i6f.fsf@ananas.zrz.tu-berlin.de> <xy7btcmktgd.fsf@mdj-pc.nada.kth.se>
Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se> writes:
> > (ice-9 syncase) will no longer work in the new module system.
> > The current implementation uses symbol properties which are meaningless
> > in a system with more than one top-level environment.
>
> 1. The current implementation doesn't use symbol properties.
From ice-9/syncase.scm:
[...]
(for-each (lambda (symbol)
(set-symbol-property! symbol 'primitive-syntax #t))
primitive-syntax)
> 2. The current module system has more than one top-level environment.
It has first class variables but not first class top-level environments.
An environment binds symbols to values (better: locations). The
question "what's the value of symbol x" is no longer valid because
the answer to the question would be another question: "in which
environment?".
> > Fortunately this is the only problem I've encountered. All other
> > modules work as before and needed no (or minor) modifications.
>
> I'm sure we can adapt the syntax-case module to the new system.
I think that it has to be re-written from scratch. :(
Jost
--