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>.
