This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Newbie again. Oracle. DLL calls


   From: Bill Gribble <grib@billgribble.com>
   Date: 10 May 2000 08:49:08 -0500

   Maybe this is the wrong impression, but I have the idea that swig is
   really just a Perl interface generator, and any other language support
   is sort of incidental to the main line of development.  We used it in
   gnucash until it became clear that it just wan't going to work for
   guile and none of the developers really seemed to care.  Now I think
   we still have swig in the build process for some specific perl needs,
   but we use g-wrap for building c<-->Guile interfaces.  The nice thing
   about g-wrap is that Rob Browning (a gnucash developer) has taken it
   over, has folded in all our local improvements to the main line, and
   is actively trying to improve it.

   It's strictly for Scheme/C interfacing ATM.

impressions can never be wrong, although it is nice when equivalent
background info and experience produce similar conclusions.

swig's early architecture favored early target branching, which allowed
independent development.  the downside of this approach was that common
problems were solved on a per-front-end basis, w/ little deliberative
factoring.  the outcome was that some targets (tcl, perl, python) were
actively refined while others (guile) languished.  this particular lack
has changed (see CHANGES excerpt below), although the architecture is
not yet properly smashed and reformed (we are still in "early swig"
days, IMHO).

could you tell what problems you encountered?  are there archived
mailing list discussions that describe swig's failings?

thanks,
thi



-----------------------
[CHANGES excerpt. / note: this is from the cvs version. --ttn]

SWIG (Simplified Wrapper and Interface Generator)

4/17/00 : ttn
	  Updated MzScheme support contributed by Oleg Tolmatcev.
	  We now use a `Scheme_Type'-based structure to wrap pointers.

4/11/00 : ttn
	  Incorporated further Guile-support patch by Matthias Koeppe.
	  Typemaps previously deleted have been re-added.  There is now
	  exception handling (see Doc/engineering.html).  `SWIG_init' is now
	  declared extern only for simple linkage.  Some bugs were fixed.

4/06/00 : ttn
	  Incorporated MzScheme support contributed by Oleg Tolmatcev.
	  This includes new directories Lib/mzscheme and Examples/mzscheme.

4/03/00 : ttn
	  Added Examples/guile and children.  This is an adaptation of
	  the same-named directory from the SWIG-1.1p5 distribution.
	  Added Guile-specific section to Doc/engineering.html.

4/02/00 : ttn
	  Incorporated new guilemain.i by Martin Froehlich.
	  Incorporated Guile-support rewrite patch by Matthias Koeppe.
	  The command line option "-with-smobs" enables implementation of
	  pointer type handling using smobs, the canonical mechanism for
	  defining new types in Guile.  Previous implementation (using
	  strings) is at the moment still supported but deprecated.  At
	  some point, "-with-smobs" will be the default and no longer
	  required.

3/13/00 : beazley
          Added purify patches submitted by Ram Bhamidipaty.

3/02/00 : ttn
          Added support for different Guile "linkage" schemes.
	  Currently, "-Linkage hobbit" works.


Version 1.3 Alpha 2 (March 1, 2000)
===================================

2/29/00 : beazley
          Made SWIG ignore the 'mutable' keyword.

2/29/00 : beazley
          Incorporated some patches to the Perl5 module related to
          the -hide option and the destruction of objects.
          Patch submitted by Karl Forner.

2/27/00 : ttn
	  Incorporated Guile support contributed by Matthias Koeppe.
	  This includes a cpp macro in Lib/guile/guile.swg and the
	  entire file Lib/guile/typemaps.i.

2/25/00 : ttn
	  Modified configure.in and Makefile.in files to support
	  non-local build (useful in multi-arch environments).

2/24/00 : ttn
	  Incorporated Guile support contributed by Clark McGrew.
	  This works with Guile 1.3, but since it depends heavily
	  on the gh_ interface, it should work for all later versions.
	  It has not been tested with versions before 1.3.
	  WARNING: Code is unstable due to experimentation by ttn.

2/16/00 : beazley
          A variety of performance improvements to the Python shadow
          class code generation.  Many of these result in substantial
          runtime performance gains.  However, these have come at
          a cost of requiring the use of Python 1.5.2.  For older
          versions, use 'swig -noopt -python' to turn off these
          optimization features.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]