Sven.Panne at informatik.uni-muenchen.de
Mon Feb 12 16:32:01 EST 2001
Alastair Reid wrote:
> [...] ps I have a feeling of feeping creaturism as I watch this list -
> a nice simple design seems to be getting more complex.
Could you elaborate on this? The basic FFI *is* still nice and simple
IMHO. Mentioning plain Addr in it was a design mistake because:
* Pointers to code and data need not have the same size.
* The extra type parameter in Ptr/FunPtr tremendously helps to resolve
* Addr doesn't carry any type information, so there is no help at all
from the type checker, which is even worse than C.
Admittedly, we have to be a little bit careful with the FFI libs: Not
every little two-liner is really needed in a standard lib, but on the
other hand, a standard "vocabulary" for e.g. marshaling improves
readability of code written by others a lot and opens up ways for
performance improvement which didn't exist before (e.g. alloca & friends).
More information about the FFI