<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.erights.org/mediawiki/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.erights.org/mediawiki/index.php?feed=atom&amp;target=ShannonPatterson&amp;title=Special%3AContributions</id>
		<title>Erights - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.erights.org/mediawiki/index.php?feed=atom&amp;target=ShannonPatterson&amp;title=Special%3AContributions"/>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/wiki/Special:Contributions/ShannonPatterson"/>
		<updated>2026-04-25T22:44:46Z</updated>
		<subtitle>From Erights</subtitle>
		<generator>MediaWiki 1.15.5-7</generator>

	<entry>
		<id>http://wiki.erights.org/wiki/E-on-CL</id>
		<title>E-on-CL</title>
		<link rel="alternate" type="text/html" href="http://wiki.erights.org/wiki/E-on-CL"/>
				<updated>2011-08-30T09:30:56Z</updated>
		
		<summary type="html">&lt;p&gt;ShannonPatterson:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an implementation of [[E|E programming language]] in Common Lisp.&lt;br /&gt;
&lt;br /&gt;
There are as yet no releases, but the source is available in a [http://subversion.tigris.org/ Subversion] repository:&lt;br /&gt;
&lt;br /&gt;
: http://switchb.org/svn/e/cl-e/trunk/&lt;br /&gt;
&lt;br /&gt;
==Status, Description==&lt;br /&gt;
&lt;br /&gt;
The full E language is implemented, by compilation to Common Lisp and execution by the underlying CL implementation. The libraries are incomplete.&lt;br /&gt;
&lt;br /&gt;
E-on-CL requires [[E-on-Java]] for:&lt;br /&gt;
* Support for the E parser (which is written in [http://www.antlr.org/ ANTLR].&lt;br /&gt;
* Parts of the library implementation (those &amp;lt;code&amp;gt;[[emaker]]&amp;lt;/code&amp;gt;s which are not different)&lt;br /&gt;
&lt;br /&gt;
There is Updoc and a REPL, written in CL.&lt;br /&gt;
&lt;br /&gt;
IO is limited to:&lt;br /&gt;
* Writing text to stdout and stderr.&lt;br /&gt;
* Reading and writing files as text from absolute pathnames.&lt;br /&gt;
* TCP sockets, as octets or a small selection of character encodings.&lt;br /&gt;
* Unsafely accessing the underlying Lisp system.&lt;br /&gt;
&lt;br /&gt;
===Differences from E-on-Java===&lt;br /&gt;
&lt;br /&gt;
Support for EIO and &amp;lt;code&amp;gt;DeepFrozen&amp;lt;/code&amp;gt; auditing.&lt;br /&gt;
&lt;br /&gt;
throw() and CatchExpr have been changed to reduce information leakage: see [[sealed throw]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;makeEProxyResolver&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;[[makeProxy]]&amp;lt;/code&amp;gt;, a safer interface.&lt;br /&gt;
&lt;br /&gt;
Updoc does not ignore the return value of expressions when the updoc script omits them.&lt;br /&gt;
&lt;br /&gt;
==News==&lt;br /&gt;
&lt;br /&gt;
For major announcements, watch [http://www.eros-os.org/mailman/listinfo/e-lang the e-lang mailing list]. For individual changes to the repository, [http://cia.navi.cx/stats/project/e-on-cl E-on-CL is monitored on cia.navi.cx] which offers status pages, RSS feeds, and IRC messages.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
*A Common Lisp implementation.&amp;lt;p&amp;gt;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].  &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Whether E-on-CL works on any given implementation (other than SBCL) will vary as I make changes. If it doesn&amp;amp;rsquo;t run on an implementation you&amp;amp;rsquo;d like to use, please let me know and I&amp;amp;rsquo;ll see what can be done about it.&amp;lt;/p&amp;gt;&lt;br /&gt;
* The [http://www.cliki.net/asdf-install asdf-install]able &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://mycaal.com/ &amp;lt;span style=&amp;quot;color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;&amp;quot;&amp;gt;loan modification&amp;lt;/span&amp;gt;] 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].&lt;br /&gt;
* An existing [http://www.erights.org/download/ E-on-Java] installation.&lt;br /&gt;
* One of either:&lt;br /&gt;
** the E-on-Java source distribution, placed at &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;$EHOME&amp;lt;/var&amp;gt;/src&amp;lt;/code&amp;gt; ({{XXX|This is an inappropriate location}}), or&lt;br /&gt;
** the [http://www.cliki.net/asdf-install asdf-install]able libraries [http://www.cliki.net/ZIP ZIP] and [http://www.cliki.net/Salza Salza], which will be used to extract &amp;lt;code&amp;gt;.emaker&amp;lt;/code&amp;gt; files from &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;$EHOME&amp;lt;/var&amp;gt;/e.jar&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;, if you wish to use the standard startup script &amp;lt;code&amp;gt;clrune&amp;lt;/code&amp;gt; (equivalent to &amp;lt;code&amp;gt;rune&amp;lt;/code&amp;gt; in [[E-on-Java]].&lt;br /&gt;
&lt;br /&gt;
==Previous discussion / timeline==&lt;br /&gt;
&lt;br /&gt;
Posts from me on the e-lang list containing information about E-on-CL:&lt;br /&gt;
&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010199.html 2004-12-11: Initial announcement]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010210.html Early technical notes on the compilation method]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010208.html Message dispatch and 'native' object definition]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2004-December/010241.html 2004-12-20: Status update]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2005-April/010563.html 2005-04-16: Repository available]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2005-April/010567.html Portability, naming, and usage info]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2005-April/010587.html More of the same]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2005-May/010605.html 2005-05-14: Reply to MarkM's comments on the source]&lt;br /&gt;
# [http://www.eros-os.org/pipermail/e-lang/2005-June/010758.html 2005-06-25: Status update]&lt;br /&gt;
# {{XXX|Fill in more recent info here.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:E implementations]]&lt;/div&gt;</summary>
		<author><name>ShannonPatterson</name></author>	</entry>

	</feed>