"Neil Jerram" <[EMAIL PROTECTED]> writes: > 2008/11/27 Maciek Godek <[EMAIL PROTECTED]>: > >> Perhaps the possible inconvenience is that all variable >> names that happen to be the slot names of a given class >> are shadowed. In the long run it may also cause significant >> performance problems (or that's what I think), especially >> when dealing with objects with a hell lotta slots. >> >> I wonder if it would be possible to make it optimizable >> for the JIT compiler somehow (and to make the "in" syntax >> official part of GOOPS) > > I think this is a nice interface; but I'm less sure about the > implementation. Why do you need to use primitive-eval at all? > > Isn't CL's with-slots a bit like this? It might help to look at how > that is implemented.
with-slots uses symbol-macrolet[0] to bind each of the variable names to symbol macros within its body. I don't know of anything in Guile that is equivalent. [0] http://franz.com/support/documentation/6.0/ansicl/dictentr/symbol-m.htm -- Ruled by the ebb of my oceans Slaves to the dusk and the dawn Your petri dish civilisations Are buried and born