E-on-CL

From Erights

(Difference between revisions)
Jump to: navigation, search
(aparadekto)
m (Reverted edits by 195.2.240.68 (Talk); changed back to last version by Kevin Reid)
Line 45: Line 45:
* <code>bash</code> and <code>perl</code>, if you wish to use the standard startup script <code>clrune</code> (equivalent to <code>rune</code> in [[E-on-Java]].
* <code>bash</code> and <code>perl</code>, if you wish to use the standard startup script <code>clrune</code> (equivalent to <code>rune</code> in [[E-on-Java]].
-
Hey, I can't view your site properly within Opera, I actually hope you look into fixing this.
+
==Previous discussion / timeline==
 +
 
 +
Posts from me on the e-lang list containing information about E-on-CL:
 +
 
 +
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010199.html 2004-12-11: Initial announcement]
 +
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010210.html Early technical notes on the compilation method]
 +
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010208.html Message dispatch and 'native' object definition]
 +
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010241.html 2004-12-20: Status update]
 +
# [http://www.eros-os.org/pipermail/e-lang/2005-April/010563.html 2005-04-16: Repository available]
 +
# [http://www.eros-os.org/pipermail/e-lang/2005-April/010567.html Portability, naming, and usage info]
 +
# [http://www.eros-os.org/pipermail/e-lang/2005-April/010587.html More of the same]
 +
# [http://www.eros-os.org/pipermail/e-lang/2005-May/010605.html 2005-05-14: Reply to MarkM's comments on the source]
 +
# [http://www.eros-os.org/pipermail/e-lang/2005-June/010758.html 2005-06-25: Status update]
 +
# {{XXX|Fill in more recent info here.}}
 +
 
 +
[[Category:E implementations]]

Revision as of 16:53, 27 October 2010

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:

http://switchb.org/svn/e/cl-e/trunk/

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 emakers 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.
  • bash and perl, if you wish to use the standard startup script clrune (equivalent to rune 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
  10. XXX Fill in more recent info here.
Personal tools
more tools