For thirty years, the Free Software Foundation has been seen as a guiding light for the free software movement, fighting for user freedom.

Help keep our light burning brightly by donating to push us towards our goal of raising $450,000 by January 31st.

$450k
314k so far

GNU epsilon

Introduction to GNU epsilon

This is a web page about GNU epsilon, a new extensible programming language.

Programming languages should be designed to be growable by users, built upon a very small kernel language and a set of syntactic abstraction features aiming at rewriting complex programs into a combination of simple forms which are easy to analyse, reason upon and implement, according to a user-supplied specification directing syntax, control, static analysis and optimization.
The kernel language alone is too minimal to be directly useful as an high-level tool, but extended languages can be built on top of it; such "personalities" (the name hints at an analogous concept in operating system theory) may venture very far from the kernel. The ability of easily expressing different personalities encourages experimentation and innovation.

The epsilon distribution will contain both the basic infrastructure for building personalities from an "ε₀" kernel, and one powerful predefined personality, particularly suitable for symbolic computation.

The implementation will consist of an interpreter, a virtual machine, bytecode and native compilers, and a runtime system including a parallel garbage collector targeted at multicore machines.

Current status

The current implementation is my fifth rewrite from scratch; I'm bootstrapping from Guile, plus some automatically-translated code originally written in ML.

The code I have right now is heavily experimental and not suitable for public use yet; I now think it makes little sense to start a community effort before a reasonably complete implementation exists. Since I'm the only developer and I absolutely want to get the basic ideas right I'm currently following a cathedral development model; this will change in the future.

Most of the code is already available in the bzr repository on Savannah. I also have some more modules ready but not yet in the repository, notably the parallel garbage collector; they will be added soon.

epsilon is released under the GNU GPL version 3 or later.

Mailing Lists

We can discuss about epsilon's development on the <epsilon-devel@gnu.org> mailing list. I can easily make more lists if needed, but I want to keep administration to a minimum for the time being.

Maintainer

GNU epsilon is written and maintained by Luca Saiu <positron@gnu.org>.

 [FSF logo] “Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.

back to top

Translations of this page