ANNOUNCE: GCJNI - Java Native Interface for Haskell

Antony Courtney
Sun, 16 Dec 2001 15:53:08 -0500

I am pleased to announce an experimental release 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. Binary distributions are provided for all for of
these (compiler, platform) combinations.

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

Bug reports and feedback should be sent to


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