I actually prefer to have my middle initial included in my name -- vttoth
[maxima/cygwin.git] / README.lisps
blob1ce98819b6f599ecdc00056c0577f806935fc274
1 Notes on Lisp implementations for Maxima:
3 Clisp, CMUCL, Scieneer Common Lisp (SCL), GCL (ANSI-enabled only)
4 and SBCL can compile and execute Maxima.
5 Allegro Common Lisp and OpenMCL might also work, but have not
6 been fully tested.
8 Ports to other ANSI Common Lisps should be straightforward
9 and are welcome; please post a message on the Maxima mailing list
10 if you are interested in working on a port.
12 When Maxima is recompiled, the Lisp implementation is selected by
13 an argument of the form `--enable-foolisp' for the configure script.
14 `./configure --help' shows a list of the Lisp types recognized by
15 configure (among other options). Always specify the Lisp type;
16 configure tries to autodetect the Lisp type if it is not specified,
17 but it has been reported that autodetection can fail.
19 --------------------------------------------------------------------
20 Comparison of execution times for the run_testsuite function
21 All times are in elapsed seconds
23 Maxima      System                  GCL     SBCL    CMUCL   Clisp
25 pre-5.9.3   P2 450 MHz, Linux        75      91              301
28 --------------------------------------------------------------------
29 Clisp <http://clisp.org>
31         Clisp includes GNU readline support, so Maxima has
32 advanced command-line editing facilities when built with it.
34 Clisp is compiled to bytecodes, so Maxima running on Clisp is
35 substantially slower than on Lisps compiled to machine instructions.
36 Clisp computes floating-point operations in software,
37 so floating-point operations in Clisp are much slower than in Lisps
38 which make use of hardware instructions for floating-point operations.
39 On the other hand, Clisp makes use of the GMP library for arbitrary-
40 precision integer computations.
42 There are Clisp implementations for many platforms
43 including MS Windows and Unix-like systems.
45 --------------------------------------------------------------------
46 CMUCL <http://www.cons.org/cmucl/>
48         CMUCL is a fast option for Maxima on platforms where it is
49 available. The rmaxima front-end provides advanced line-editing
50 facilities for Maxima when compiled with CMUCL. rlwrap is available
51 from <http://utopia.knoware.nl/~hlub/uck/rlwrap/> .
53 CMUCL versions: 18e and 19a and later are known to work.
55 There are CMUCL implementations only for Unix-like systems
56 (not MS Windows).
58 --------------------------------------------------------------------
59 Scieneer Common Lisp (SCL) <http://www.scieneer.com/scl/>
61         Scieneer Common Lisp (SCL) is a fast option for Maxima for a
62 range of Linux and Unix platforms.  The SCL 1.2.8 release and later
63 are supported.  SCL offers a lower case, case sensitive, version which
64 avoids the Maxima case inversion issues with symbol names.  Tested
65 front end options are: maxima emacs mode available in the
66 interfaces/emacs/ directory, the emacs imaxima mode available from
67 https://sites.google.com/site/imaximaimath/, and TeXmacs available from
68 http://www.texmacs.org/
70 --------------------------------------------------------------------
71 GCL <http://savannah.gnu.org/projects/gcl/>
73         GCL versions starting with 2.4.3 can be built with readline
74 support, so Maxima has advanced command-line editing facilities
75 when built with it. GCL produces a fast Maxima exectuable.
77 Only the ANSI-enabled version of GCL works with Maxima, i.e.,
78 when GCL is built, it must be configured with the --enable-ansi flag,
79 i.e., execute ``./configure --enable-ansi'' in the build directory
80 before executing make.
82 Whether GCL is ANSI-enabled or not can be determined by 
83 inspecting the banner which is printed when GCL is executed;
84 if ANSI-enabled, the banner should say "ANSI".
85 Also, the special variable *FEATURES* should include the keyword :ANSI-CL.
87 There are GCL implementations for many platforms
88 including MS Windows and Unix-like systems.
90 --------------------------------------------------------------------
91 SBCL <http://www.sbcl.org>
93     SBCL is a fork of CMUCL which differs in some minor details,
94 but most notably, it is simpler to rebuild SBCL than CMUCL.
96 rmaxima is recommended for use with SBCL. See CMUCL above.
98 --------------------------------------------------------------------
99 Allegro Common Lisp <http://franz.com/products/allegro-common-lisp/>
101         Maxima should work with Allegro Common Lisp, but
102 only limited testing has been done with these Lisp
103 implementations. User feedback would be welcome.
105 --------------------------------------------------------------------
106 CCL <http://ccl.clozure.com/>
108     CCL, formerly known as OpenMCL, is known to work with maxima on
109 all platforms where ccl runs including Linux, Mac OSX, and Windows.
110 There are appear to be some bugs in the 32-bit version of ccl,  but
111 the 64-bit version passes all tests.
113 --------------------------------------------------------------------
114 ECL <https://common-lisp.net/project/ecl/>
115     
116     ECL is known to work with maxima and passes the testsuite.  ECL
117 runs on many platforms and OSes.