ANNOUNCE: GCJNI, a Java Native Interface forHaskell

Antony Courtney
Mon, 04 Mar 2002 09:04:13 -0500

I am pleased to announce release 1.1 of GCJNI.

GCJNI is a library that allows Haskell to invoke Java code via the
Java Native Interface (JNI). The implementation uses GreenCard to make
the JNI (a C language interface) available to Haskell. GCJNI includes
a few convenient features, such as:

   - Integration of the Haskell and Java garbage collectors, so that
     Java objects are garbage collected when they are no longer
     accessible from Haskell.
   - Type class based overloading, which makes it easy to pass common
     types (like Int, Float and String) to or from Java code.
   - A tool (GenBindings) which uses Java reflection on a set of
     compiled Java classes to generate a Haskell module with a simple,
     high-level, type-safe interface to the underlying Java code.

GCJNI has been succesfully tested using both hugs98 and ghc under both
Linux and Windows.  The distribution includes a unified Makefile
system and detailed release notes that makes it very easy to
configure, compile and install for any supported combination
of Haskell implementation and platform.

More information (including pointers to the relevant distributions) is
available from the GCJNI web page at:

Bug reports and feedback should be sent to



   Release 1.1 (03-March-2002):
     * Substantial improvements to configuration and build process.
       Unified Makefile structure for Linux and Windows using Cygwin
       and GNU make.

Antony Courtney
Grad. Student, Dept. of Computer Science, Yale University