Abdulaziz Ghuloum wrote:

Currently, Ikarus allows you to attach arbitrary values to identifiers at expansion time, but it does not allow you to do that and at the same time have the identifier be usable as a variable/macro. I have not finalized my thoughts about this, but it's coming any-time-now.

Do you know of any other implementations allow this?

This sounds really cool... they're basically the old-school
"property lists" for the 21st century.

Anywho, with the feature you describe above, and the existing 'make-compile-time-value', it seems that's all I'd need to make a bona-fide 'smart-curry' (and friends). Well, assuming that 'define' started to annotate procedure bound symbols (which doesn't sound bad).

Of course, I like portable code so the next step would be to talk to other implementors about it, see if we can develop a defacto standard, go SRFIng, and then standardize it.

Man, with this sort of thing, the sky's the limit... Type annotations in lambda parameter lists also come into reach...

(lambda ( (x int) (y int) )
   (abc x y))

The endowed 'lambda' annotates 'x' and 'y' with the type info. 'abc' expands and takes advantage of the type info; 'abc' might be a "generic" from an object system which dispatches based on type. Etc...

Ed

Reply via email to