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

Re: Development/Production versions (was RE: CVS)



Quoting Leo Razoumov:
> How about having the wrapper generating engine written in Scheme?
> After all don't we believe that Scheme is the best language of all:-)

We do. :) That's one of the reasons that "xctocc" has been deprecated.
My original little Perl script --- written before MzScheme was ready
for such tasks --- got out of hand a long time ago.

But using someone else's code may be preferable to writing new code
(even Scheme code) if it does the right thing.


I took a long-overdue look at SWIG. It seems like a decent starting
point, and it looks relatively easy to go from Guile's interface to
MzScheme's interface. (Actually, plt/src/mzscheme/guile already
contains a mapping for of part of the Guile interface to the MzScheme
interface.)

The C++ support seems to allow creating C++ instances and calling
methods, but not deriving a subclass from a C++ class. Adding support
for subclassing would probably take some work, but it may not be an
important feature anyway.


Quoting Noel Welsh:
>  Eli Barzilay was/is working on a FFI for MzScheme that allows one to
> easily call functions in C shared objects. It hasn't made it isn't the
> PLT repository yet.

Sorry for the delay - I'll get that on the web page this weekend. 

If I understand correctly, Eli's code implements a different approach
than SWIG. With SWIG, you get a .c file that needs to be compiled and
linked with the target code. With Eli's code, you don't need a C
compiler: it generates glue at run-time, and works with code that is
already in the form of a dynamic library.

Is the distinction important to the people who want to use a glue
generator?

Matthew