This is the mail archive of the guile@cygnus.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] |
> One problem with calling setf! set! instead in Guile is that the > primitive set! exists, and having a loadable module which changes the > behavior of primitive syntactic forms is perhaps not a good idea. You have to decide whether you want setf! to be part of the Guile language and encourage people to use it. I assume so, since the main justification for setf! seems to be as a *standard* syntax, instead of a mess of set-XXX! and XXX-set! forms. If so, whether setf!/set! is a loadable module is an implementation detail that should come *after* we decide on the specification. > Hmm, is your set! static or dynamic (in the earlier terminology of > this discussion, see archive if necessary)? Well, I did say define (set! (PROC ARGS ...) RHS) as equivalent to ((setter PROC) RHS ARGS ...). So the question reduces to whether setter is dynamic or static. I believe it is should be "dynamic" (i.e. setter evalues PROC at run-time), and that is what I have implemented. Of course, if you allow the compiler to inline or statically resolve some procedures, then you can also inline or statically resolve the call to setter. --Per Bothner Cygnus Solutions bothner@cygnus.com http://www.cygnus.com/~bothner