[Haskell] ANN: Efficient, dynamically compiled, lazy functional semantics on JVM, having tight integration with the Java language

Luke Evans luke.evans at businessobjects.com
Thu Sep 28 05:48:21 EDT 2006

Just a quick addendum to this.

In order not to be posting too much (essentially non-Haskell stuff) to this
list, I have created a blog at:

I intend to post most news there as we get technical material (and the
software!) together to share with the community.  We¹ll probably still post
some Haskell comparison stuff here.  This blog is likely to be temporary,
but helps us with early discussion and dissemination of news prior to
anything more permanent being set up.


On 9/26/06 9:22 PM, "Luke Evans" <luke.evans at businessobjects.com> wrote:

> 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
> Haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell/attachments/20060928/2cccfaa8/attachment-0001.htm

More information about the Haskell mailing list