E-on-CL
From Erights
m |
Kevin Reid (Talk | contribs) m (Reverted edits by ShannonPatterson (Talk); changed back to last version by Kevin Reid) |
||
Line 38: | Line 38: | ||
*A Common Lisp implementation.<p>E-on-CL is designed to be portable, but requires many nonstandard features for full operation. I use [http://www.sbcl.org/ SBCL], and therefore its support is the most complete. Other implementations E-on-CL includes some support for, roughly in order of completeness, are [http://ccl.clozure.com/ Clozure CL], [http://www.cons.org/cmucl/ CMUCL], [http://www.armedbear.org/abcl.html ABCL], [http://clisp.cons.org/ CLISP], [http://www.lispworks.com/downloads/index.html LispWorks], and [http://www.franz.com/downloads/trial.lhtml Allegro CL]. </p><p>Whether E-on-CL works on any given implementation (other than SBCL) will vary as I make changes. If it doesn’t run on an implementation you’d like to use, please let me know and I’ll see what can be done about it.</p> | *A Common Lisp implementation.<p>E-on-CL is designed to be portable, but requires many nonstandard features for full operation. I use [http://www.sbcl.org/ SBCL], and therefore its support is the most complete. Other implementations E-on-CL includes some support for, roughly in order of completeness, are [http://ccl.clozure.com/ Clozure CL], [http://www.cons.org/cmucl/ CMUCL], [http://www.armedbear.org/abcl.html ABCL], [http://clisp.cons.org/ CLISP], [http://www.lispworks.com/downloads/index.html LispWorks], and [http://www.franz.com/downloads/trial.lhtml Allegro CL]. </p><p>Whether E-on-CL works on any given implementation (other than SBCL) will vary as I make changes. If it doesn’t run on an implementation you’d like to use, please let me know and I’ll see what can be done about it.</p> | ||
- | * The [http://www.cliki.net/asdf-install asdf-install]able | + | * The [http://www.cliki.net/asdf-install asdf-install]able libraries [http://www.cliki.net/bordeaux-threads bordeaux-threads], [http://www.cliki.net/cl-ppcre cl-ppcre], [http://www.cliki.net/cl-yacc cl-yacc], [http://www.cliki.net/cl-fad cl-fad], [http://www.cliki.net/genhash genhash], [http://www.cliki.net/rt rt], and [http://www.cliki.net/trivial-garbage trivial-garbage]. |
* An existing [http://www.erights.org/download/ E-on-Java] installation. | * An existing [http://www.erights.org/download/ E-on-Java] installation. | ||
* One of either: | * One of either: |
Revision as of 20:05, 30 August 2011
This is an implementation of E programming language in Common Lisp.
There are as yet no releases, but the source is available in a Subversion repository:
Contents |
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
emaker
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 DeepFrozen
auditing.
throw() and CatchExpr have been changed to reduce information leakage: see sealed throw.
makeEProxyResolver
is replaced with makeProxy
, 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’t run on an implementation you’d like to use, please let me know and I’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
$EHOME/src
(XXX This is an inappropriate location), or - the asdf-installable libraries ZIP and Salza, which will be used to extract
.emaker
files from$EHOME/e.jar
.
- the E-on-Java source distribution, placed at
-
bash
andperl
, if you wish to use the standard startup scriptclrune
(equivalent torune
in E-on-Java.
Previous discussion / timeline
Posts from me on the e-lang list containing information about E-on-CL:
- 2004-12-11: Initial announcement
- Early technical notes on the compilation method
- Message dispatch and 'native' object definition
- 2004-12-20: Status update
- 2005-04-16: Repository available
- Portability, naming, and usage info
- More of the same
- 2005-05-14: Reply to MarkM's comments on the source
- 2005-06-25: Status update
- XXX Fill in more recent info here.