This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: guile-vm-0.2


Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:

> > I think that's it for now.  I want to have support for generalized
> > `set!', but is it possible?
> 
> Sure it is---silly me, I've forgotten this completely.  This is a bug
> and should be fixed ASAP.  If anyone provides a patch to psyntax.ss,
> I'll happily receive it.  Otherwise, I'll do it myself.

How do you support it?  Could you expand a set! form to a corresponding
setter form at this time?  Or do you leave it as it is?

> I think something like this is a good idea, but we'll have to
> elaborate the details further.  When you currently ask for the syntax
> of a module, the module is expected to provide a *procedure* which is
> the macro expander.  So the code above is not correct in this respect.
> 
> Actually, what we probably should do is to fix psyntax.ss so that it
> starts to cooperate for real with the module system.  We can do that
> by extending the syntactic environments (the variable `r' in Dybvig's
> code) with some object representing the top-level environment.  We'll
> then extend the expander call with an extra parameter to provide this
> object.  Also, the top-level lookup hook should be changed from using
> the object-property of Guile variable objects to using this syntactic
> environment instead.

Yes.  I hope the next module system includes this fix.  And when I think
about macro expansion, I realize that my compiler cannot compile all of
the current Guile's Scheme code because it doesn't support macro objects.
When do you plan to replace them by syntax-case?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]