Is Lambada (the Haskell-JNI bridge) gone? The web-page has disappeared. Using Java seems by far the most obvious way of getting all that GUI/network/SQL/whatever functionality, especially as the Java platform is almost ubiquitous (unlike .NET, Tk, X, GTK+, Win32 GDI, etc.). In this apparent absence I'm writing my own Haskell-JNI bridge. So far, I can get code compiled with GHC 5 on Linux to call static Java methods (such as the 'main' method of an application class) and some other stuff such as create arrays. Phase 1 is to add the rest of the JNI functions (easy, but time-consuming). Phase 2 is to figure out how to create classes on the fly that can call back to Haskell. Fortunately Java does provide functions for loading classes from a byte-array of bytecode. $ ./TestJNI Hello from Java! $ I intend to release it open source at some point. -- Ashley Yakeley, Seattle WA
Is Lambada (the Haskell-JNI bridge) gone? The web-page has disappeared. Using Java seems by far the most obvious way of getting all that GUI/network/SQL/whatever functionality, especially as the Java platform is almost ubiquitous (unlike .NET, Tk, X, GTK+, Win32 GDI, etc.).
I don't think it's in active development anymore, I think Erik Meijer has moved on to bigger and better things. I'm sure someone will correct me if I'm wrong... Erik mailed me a copy of Lambada last summer, but I found it rather limited for what I wanted it for (talking to an LDAP directory). I tried writing my own Lambada replacement using JNI/C/HDirect. This proved to be a nightmare - different bugs on different platforms, etc. I got it working for what I wanted on Linux, but it seg faulted on Sparc Solaris. I also had to add different hacks in for different platforms because of bugs in classpath handling. I eventually resorted to using just C and forgetting Java.
In this apparent absence I'm writing my own Haskell-JNI bridge.
Good Luck ! Chris.
Hi, Ashley Yakeley wrote:
Is Lambada (the Haskell-JNI bridge) gone? The web-page has disappeared. Using Java seems by far the most obvious way of getting all that GUI/network/SQL/whatever functionality, especially as the Java platform is almost ubiquitous (unlike .NET, Tk, X, GTK+, Win32 GDI, etc.).
I'll let Erik and Sigbjorn speak to the status of Lambada. When I asked them about this a few months ago, it was no longer under active development. I have heard mixed reports about its final status. I, too, needed access to some Java libraries (specifically, the Java2D rendering library) from Haskell, so I made my own system (based on GreenCard) that allows Haskell to call Java code via the JNI. While my system is somewhat limited in functionality (Haskell can call Java, but not the other way around, because GreenCard doesn't seem to support that), the system has been fairly robust thus far. I have written interactive animations in Haskell that are rendered using Java2D and displayed in a Java/Swing window. My system includes a tool to do reflection on Java class files to generate Haskell types and function bindings for Java methods (using the Lambada naming / phantom type conventions), and registers all Java objects as "ForeignObj" values in Haskell so that the Java objects are garbage collected when they are unreachable. I've tested my system under Hugs on Windows 2000, RedHat Linux, and Debian Linux. Please email me if you would like an early release 'snapshot' to play with. We are currently working on some enhancements to the reflection-based binding-generator tool, and then we plan to make a more general release. -antony -- Antony Courtney Grad. Student, Dept. of Computer Science, Yale University antony@apocalypse.org http://www.apocalypse.org/pub/u/antony
participants (3)
-
Antony Courtney -
Ashley Yakeley -
C.Ryder