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


Keisuke Nishida <kxn30@po.cwru.edu> writes:

> 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 have now done the former.

> > 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.

It could actually be instructive to try it already in the current
system.  The problem is actually more on the syntax-case side (since
the code isn't module aware) than on the module system side.

> 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?

ASAP

My current list is: lexer, GOOPS integration, initiation of module
system design.

This would come towards the end of this list, unless someone else
comes first.

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