There have been a few changes to the Foreign structure. The callN
functions have been renamed as buildCallN and the way functions are
passed as arguments has been changed.
The reason for the changes is to make clear that the expensive
operations are creating the C functions and closures and that calling a
C function or passing a constructed closure are comparatively cheap.
It is important to call the buildXXX functions at the top-level e.g. in
a structure, so that the C function is created once. The old callN
functions were curried and it wasn't apparent that the partial
application to the conversions was quite different to the application of
this to the arguments. For that reason the buildXXX take a tuple.
David
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml