Share

Java VM Bridge for Functional Languages

Project News for Java VM Bridge for Functional Languages

  • Repository moved to darcs

    The CVS here on SourceForge is out of date. The repository has been moved to darcs:

    darcs get http://jvm-bridge.sourceforge.net/haskell-jvm-bridge

    2007-03-12 06:12:18 UTC by ashley-y

  • 0.3 on Mac OS X Issues

    The build on Mac OS X is broken due to use of features of later versions of "ls" and "which". If you happen to be using fink (like me), installing the "fileutils" package will fix this.

    A 0.3.1 release that fixes this issue is forthcoming: the fix has already been checked in to CVS, so you can use that too.

    2004-05-07 10:13:51 UTC by ashley-y

  • Haskell/Java VM Bridge 0.3 Released

    Release 0.3 of Haskell/Java VM Bridge is now available in source-code form.

    New in Version 0.3:

    * Windows support (thanks to Thomas Pasch)

    * Can now work with third-party Java libraries

    * Minor bug fixes

    2004-04-19 05:24:10 UTC by ashley-y

  • Haskell/Java VM Bridge 0.2.1 Released

    Release 0.2.1 of Haskell/Java VM Bridge is now available in source-code form.

    0.2.1 is a minimal update to work with GHC 6.0. If you are using GHC 5.04, you should use the 0.2 release instead.


    Haskell/Java VM Bridge allows Haskell programs access to the Java Virtual Machine. It comes in two parts: the 'Native' part, that abstracts away differences in the various Java VMs, and the 'Haskell' part that provides a Haskell API. The Native part is not Haskell-specific, and could potentially be used by other languages wishing to access the Java VM.

    Features include:

    * Calling of Java methods, access to fields, array-handling;

    * Integration of garbage collectors;

    * Reconciliation of exception models;

    * Reconciliation of thread models, including 'synchronized' monitor support and the ability to fork Haskell actions as Java threads;

    * Strong typing for Java classes and method argument lists (as tuples), and use of Haskell lists as arrays;

    * Creation of Java classes 'on the fly' (using DefineClass and the Java Class File Format) that can have Haskell callback methods;

    * Lifted monads which do all the necessary JNI class and method/field ID preloading and 'JNIEnv'-pointer variable handling for you -- these can be automatically generated via a tool (MakeJVMModule);

    * Layered design includes lower-level IO-based interface;

    * Automatic generation of modules for Java API classes;

    * All relevant imports, flags and libraries etc. handled by a single GHC package 'javavm';

    * No 'unsafe' Haskell calls or pure function FFI anywhere;

    * Easy to port to new Java VMs.

    This release should be 'beta' quality, but has undergone little testing.

    You will need:

    * An x86 machine running some form of Unix, or a Mac OS X machine;

    * GHC 6.0 or later;

    * A Java VM. It's been tested only with Sun's JVM, but should (may?) work with a number of others.

    Haddock documentation is currently blocked on a bug in Haddock ("implicit parameters"). Should that be fixed, you will be able to build API documentaion by doing "make doc".

    Some simple examples have been included such as a program that shows a Java Frame containing an instance of a Haskell-defined subclass of Canvas that has a Haskell 'paint' method that draws an oval. You should be able to figure out most of it from that.

    Haskell/JVM Bridge and source code is licensed under the GNU Lesser GPL.

    <http://sourceforge.net/projects/jvm-bridge/>


    Future plans:

    * port to Cygwin

    * use hierarchical module structure

    * separate out pure (non-FFI) Haskell into a separate package

    * better typing for the IO-based layer

    2003-07-23 23:29:59 UTC by ashley-y

  • 0.2 Not Compatible with GHC 6.0

    JVM-Bridge 0.2 is not compatible with GHC 6.0 due to changes in the FFI API in GHC. Please use GHC 5.04.* instead.

    2003-06-09 23:33:50 UTC by ashley-y