[327e91]: lisp.xml Maximize Restore History

Download this file

lisp.xml    92 lines (60 with data), 6.5 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="main.xsl"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="lisp" xml:lang="en">
<head>
<title>Lisp Implementations</title>
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"/>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/"/>
<meta name="DC.identifier" scheme="DCTERMS.URI" content="http://maxima.sourceforge.net/lisp.html"/>
</head>
<body>
<p>CMUCL, SBCL, Clisp, GCL (ANSI-enabled only), and Scieneer Common Lisp (SCL) 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>
<p>For specific Maxima and Lisp version number combinations, see the <a href="/ports.html">ports page</a>.</p>
<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://www.cons.org/cmucl/">CMUCL</a></h3>
<p>CMUCL is a fast option for Maxima on platforms where it is available. CMUCL versions 18e and 19a are known to work. There are CMUCL implementations only for Unix-like systems (not MS Windows).</p>
<p>The <kbd>rmaxima</kbd> front-end provides advanced line-editing facilities via <a href="http://utopia.knoware.nl/~hlub/uck/rlwrap">rlwrap</a>.</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. There are SBCL implementations for Linux, several *BSD systems, Solaris, Mac OS X and MS Windows.</p>
<p><kbd>rmaxima</kbd> is recommended for use with SBCL.</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://www.gnu.org/software/gcl/">GCL</a></h3>
<p>GCL versions starting with 2.4.3 can be built with <code>readline</code> 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>. 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>
<p><em>N.B. Building GCL could be tricky. Also you may need the CVS code instead of tarball releases.</em></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://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>
<p><em><sup>*</sup> Allegro CL and SCL are commercial non-free software.</em></p>
<h2>Worthwhile Lisp Sites</h2>
<div class="catit">
<h3><a href="http://www.lisp.org/">The Association of LISP Users</a></h3>
<p>There are few better starting points for Lisp than this site.</p>
<p class="url">��� <a href="http://www.lisp.org/">http://www.lisp.org/</a></p>
</div>
<div class="catit">
<h3><a href="http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html">CMU Artificial Intelligence Repository</a></h3>
<p>A very large archive of Lisp documentation and code.</p>
<p class="url">��� <a href="http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html">http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html</a></p>
</div>
<div class="catit">
<h3><a href="http://www.cliki.net/">CLiki</a></h3>
<p>User maintained archive of Lisp links and information.</p>
<p class="url">��� <a href="http://www.cliki.net/">http://www.cliki.net/</a></p>
</div>
<h2>Tools</h2>
<div class="catit">
<h3>XREF</h3>
<p>XREF is a tool to determine relationships in Lisp source code. These plots were created using the output from XREF and a program called graphviz. Not particularly useful, but interesting in that they display the complexity of the source code.</p>
<p class="url">��� <a href="http://maxima.sourceforge.net/misc/rat_files_chart.ps.gz">http://maxima.sourceforge.net/misc/rat_files_chart.ps.gz</a> (Rat)</p>
<p class="url">��� <a href="http://maxima.sourceforge.net/misc/risch.ps.gz">http://maxima.sourceforge.net/misc/risch.ps.gz</a> (Risch)</p>
</div>
</body>
</html>