E-on-CL

This is an implementation of E|E programming language in Common Lisp.

There are as yet no releases, but the source is available in a Git repository:


 * https://github.com/kpreid/e-on-cl

Status, Description
The full E language is implemented, by compilation to Common Lisp and execution by the underlying CL implementation. The libraries are incomplete.

E-on-CL requires E-on-Java for:
 * Support for the E parser (which is written in ANTLR.
 * Parts of the library implementation (those s which are not different)

There is Updoc and a REPL, written in CL.

IO is limited to:
 * Writing text to stdout and stderr.
 * Reading and writing files as text from absolute pathnames.
 * TCP sockets, as octets or a small selection of character encodings.
 * Unsafely accessing the underlying Lisp system.

Differences from E-on-Java
Support for EIO and  auditing.

throw and CatchExpr have been changed to reduce information leakage: see sealed throw.

is replaced with, a safer interface.

Updoc does not ignore the return value of expressions when the updoc script omits them.

News
For major announcements, watch the e-lang mailing list. For individual changes to the repository, E-on-CL is monitored on cia.navi.cx which offers status pages, RSS feeds, and IRC messages.

Requirements

 * A Common Lisp implementation. E-on-CL is designed to be portable, but requires many nonstandard features for full operation. I use SBCL, and therefore its support is the most complete. Other implementations E-on-CL includes some support for, roughly in order of completeness, are Clozure CL, CMUCL, ABCL, CLISP, LispWorks, and Allegro CL.  Whether E-on-CL works on any given implementation (other than SBCL) will vary as I make changes. If it doesn&rsquo;t run on an implementation you&rsquo;d like to use, please let me know and I&rsquo;ll see what can be done about it.
 * The asdf-installable libraries bordeaux-threads, cl-ppcre, cl-yacc, cl-fad, genhash, rt, and trivial-garbage.
 * An existing E-on-Java installation.
 * One of either:
 * the E-on-Java source distribution, placed at , or
 * the asdf-installable libraries ZIP and Salza, which will be used to extract  files from.
 * and, if you wish to use the standard startup script   (equivalent to   in E-on-Java.

Previous discussion / timeline
Posts from me on the e-lang list containing information about E-on-CL:


 * 1) 2004-12-11: Initial announcement
 * 2) Early technical notes on the compilation method
 * 3) Message dispatch and 'native' object definition
 * 4) 2004-12-20: Status update
 * 5) 2005-04-16: Repository available
 * 6) Portability, naming, and usage info
 * 7) More of the same
 * 8) 2005-05-14: Reply to MarkM's comments on the source
 * 9) 2005-06-25: Status update