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

I'm very actively working on this project, which should be released around September 2011.

I'm currently rewriting epsilon from scratch for the fifth time; this time I'm using an ML dialect for the time before bootstrap is possible; the source will then be automatically translated into a relatively simple epsilon personality which, functionality-wise, will be a strict superset of the subset of ML I have used.

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, and once the basic foundation is laid I will move to a public repository on Savannah.

epsilon will be released under the GNU GPL version 3 or later.

Mailing Lists

I will activate the <epsilon-devel@gnu.org> mailing list after the first release. We could also make more lists, if needed.

Announcements about GNU epsilon and most other GNU software are made on <info-gnu@gnu.org>.

To subscribe to these or any GNU mailing lists, please send an empty mail with a Subject: header line of just "subscribe" to the relevant -request list. For example, to subscribe yourself to GNU announcement list, you would send mail to <info-gnu-request@gnu.org> with no body and a Subject: header line of just "subscribe". Or you can use the mailing list web interface.

Maintainer

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

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

back to top

Translations of this page