On Wed, Jun 21, 2017 at 5:01 PM, William D Clinger <xxxxxx@ccs.neu.edu> wrote:
In my opinion, sample implementations should be as portable as
is reasonably practical, with system-specific refinements
residing in the repositories of systems that support the SRFI.
Historically I have released SRFIs with Chicken-specific and R7RS implementations, and I'd like to keep to that for SRFI 144 by releasing a Chicken-specific version of the portable implementation. This is a matter of tribal loyalty more than anything else, since I develop my SRFI implementations on native (non-R7RS) Chicken as well as Chibi.
In pursuit of that, it would increase actual portability to replace or supplement the c-functions-available flag with a mechanism for deciding exactly which FFI-based functions ought to be used rather than providing it for just the three functions Larceny needs. The simplest way, though not very pretty, is to just have one flag per FFI function and set them on a per-system basis accordingly.