Matthew Dempsky <xxxxxx@flame.org> writes:
>> - A Pika-style or JNI-style FFI could be built on top of it, and it
>> could be built in a portable manner.
>
> That doesn't help implementations that can _only_ provide a Pika-style
> or JNI-style FFI, however. Instead code will be written to support
> the present FFI and will need to be rewritten before they can be of
> any use to other implementations that couldn't provide this FFI.
Scott Miller and I discussed the issues of implementing an SRFI-50
like FFI for a Java-based Scheme implementation like SISC. While
neither of us have much experience with Java's JNI, he pointed out
that SRFI-50's requirement on which routines may GC makes a bold
assumption that the implementation controls when garbage collection
happens.
JNI also requires context variables to get passed around in function
calls not possible with the present FFI.
Both of these issues are resolved by using a Pika-style FFI.
-jivera