[Ecls-list] Announcement: RDNZL - a .NET bridge for CL

Juan Jose Garcia Ripoll lisp at arrakis.es
Thu Dec 16 03:20:01 UTC 2004

Edi Weitz wrote:

>5. Even if I used UFFI (and someone had implemented the callback
>   support) there were still other implementation-specific things
>   you'd need to add: GC finalization hooks, exit hooks or an advice
>   facility, direct GC calls.
>Having said that, porting RDNZL to another Lisp shouldn't be hard if
>you're familiar with your implementation: You'll have to find the
>right translations for about ten functions/macros in port-xx.lisp and
>at least half of them should be trivial.
I hear people talk about callbacks all the time, but I am not sure what implementation they have in mind. Should it be a pointer to a C function? A pointer to a C function plus data?

I would like to add some sort of standard interface to ECL for doing that, because on of the trickiest thing of this business is to ensure that the data which is passed to the C world is not garbage collected.

Finalization hooks would require minor tweaks to the garbage collector 
code -- mainly because you do not want finalization code to be run from 
within the garbage collector, as the Boehm-Weiser gc does. Apart from 
that, it should be doable.

More information about the ecl-devel mailing list