[Bese-devel] Changes II

Marco Baringer mb at bese.it
Tue Aug 9 16:00:42 UTC 2005


Friedrich Dominicus <frido at q-software-solutions.de> writes:

> Well as written before I'm trying to get ucw working for me. I was a
> bit successfull with that around a week or so ago. But now all the
> things start tumbling down. So what has changes in the action
> handling?

pardon me for breaking your app :(

what has happened is that we've moved from a macro transformer to an
interpreter and the work still isn't quite finished. 

atm actions have the following, temporary, limitation: you can't pass
a function generated in the action (a form like #'(lambda ...)) to a
function which wasn't generated by defun/cc. basically this won't
work:

(mapcar (lambda ...) ...)

nor anything similar.

the reason is that the interpreter, when it sees a lambda form,
doesn't generate a function object but generates a cps-closure
object. this cps-closure object can contain call/cc (unlike the old
cps-transformer) but you need to have a definition of mapcar (or just
map in your case) which knows how to deal with cps-closure objects.

i'm currently (as we speak) cut 'n pasting code from sacla to
implement most of the common higher order common-lisp function
(mapXYZ, removeXYZ, etc.) in order to fix your code you will to
refactor the action so that the (lambda ...) form is in a second
function defined outside of the action and you only pass non-function
objects to that second function.

-- 
-Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
	-Leonard Cohen



More information about the bese-devel mailing list