E-on-CL

From Erights

Revision as of 17:30, 23 September 2009 by 204.124.183.66 (Talk)
Jump to: navigation, search

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:

svn://slimy.com/cl-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 <abbr title="Steel Bank Common Lisp SBCL</abbr>, 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.

An important building block is the categorisation stop of existence, american state stop the physical and the virtual worldly concern stop, for the secure authentication of products. And even personal communication and one-on-one email stop is now on a regular basis stop <a href=af>free Propecia without prescription</a> brute stop filtered at the server level.

Personal tools
more tools