[JVM-B] ANNOUNCE: JVM-Bridge 0.3 released
Status: Beta
Brought to you by:
ashley-y
From: Ashley Y. <as...@se...> - 2004-04-19 06:48:31
|
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 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. You will need: * An x86 machine running some form of Unix, or a Mac OS X machine, or a Windows machine with MinGW installed (see Building.win32 for notes on this); * GHC 6.2.1 or later; Earlier versions of GHC may work, but there's a bug in ghc-pkg in GHC 6.2 that causes package problems and may necessitate editing your package.conf by hand. Use 6.2.1 instead. * A Java VM. Haddock documentation is available by running "make doc". There are currently no annotations however. 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: * use hierarchical module structure * separate out pure (non-FFI) Haskell into a separate package -- Ashley Yakeley, Seattle WA |