The Next generation (TNG)
I (Andreas Rottmann) have started hacking on an rewrite of G-Wrap, called G-Wrap TNG, with the following goals:
- Use GOOPS, for enhanced flexibility
- Get rid of the cruft that has accumulated, simplify where possible without sacrificing features
- Be target-language agnostic; i.e. clean separation of the core and e.g. the Guile-specific code. New languages (perhaps even non-Schemes) should be easy to add.
- Offer the current (1.3.4+) wrapping API as a compatibility layer.
New features
TNG already supercedes the "old" G-Wrap in terms of features; it supports additionally:
- Output arguments (return multiple values in Scheme)
- Default arguments (are optional in Scheme)
Status of TNG
The code is roughly ready and already stress-tested in guile-gnome; basic types, enumerations and "wrapped C types" (wct) work. The stuff is now beta-quality (for suitable values of beta ). It will probably be the next major release of G-Wrap, 2.0 (after running through the 1.9.x unstable series). Expect my TNG work to appear in the main archive and the release of 1.9.0 soon.
Pre-TNG Hacks
Up to now, I've implemented runtime wrapper generation with libffi
and did a bit of hacking here and there, especially to make G-Wrap
work with Guile 1.7. Since this changes are superceded by TNG, there
will probably be no 1.6 release series, we'll switch directly to 1.9.x.
Availibilty
I have G-Wrap available in my archive, which contains my branches of G-Wrap (branched off the master archive).
I have the following active G-Wrap branches in my archive:
g-wrap--rotty--1.0
: Hacks on the old code base, including ffi support.g-wrap--tng--0.1
: A branch ofg-wrap--rotty--0.1
, where I do the hacking on TNG. My hacking focus lies here. You are encouraged to try this branch.
The G-Wrap developers - g-wrap-dev@nongnu.org
Made with EmacsWiki!