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]

Re: setf.scm



chl@tbit.dk writes:
> >>>>> "Per" == Per Bothner <bothner@cygnus.com> writes:
> 
> Per> For how implement this in Guile?  I leave that to Guile
> Per> implementors.  One reason I preferred to start from scratch
> Per> with Kawa is that having an object-oriented implementation
> Per> core is easier to extend.
> 
> A simple hack would be to maintain a hash table mapping procedures to
> setters.

Procedure objects already have a property list, so that could be used
as well.

> One could use the procedure itself to get a mapping that
> followed the object or names (symbols) to get something akin to the
> set-*! scheme.
> 

Following the object names would be the `static' strategy again,
rearing it's ugly head. I'm strongly of the opinion that the setter
should be associated with a procedure object, not a symbol.

> Not perfect, but seems like a usable first shot not requiring
> modifications to the evaluator or representations of procedure
> objects. Possibly with some hacking it could even work with the module
> system such that each module had its own setter obarray.
> 

You could do that if you wanted to have setters associated with a
name, but as I've said before, they should be associated with a
procedure.

 - Maciej