Skip to content

nilqed/abcl_maxima

Repository files navigation

===========
ABCL_MAXIMA
===========

Portable (running out of the box if Java is installed)

git clone https://github.com/nilqed/abcl_maxima.git
cd abcl_maxima
build_maxima.(sh|cmd)  # once or as needed
maxima.(sh|cmd)

ABCL ...... https://abcl.org/
MAXIMA .... http://maxima.sourceforge.net/
MMA4MAX ... https://people.eecs.berkeley.edu/~fateman/lisp/mma4max/


.. Maxima can be built using a purely Lisp-based procedure.

-------------------
Quick install & run
-------------------

Shell/bash
----------
To build Maxima: ./build_maxima.sh
Run Maxima:  ./maxima.sh 

CMD/Windows
-----------
To build Maxima: build_maxima.cmd
Run Maxima:  maxima.cmd 

Alternative:

-------------------------
Step by step installation
-------------------------

(0) cd to the top-level Maxima directory (i.e., the directory 
    which contains src/, tests/, share/, and other directories).

(1) Launch your Lisp implementation (ABCL in our case).

(2) Load the file configure.lisp:

    (load "configure.lisp")

(3) Generate configuration files:

    (configure)

    You will be prompted for several inputs.
    Press carriage return to accept the default values.

    The configure process can be automated through the use
    of keyword arguments to configure.  For example,

      (configure :interactive nil)

    will use the default values for all options and will not
    prompt for any input.
    See the file configure.lisp for more details.

(4) Quit Lisp,
    
    (quit)

    and cd to the directory src/.

Maxima builds with defsystem. The file maxima-build.lisp is provided
for rudimentary guidance in using defsystem. Experts should feel free
to subsitute their knowledge of defsystem for the following steps.

(5) Restart Lisp, and load maxima-build.lisp:

    (load "maxima-build.lisp")

(6) Compile the Lisp source code:

    (maxima-compile)

(7) Quit Lisp, and restart Lisp.

(8) Load the compiled Lisp files:

    (load "maxima-build.lisp")
    (maxima-load)

(9a) Run Maxima from the loaded image.

    (cl-user::run)

    That should bring up the Maxima input prompt.


(10) Test the build. At the Maxima prompt, enter:

    run_testsuite();


------------
v21-AUG-2019
------------
%%%%%%%
Windows
%%%%%%%
C:\Users\kfp\Desktop\abcl_maxima> maxima.cmd
Armed Bear Common Lisp 1.5.0
Java 1.8.0_152 Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM
Low-level initialization completed in 0.23 seconds.
Startup completed in 3.62 seconds.
Maxima 5.43.0 http://maxima.sourceforge.net
using Lisp Armed Bear Common Lisp 1.5.0
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) run_testsuite();
Testsuite run for Armed Bear Common Lisp 1.5.0:
Running tests in rtest_rules: 119/119 tests passed
Running tests in rtestnset: 617/617 tests passed
Running tests in rtest1: 186/186 tests passed (not counting 3 expected errors)
Running tests in rtest1a: 34/34 tests passed (not counting 1 expected errors)
Running tests in rtest2: 287/287 tests passed (not counting 2 expected errors)
Running tests in rtest4: 94/94 tests passed
Running tests in rtest5: 82/82 tests passed (not counting 1 expected errors)
Running tests in rtest6: 45/45 tests passed
Running tests in rtest6a: 65/65 tests passed
Running tests in rtest6b: 27/27 tests passed
Running tests in rtest7: 85/85 tests passed
Running tests in rtest9: 89/89 tests passed
Running tests in rtest9a: 76/76 tests passed
Running tests in rtest10: 60/60 tests passed (not counting 2 expected errors)
Running tests in rtest11: 245/245 tests passed
Running tests in rtest13: 23/23 tests passed
Running tests in rtest13s: 17/17 tests passed
Running tests in rtest14: 418/418 tests passed
Running tests in rtest15: 379/379 tests passed
Running tests in rtest16: 683/683 tests passed (not counting 2 expected errors)
Running tests in rtestode: 95/95 tests passed
Running tests in rtestode_zp: 30/30 tests passed
Running tests in rtest3: 157/157 tests passed
Running tests in rtest8: 181/181 tests passed
Running tests in rtest12: 77/77 tests passed (not counting 2 expected errors)
Running tests in rexamples: 137/137 tests passed
Running tests in rtesthyp: 417/417 tests passed (not counting 6 expected errors)

Running tests in rtest_hypgeo: 290/290 tests passed (not counting 1 expected err
ors)
Running tests in rtestmt19937: 15/15 tests passed
Running tests in rtest_allnummod: 549/549 tests passed
Running tests in rtestconjugate: 136/136 tests passed
Running tests in rtestsum: 303/303 tests passed (not counting 4 expected errors)

Running tests in rtest_trig: 164/164 tests passed
Running tests in rtest_zeta: 22/22 tests passed
Running tests in rtest_diff_invtrig: 22/22 tests passed
Running tests in rtest_scalarp: 20/20 tests passed
Running tests in rtest_everysome: 84/84 tests passed
Running tests in rtestint: 314/314 tests passed (not counting 1 expected errors)

Running tests in rtest_numth: 202/202 tests passed
Running tests in rtestifactor: 34/34 tests passed
Running tests in rtest_equal: 205/205 tests passed (not counting 2 expected erro
rs)
Running tests in rtest_abs: 140/140 tests passed
Running tests in rtest_taylor: 152/152 tests passed (not counting 6 expected err
ors)
Running tests in rtest_dot: 60/60 tests passed
Running tests in rtest_mset: 113/113 tests passed
Running tests in rtest_boolean: 116/116 tests passed
Running tests in rtest_round: 101/101 tests passed
Running tests in rtest_map: 130/130 tests passed (not counting 3 expected errors
)
Running tests in rtest_sign: 350/350 tests passed (not counting 7 expected error
s)
Running tests in rtest_algebraic: 45/45 tests passed
Running tests in rtest_gamma: 782/782 tests passed
Running tests in rtest_expintegral: 210/210 tests passed
Running tests in rtest_signum: 59/59 tests passed
Running tests in rtest_lambert_w: 57/57 tests passed
Running tests in rtest_elliptic: 177/177 tests passed (not counting 2 expected e
rrors)
Running tests in rtest_integrate: 814/814 tests passed
Running tests in rtest_integrate_special: 53/53 tests passed
Running tests in rtest_sqrt: 315/315 tests passed (not counting 1 expected error
s)
Running tests in rtest_carg: 53/53 tests passed (not counting 2 expected errors)

Running tests in rtest_log: 134/134 tests passed
Running tests in rtest_power: 67/67 tests passed (not counting 5 expected errors
)
Running tests in rtestdefstruct: 32/32 tests passed
Running tests in rtest_limit: 215/215 tests passed
Running tests in rtest_powerseries: 67/67 tests passed
Running tests in rtest_laplace: 89/89 tests passed (not counting 11 expected err
ors)
Running tests in rtest_plotoptions: 5/5 tests passed
Running tests in rtest_algsys: 69/69 tests passed
Running tests in rtest_trace: 83/83 tests passed


No unexpected errors found out of 11,637 tests.
410.954 seconds real time
1389005762 cons cells
(%o0)                                done

(%i1) integrate(x^n,x);
Is n equal to - 1?

no;
                                     n + 1
                                    x
(%o1)                               ------
                                    n + 1
(%i2) quit();





