Greetings denizens of the Haskell mailing list! Though this is not strictly an announcement about Haskell, it might be of interest to a number of folk here.
The Research Group here at Business Objects has been beavering away since 1999 on a suite of technologies to allow us to represent certain kinds of business logic as reusable, composable pieces. One of the primary requirements was that a general runtime for such objects be embeddable within the Java environment (i.e. pure Java). These pieces of business logic (which we called "Gems" to give them a nice friendly face) are declarative 'functional' objects. So, the side effect of focusing on our goals was the creation of a high performance, general purpose functional language and runtime for the Java platform. Here are a few 'highlights' from our feature list: - A lazily evaluated, strictly-typed language called CAL, with many similarities to Haskell - A compiler capable of generating Java bytecode with efficient schemes - Many optimisations specific to targeting a dynamic, OO language platform, such as the JVM - A graphical language and tooling for interactively developing and testing Gems (also a good teaching tool) - Debugging features, with value inspection that doesn't force evaluation - Eclipse integration (still in progress) - Metadata on CAL entities - CALDoc (source embedded documentation) - Fully multithreaded compiler and runtime - Control of evaluation from Java, if required (suspension, resumption, exploring different parts of the result) - Dynamic compilation - use SDK to create Gems at runtime, or create ad hoc compositions that might represent specific data flows in an application - Easy integration to use Java types in CAL and to call regular Java logic - Exception support - Localisation and Internationalisation support Over the next few weeks, we will be publishing more technical information about our framework (codenamed Quark). As Business Objects is not a language or development tools vendor, we are investigating the possibilities around open sourcing the general language machinery. As part of figuring out the best way to approach this, we would be interested in hearing from anyone with a possible interest in this sort of thing (for teaching, application development, research, etc.). While we gather useful collateral, I have made a couple of videos available that we had to hand and could share quickly. Some of the content is designed for those new to the functional paradigm, but the videos do show quite a range of tool and language features. To take a look at these, point your browser at: http://homepage.mac.com/luke_e In precis, the videos demonstrate the following: Intro to Gems (parts 1 and 2) Some of the regular things you expect functional languages to do, created interactively in our graphical language designer called the Gem Cutter. We find this tool is used quite a bit by developers for experimentation and orientation when reasoning from scratch about problems. In the demo you can see real-time typing, Intellicut (our system for proposing legal compositions), a graphical way to handle partial application and recursion and a number of other features that may be interesting. CAL and ICE Shell This video is a whistlestop tour through some CAL language features as well as some of the features of the framework (as exposed through the interactive shell, ICE). In this demonstration, you can see some aspects of CAL syntax, the interface to Java types and methods, a quick demo of some tracing/debugging, a look at CALDoc, records/tuples, refactoring and some brief discussion on a range of other topics. I may post other videos over the next few days and weeks, along with papers, manuals and other artifacts, but I'll spare everyone from further announcements here lest that bugs people. [Videos are Quicktime/H264, if you aren't in the habit of watching Quicktime I believe most browsers will help you to get and install the plug-in. I can send people other formats on request, or indeed, at the original resolution which is easier to see!] Regards to all, Luke Evans Chief Scientist, VP Research. Business Objects _______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
