about me





Elk logo

Elk Scheme - the Extension Language Kit

This page is about my work on the Elk Scheme interpreter and extension language. You can find more about Elk on its original homepage. The Elk author, Oliver Laumann, has stopped working on Elk years ago, and I have taken over the project, merging contributed patches and fixing known bugs.

What is Elk?

Elk is an implementation of the Scheme programming language. In contrast to existing, stand-alone Scheme systems Elk has been designed specifically as an embeddable, reusable extension language subsystem for applications written in C or C++. Elk is free software, and can be used, modified and distributed in almost any way. See the licence file for the exact conditions.

Developers using Elk can deliver applications with different components written in different languages, such as an efficient core written in C or C++ and an extensible user interface layer implemented in Scheme. To help building hybrid application architectures, Elk supports a tightly-knit interworking of the C/C++ parts of applications with Scheme code.

Elk is also useful as a stand-alone Scheme implementation, in particular as a platform for rapid prototyping of X11-based Scheme programs.

Development status

Changes from Elk 3.99.7 to Elk 3.99.8:

The full NEWS file contains all release information since version 1.3. You can also download the latest complete changelog.

Download Elk

Elk 3.99.8 is a pre-release of Elk 4.0. Please test extensively and report problems to sam@hocevar.net.

Elk’s development is managed using Subversion. The svn://svn.zoy.org/elk/ repository can be browsed using the web interface, or directly with the Subversion client. For instance, to retrieve the main trunk, use this command:

svn co svn://svn.zoy.org/elk/trunk elk-trunk

To retrieve a specific tag, e.g. 3.99.4, use this:

svn co svn://svn.zoy.org/elk/tags/3.99.4 elk-3.99.4


The mailing-list for Elk users and developers is elk@lists.zoy.org. To subscribe, send an email to ecartis@lists.zoy.org containing the words "subscribe elk". To unsubscribe, just use "unsubscribe elk".

The mailing-list archives are also available online.


The documentation has not been updated yet. See the original webpage for the Elk 3.0 documentation.

Elk has a Freshmeat project entry, you can monitor it to check for new releases.

The Schemers web site is a comprehensive collection of Scheme resources. Other interesting free Scheme implementations include Guile, MIT Scheme, SCM, RScheme, DrScheme and Kawa.