%%%%%%%%%%%%%
UBUNTU (VBOX)
%%%%%%%%%%%%%
kfp@euler:~/Desktop/abcl_maxima$ ./maxima.sh 
Armed Bear Common Lisp 1.5.0
Java 11.0.4 Ubuntu
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.374 seconds.
Startup completed in 2.327 seconds.
Maxima 5.43.0 http://maxima.sourceforge.net
using Lisp Armed Bear Common Lisp 1.5.0
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) run_testsuite();
Testsuite run for Armed Bear Common Lisp 1.5.0:
Running tests in rtest_rules: 119/119 tests passed
Running tests in rtestnset: 617/617 tests passed
Running tests in rtest1: 186/186 tests passed (not counting 3 expected errors)
Running tests in rtest1a: 34/34 tests passed (not counting 1 expected errors)
Running tests in rtest2: 287/287 tests passed (not counting 2 expected errors)
Running tests in rtest4: 94/94 tests passed
Running tests in rtest5: 82/82 tests passed (not counting 1 expected errors)
Running tests in rtest6: 45/45 tests passed
Running tests in rtest6a: 65/65 tests passed
Running tests in rtest6b: 27/27 tests passed
Running tests in rtest7: 85/85 tests passed
Running tests in rtest9: 89/89 tests passed
Running tests in rtest9a: 76/76 tests passed
Running tests in rtest10: 60/60 tests passed (not counting 2 expected errors)
Running tests in rtest11: 245/245 tests passed
Running tests in rtest13: 23/23 tests passed
Running tests in rtest13s: 17/17 tests passed
Running tests in rtest14: 418/418 tests passed
Running tests in rtest15: 379/379 tests passed
Running tests in rtest16: 683/683 tests passed (not counting 2 expected errors)
Running tests in rtestode: 95/95 tests passed
Running tests in rtestode_zp: 30/30 tests passed
Running tests in rtest3: 157/157 tests passed
Running tests in rtest8: 181/181 tests passed
Running tests in rtest12: 77/77 tests passed (not counting 2 expected errors)
Running tests in rexamples: 137/137 tests passed
Running tests in rtesthyp: 417/417 tests passed (not counting 6 expected errors)
Running tests in rtest_hypgeo: 290/290 tests passed (not counting 1 expected errors)
Running tests in rtestmt19937: 15/15 tests passed
Running tests in rtest_allnummod: 549/549 tests passed
Running tests in rtestconjugate: 136/136 tests passed
Running tests in rtestsum: 303/303 tests passed (not counting 4 expected errors)
Running tests in rtest_trig: 164/164 tests passed
Running tests in rtest_zeta: 22/22 tests passed
Running tests in rtest_diff_invtrig: 22/22 tests passed
Running tests in rtest_scalarp: 20/20 tests passed
Running tests in rtest_everysome: 84/84 tests passed
Running tests in rtestint: 314/314 tests passed (not counting 1 expected errors)
Running tests in rtest_numth: 202/202 tests passed
Running tests in rtestifactor: 34/34 tests passed
Running tests in rtest_equal: 205/205 tests passed (not counting 2 expected errors)
Running tests in rtest_abs: 140/140 tests passed
Running tests in rtest_taylor: 152/152 tests passed (not counting 6 expected errors)
Running tests in rtest_dot: 60/60 tests passed
Running tests in rtest_mset: 113/113 tests passed
Running tests in rtest_boolean: 116/116 tests passed
Running tests in rtest_round: 101/101 tests passed
Running tests in rtest_map: 130/130 tests passed (not counting 3 expected errors)
Running tests in rtest_sign: 350/350 tests passed (not counting 7 expected errors)
Running tests in rtest_algebraic: 45/45 tests passed
Running tests in rtest_gamma: 782/782 tests passed
Running tests in rtest_expintegral: 210/210 tests passed
Running tests in rtest_signum: 59/59 tests passed
Running tests in rtest_lambert_w: 57/57 tests passed
Running tests in rtest_elliptic: 177/177 tests passed (not counting 2 expected errors)
Running tests in rtest_integrate: 814/814 tests passed
Running tests in rtest_integrate_special: 53/53 tests passed
Running tests in rtest_sqrt: 315/315 tests passed (not counting 1 expected errors)
Running tests in rtest_carg: 53/53 tests passed (not counting 2 expected errors)
Running tests in rtest_log: 134/134 tests passed
Running tests in rtest_power: 67/67 tests passed (not counting 5 expected errors)
Running tests in rtestdefstruct: 32/32 tests passed
Running tests in rtest_limit: 215/215 tests passed
Running tests in rtest_powerseries: 67/67 tests passed
Running tests in rtest_laplace: 89/89 tests passed (not counting 11 expected errors)
Running tests in rtest_plotoptions: 5/5 tests passed
Running tests in rtest_algsys: 69/69 tests passed
Running tests in rtest_trace: 83/83 tests passed


No unexpected errors found out of 11,637 tests.
719.427 seconds real time
1389022608 cons cells
(%o0)                                done
(%i1) integrate(x*sin(x),x);
(%o1)                          sin(x) - x cos(x)
(%i2) quit();
 


QuickLisp
---------

https://www.quicklisp.org/beta/
https://www.quicklisp.org/beta/faq.html

Load after installation: (load "quicklisp/setup.lisp")

CL-USER(1): (load "quicklisp.lisp")
STYLE-WARNING: ; Note: deleting unused local function LABELS PENDING-VALUE


  ==== quicklisp quickstart 2015-01-28 loaded ====

    To continue with installation, evaluate: (quicklisp-quickstart:install)

    For installation options, evaluate: (quicklisp-quickstart:help)

T


(quicklisp-quickstart:install :path "./quicklisp")

==================================================
440,817 bytes in 0.41 seconds (1052.53KB/sec)
; Fetching #<QL-HTTP:URL "http://beta.quicklisp.org/dist/quicklisp/2019-08-13/systems.txt">
; 314.18KB
==================================================
321,717 bytes in 0.37 seconds (842.30KB/sec)

  ==== quicklisp installed ====

    To load a system, use: (ql:quickload "system-name")

    To find systems, use: (ql:system-apropos "term")

    To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file)

    For more information, see http://www.quicklisp.org/beta/

NIL

CL-USER(3): (ql:system-apropos :snark)
#<QL-DIST:SYSTEM snark / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-agenda / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-auxiliary-packages / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-deque / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-dpll / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-examples / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-feature / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-implementation / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-infix-reader / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-lisp / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-loads / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-numbering / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-pkg / snark-20160421-git / quicklisp 2019-08-13>
#<QL-DIST:SYSTEM snark-sparse-array / snark-20160421-git / quicklisp 2019-08-13>
CL-USER(4): 


MMA4MAX (by RJF)
----------------
See README in folder mma4max and
    ... implementation_notes.txt
	... usingfrommax.txt
	... writest etc.
	
buid_mma4max ...... load init and compile-mma
mma4max ........... load init, load-mma, tl