|
|
|
|
|
by cannam
1355 days ago
|
|
> What's the FFI overhead like? I don't have measurements to hand, but vaguely speaking, low. Low enough to be worth using for even quite modest calls into vector functions or optimised libraries. > And can you pass SML function pointers into C code as callbacks? Yes. At least, you can declare a function statically for export as a callback. You can't pass arbitrary function values. You can call C/C++ from SML, and call SML from C/C++ from SML - though some neat potential uses are ruled out as MLton (unlike Poly/ML) doesn't support native threads and you can't call back from a different thread from the caller. You can also compile to a library using MLton and use that from a C/C++ program - again only from a single thread, but it doesn't have to be the program's main thread. |
|