3 ms·
It shells out to the C compiler (hard-coded as "cc") for every function? Oof. That's a pretty limited FFI. Or maybe I wasn't clear. If Scheme tries to pass
by username223 9y ago
It shells out to the C compiler (hard-coded as "cc") for every function? Oof. That's a pretty limited FFI.
Or maybe I wasn't clear. If Scheme tries to pass a double/bignum/whatever to the C function that expects the float, where is the error caught?
- shakna 9y agoIt's not Scheme that does the passing, just to be clear, it's the library. In this case, it's just throwing strings around without changing anything. No passing to transform a bignum, no bounds checking. Just tries to run it. (Racket does have a decent FFI [0], but this library is just for classroom example stuff. Not serious work.) [0] https://docs.racket-lang.org/foreign/index.html https://docs.racket-lang.org/foreign/index.html