> Actually, if you want to write portable code you must, and you must also > wrap it in inexact->exact. However, since the FFI isn't portable anyway > it won't matter that much, except when if decide to switch to supporting > bignums in core. When that happens, all code that doesn't round and > convert to exact will break unless we decide to keep this for backwards > compat for a while. But eventually it'll break.
I don't write portable code, and a switch to supporting bignums in the core-system is not decided on, yet. > >> This doesn't feel right to me, but I'll push the modified patch, if you >> insist, >> because I can't bring up more convincing arguments. It just doesn't feel >> right... > > Why doesn't it feel right? (vector-ref (vector 1 2 3 4) 1.5) shouldn't > work, why then should ((foreign-lambda void do-something int) 1.5), > especially considering vector-ref could reasonably be defined as this: > > (lambda (v i) > (check-type 'vector v) > ((foreign-lambda scheme-object C_block_item scheme-object int) v i))? > Because these are two completely different things, and you know that. cheers, felix _______________________________________________ Chicken-hackers mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-hackers
