[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Couple things...



>>>>> "Felix" == felix  <felix@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> writes:

Felix> My idea is simpler, more safe, more portable and does away with most GC
Felix> and character-representation issues (as far as I'm able to understand
Felix> Unicode-related problems): define blocks of code externally, with a
Felix> properly defined set of arguments/results and their types. The foreign
Felix> bindings could be defined in a "binding"-language, perhaps even by taking
Felix> ideas from SRFI-7:

While this approach is very seductive, my personal experience
(stemming from writing or supervising the writing of) many, many lines
of C bindings and investing considerable thought and work into this
kind of thing, is that it's neither simple to implement, nor general
enough to address even a significant portion of the C binding needs
out there in the real world.

For a comparatively small example: scsh had something like this once
(called CIG), which we largely did away with it for the 0.6 series
precisely because it tended to make things harder rather than easier.

Moreover, this kind of approach still doesn't absolve you from
specifying what the C-level interface with Scheme looks like.  See,
say, SWIG for an example where "the simple approach" was used in the
beginning, and then more and more half-baked stuff was stapled and
Scotch-taped on later.

This kind of thing could still be very useful, mind you, but it
doesn't meet with the stated goals of this particular SRFI.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla