CAL Eclipse Plug-in

The Quark Framework was conceived as a suite of technologies to allow the representation of 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 t

CAL Eclipse Plug-in

CAL Eclipse Plug-in

     

The Quark Framework was conceived as a suite of technologies to allow the representation of 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.  A critical feature is tight integration with the Java language to enable logic best expressed in more algebraic forms (especially data treatments and transformations) to be integrated with regular OO application logic.

As Business Objects is not a general development tools vendor, we have decided to release the foundational technology openly to the wider community interested in its capabilities.  The framework and core tooling has therefore been badged as Open Quark and is released with sources under a flexible BSD-style license.

Development of Open Quark continues apace and we are eager to hear from organizations and individuals who may be interested in using Open Quark; whether for research, teaching or commercial purposes.  We are also getting set up to accommodate code contributions from those wishing to assist with the ongoing evolution of the framework and tools.

Here are a few 'highlights' from our feature list:

  • A lazily evaluated, strictly-typed language called CAL, with many similarities to Haskell
  • Full, dynamic, control of function composition from pure Java (without using CAL)
  • A compiler capable of generating Java bytecode with efficient schemes
  • Many optimizations 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)

Know detail by this link.

http://labs.businessobjects.com/cal/