
OK, the SourceForge file release system bug has been fixed, so I put the release files up there. Please download from there rather than from semantic.org. <http://sourceforge.net/project/showfiles.php?group_id=32318&release_id=654 34> Revised, expanded announcement... ------- The first release, 0.1, of Haskell/Java VM Bridge is now available. Haskell/Java VM Bridge allows Haskell programs access to the Java Virtual Machine. 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. This release should be 'beta' quality, but has undergone little testing. You will need: * An x86 machine running some form of Unix; * GHC 5.02 or later; * The appropriate JVM, installed in the appropriate place: - IBM JDK/JRE 1.3 for x86, installed in /usr/lib/ibm-java/IBMJava2-13/ - Blackdown Port of Sun's JRE 1.3/Sun JDK 1.3 for x86, installed in /usr/lib/j2sdk1.3/ and /usr/lib/j2re1.3/ No documentation is currently available, sorry. Two examples have been included: a trivial "hello world" program, and 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... and of course the source is available from SourceForge CVS. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jvm-bridge/source/ Be sure to download the correct .tar.gz file for your Java VM. Simple installation instructions are included in the file. <http://sourceforge.net/project/showfiles.php?group_id=32318&release_id=654 34> Haskell/JVM Bridge and source code is licensed under the GNU Lesser GPL. http://sourceforge.net/projects/jvm-bridge/ Future plans: * documentation * port to Cygwin * port to Darwin/OS X (waiting on GHC) * use of Java 1.4 API (waiting on Sun, though use of beta versions is possible) -- Ashley Yakeley, Seattle WA