Saturday, October 28, 2006

...et voila!

The promised refresh is now available from the regular Business Objects Labs page for the Quark Framework.

This update includes a large amount of new material. Specifically, we have now opened all the Java SDKs that allow embedding of the Quark Framework in Java applications. Functions/Gems can be searched for, modules loaded/unloaded, adhoc compositions made, evaluated monolithically or in steps with 'continuations' etc. etc.

Downloading the main software ZIP will get you all the new libraries, tools, documents and samples. For convenience (and for those not wishing to register), the documents, CALDoc and Javadoc are separately available/browsable.

We continue to work on further samples and case studies, especially now around how to use the newly published SDKs. Look for announcements about these in the usual places (including here).

As usual, please provide any and all feedback, and I would encourage people to do so on the Quark Framework forum, rather in in private email (though I'm happy to continue receiving this), as it gives everyone a change to participate in group discussion.

Saturday, October 21, 2006

Coming up next...

Hopefully next week we will be releasing an important update to the Quark Framework that we are seeding under our labs license (pending ongoing consideration about the right FOSS approach).

So far, the software we have made available has mostly enabled people to play with the CAL language and tools. We have not yet made available the full Java SDKs that allow the Quark Framework and arbitrary functional logic to be embedded in regular Java apps. Our tools have a way to generate JAR's, but to generate entry points to logic therein requires the SDK.

The next release, therefore, will open the Java SDK, which will allow:

  • Simple evaluation of functional logic included in CAL files or JARs.
  • Dynamic discovery of functions by type (such as "What are all the functions that take an Int and return a String?").
  • Advanced evaluation concepts, such as extracting parts of a result at a time, with the ability to restart a suspension to get more results.
  • Applying and querying for metadata. Includes enumeration of Gems with particular metadata set, or extracting properties set on a specific Gem (again, useful in dynamic programming where such properties might be menu text, usage descriptions, default argument values etc.)
  • Construction of new Gems on-the-fly using a high-level composition API (a programmatic equivalent of using the Gem Cutter)
  • Construction of new Gems and other entities using a lower-level 'source model' API (a programmatic equivalent of using the CAL language)
  • Setting locally constant properties into an ExecutionContext, so that Gems running in that environment can directly access this state.
  • Sharing ExecutionContexts or keeping separate environments depending on the threading strategies in the Java code.
  • Registering objects for clean-up automatically when the functional environment is disposed
  • Creating and disposing of transient modules, for Java code to maintain scratch areas for temporary compositions used as abstract building blocks or specific single-shot transformations.


While the Quark Framework has at its core a serious and general purpose functional language, the Java integration is the whole purpose of its existence and the motivation for Business Objects to create this technology.

Watch this space for more news...

Thursday, October 19, 2006

CAL Eclipse Plug-in is now available

We have made our CAL Eclipse Plug-in available for download via an Eclipse update site. See the main Quark Framework labs page for details. Instructions on how to install the plug-in and how to get set up are to be found in the Eclipse Plug-in release notes, also available on this page.

At this point, the plug-in is relatively simple. It consists of a CAL Editor, a CAL Builder, and a few other features. It continues to be a work in progress, and updates will be posted at appropriate intervals. Some developer tools that do not yet have Eclipse UI, can be used through running ICE in the Eclipse console and issuing commands there. Some examples of this can be seen in the CAL and ICE video.

Wednesday, October 18, 2006

Some samples available in discussion forum

There are a couple of straightforward samples posted in the discussion forum.

The first of these is a simple CAL solver for Sudoku puzzles.
The other sample is a straightforward hybrid example that plots 1D Cellular Automata, and uses CAL to compute the cell generations, while plotting them to a window implemented by regular Java classes (source included).

Saturday, October 14, 2006

Initial Software Download Available

The Research Group at Business Objects is very pleased to announce the availability of the initial release of the Business Objects Quark Framework for Java software. This is available for downloading at the Business Objects Labs site.

This initial release is primarily designed to allow people to get familiar with CAL, the Gem Cutter and the ICE shell. This version does not yet include the Eclipse integration, nor the Java SDK that would allow full integration of Quark logic into Java applications. An update, to be delivered within a week or two, will provide both of these additional capabilities.

As well as the software download, we have made available two more documents:

  • The Gem Cutter Manual: a beginner's guide to using the Gem Cutter and graphical language

  • Effective CAL: a guide to best practices when programming in the CAL language


We would be very happy to receive comments or questions on our new discussion forum that is now live. This is linked to from the labs page (see above link).

P.S. Yes, we realise this was built and released on a Friday the 13th. All we can say is that we tested it and our computers failed to melt down as some might predict. While Business Objects offers no warrantees regarding this software we think you're probably safe giving it a go ;-)

Friday, October 06, 2006

CALDoc now available to browse or download

As promised, we have now published the HTML CALDoc of the CAL library modules that we expect to make available shortly with the initial release of the Quark Framework for Java.

The CALDoc is available to browse or download here

Wednesday, October 04, 2006

Stay tuned

We are working to make the Quark framework and tools (as shown in the videos) available under Business Objects 'early access' Labs license. See Business Objects Labs for details. Hopefully the wait won't be too long (a week or two). In the meantime, we are expecting to share the generated HTML library documentation (within a few days).

Sunday, October 01, 2006

DivX videos for download

I've put up a new page on the .mac site for people to download DivX versions of the original videos posted there as streaming QuickTime 7 movies. This is an attempt to cater for those for whom QuickTime is not an option (Linux users for instance). I don't spend much time in Linux these days, so I may be a little out of touch with what works best there, but hopefully DivX serves the purpose.

Of course, you are looking at a rather large download per file, but the quality seems to be good.

I'm open to suggestions if this doesn't work satisfactorily.