From: Alexey B. <bes...@us...> - 2008-11-08 01:41:59
|
Update of /cvsroot/maxima/site-xml In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv3226 Modified Files: lisp.xml Log Message: Extended notes on Lisp implementations (copied from the wiki) Index: lisp.xml =================================================================== RCS file: /cvsroot/maxima/site-xml/lisp.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- lisp.xml 18 Oct 2008 06:54:28 -0000 1.4 +++ lisp.xml 8 Nov 2008 01:41:52 -0000 1.5 @@ -10,52 +10,55 @@ </head> <body> -<table class="bordered-table"> -<tbody> -<tr> -<th>Implementation</th> -<th>Readline support</th> -<th>Linux</th> -<th>Windows</th> -<th>Notes</th> -</tr> -<tr> -<th><a href="http://clisp.cons.org/">Clisp</a></th> -<td class="ycell">+</td> -<td class="ycell">+</td> -<td class="ycell">+</td> -<td></td> -</tr> -<tr> -<th><a href="http://www.gnu.org/software/gcl/"><acronym title="GNU Common Lisp">GCL</acronym></a></th> -<td class="ycell">+</td> -<td class="ycell">+</td> -<td class="ycell">+</td> -<td>Lacking some bits for ANSI Common Lisp compliance. The Maxima package for Windows is compiled with GCL.</td> -</tr> -<tr> -<th><a href="http://www.cons.org/cmucl/">CMUCL</a></th> -<td class="yncell"><a href="http://utopia.knoware.nl/~hlub/rlwrap/">patch</a></td> -<td class="ycell">+</td> -<td class="ncell">-</td> -<td></td> -</tr> -<tr> -<th><a href="http://sbcl.sourceforge.net/"><acronym title="Steel Bank Common Lisp">SBCL</acronym></a></th> -<td class="yncell"><a href="http://utopia.knoware.nl/~hlub/rlwrap/">patch</a></td> -<td class="ycell">+</td> -<td class="ncell">-</td> -<td>A fork of CMUCL.</td> -</tr> -<tr> -<th><a href="http://franz.com/">Allegro CL</a></th> -<td class="ucell">?</td> -<td class="ycell">+</td> -<td class="ycell">+</td> -<td>Commercial. Compiling Maxima with limited free version may be tricky.</td> -</tr> -</tbody> -</table> +<p>Clisp, CMUCL, Scieneer Common Lisp (SCL), GCL (ANSI-enabled only) and SBCL can compile and execute Maxima. Allegro Common Lisp and OpenMCL might also work, but have not been fully tested.</p> + +<p>Ports to other ANSI Common Lisps should be straightforward and are welcome; please post a message on the <a href="/maximalist.html">Maxima mailing list</a> if you are interested in working on a port.</p> + +<!--For specific Maxima and Lisp version number combinations, see the ports page at the Maxima wiki: http://maxima.sourceforge.net/wiki/index.php?Maxima%20ports--> + +<p>When Maxima is recompiled, the Lisp implementation is selected by an argument of the form <code>--enable-foolisp</code> for the configure script. <kbd>./configure --help</kbd> shows a list of the Lisp types recognized by <kbd>configure</kbd> (among other options). Always specify the Lisp type; configure tries to autodetect the Lisp type if it is not specified, but it has been reported that autodetection can fail.</p> + +<h3><a href="http://clisp.cons.org/">Clisp</a></h3> + +<p>Clisp includes GNU readline support, so Maxima has advanced command-line editing facilities when built with it.</p> + +<p>Clisp is compiled to bytecodes, so Maxima running on Clisp is substantially slower than on Lisps compiled to machine instructions. Clisp computes floating-point operations in software, so floating-point operations in Clisp are much slower than in Lisps which make use of hardware instructions for floating-point operations. On the other hand, Clisp makes use of the GMP library for arbitrary- precision integer computations.</p> + +<p>There are Clisp implementations for many platforms including MS Windows and Unix-like systems.</p> + +<h3><a href="http://cmucl.cons.org/">CMUCL</a></h3> + +<p>CMUCL is a fast option for Maxima on platforms where it is available. The rmaxima front-end provides advanced line-editing facilities for Maxima when compiled with CMUCL. rlwrap is available from <a href="http://utopia.knoware.nl/~~hlub/uck/rlwrap">http://utopia.knoware.nl/~~hlub/uck/rlwrap</a>.</p> + +<p>CMUCL versions 18e and 19a are known to work.</p> + +<p>There are CMUCL implementations only for Unix-like systems (not MS Windows).</p> + +<h3><a href="http://www.scieneer.com/scl/">Scieneer Common Lisp (SCL)</a></h3> + +<p>Scieneer Common Lisp (SCL) is a fast option for Maxima for a range of Linux and Unix platforms. The SCL 1.2.8 release and later are supported. SCL offers a lower case, case sensitive, version which avoids the Maxima case inversion issues with symbol names. Tested front end options are: maxima emacs mode available in the interfaces/emacs/ directory, the <a href="http://members3.jcom.home.ne.jp/imaxima/">Emacs imaxima mode</a>, and <a href="http://www.texmacs.org/">TeXmacs</a>.</p> + +<h3><a href="http://savannah.gnu.org/projects/gcl/">GCL</a></h3> + +<p>GCL versions starting with 2.4.3 can be built with readline support, so Maxima has advanced command-line editing facilities when built with it. GCL produces a fast Maxima exectuable.</p> + +<p>Only the ANSI-enabled version of GCL works with Maxima, i.e., when GCL is built, it must be configured with the <code>--enable-ansi</code> flag, i.e., execute <kbd>./configure --enable-ansi</kbd> in the build directory before executing <kbd>make</kbd>.</p> + +<p>Whether GCL is ANSI-enabled or not can be determined by inspecting the banner which is printed when GCL is executed; if ANSI-enabled, the banner should say âANSIâ. Also, the special variable <code>FEATURES</code> should include the keyword <code>:ANSI-CL</code>.</p> + +<p>There are GCL implementations for many platforms including MS Windows and Unix-like systems.</p> + +<h3><a href="http://sbcl.sourceforge.net/">SBCL</a></h3> + +<p>SBCL is a fork of CMUCL which differs in some minor details, but most notably, it is simpler to rebuild SBCL than CMUCL.</p> + +<p><kbd>rmaxima</kbd> is recommended for use with SBCL. See CMUCL above.</p> + +<p>There are SBCL implementations for Linux, several *BSD systems, Solaris, Mac OS X and MS Windows.</p> + +<h3><a href="http://www.franz.com/products/allegrocl/">Allegro CL</a> and <a href="http://openmcl.clozure.com/">OpenMCL</a></h3> + +<p>Maxima should work with Allegro Common Lisp and OpenMCL, but only limited testing has been done with these Lisp implementations. User feedback would be welcome.</p> <h2>Worthwhile Lisp Sites</h2> |