Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nilqed/fricas0
A pure Common Lisp build of FriCAS
https://github.com/nilqed/fricas0
common-lisp computer-algebra-system fricas
Last synced: 3 days ago
JSON representation
A pure Common Lisp build of FriCAS
- Host: GitHub
- URL: https://github.com/nilqed/fricas0
- Owner: nilqed
- Created: 2017-10-31T21:06:10.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-04T13:14:21.000Z (over 2 years ago)
- Last Synced: 2023-03-22T22:00:15.214Z (almost 2 years ago)
- Topics: common-lisp, computer-algebra-system, fricas
- Language: Common Lisp
- Homepage:
- Size: 20 MB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rest
Awesome Lists containing this project
README
===================================
FriCAS0 -- a pure Common Lisp build
===================================Build
-----Tested so far::
git clone https://github.com/nilqed/fricas0.git
cd fricas0
ecl -load fricas
sbcl --load fricas
java -jar abcl.jar --load fricasNote: for SBCL, you can compile the ``interp`` directory before loading fricas.
This can improve speed greatly.sbcl --load lisp/load-lisp.lisp --load lisp/compile-interp.lisp --eval "(exit)"
The first time - when the interpreter is loaded - you have to compile
the *algebra*::
)lisp (load "lisp/compile-algebra.lisp")
Since each of the above mentioned Common Lisp flavours compile to a different
format (``ecl -> .fas, sbcl -> .fasl, abcl -> .abcl``), you may use the same
``fricas0`` folder simultaneously.Test matrix
-----------+------------------------+------------+----------+----------+
| Platform / CL | `SBCL`_ | `ECL`_ | `ABCL`_ |
+========================+============+==========+==========+
| Windows 7 | 1.3.18 | 16.1.2 | 1.5 |
+------------------------+------------+----------+----------+
| Windows 10 | 1.3.10 | 16.1.2 | 1.5 |
+------------------------+------------+----------+----------+
| Cygwin64 | | 16.1.2/3 | |
+------------------------+------------+----------+----------+
| Ubuntu 16.04 | 1.4.1 | 15.3.7 | 1.5 |
+------------------------+------------+----------+----------+
| Android 7.0 / armv8l | | 13.5.1 | |
+------------------------+------------+----------+----------+
| WSL 10(bash/ubuntu 16) | | 13.5.1 | 1.5 |
+------------------------+------------+----------+----------+.. _SBCL: http://www.sbcl.org/platform-table.html
.. _ECL: https://common-lisp.net/project/ecl/
.. _ABCL: http://abcl.org/.. note::
Everything here is still considered experimental and **not** ready for
production. The goal is to provide a functional version of ``FriCAS``
(i.e. no gui) with minimal build requirements, e.g. allowing usage as a
library in other systems as platform independent as possible.
Comments
--------
On Ubuntu ``ECL 15.3.7`` is provided via ``apt install ecl``. You will
also need ``apt install libffi-dev``, otherwise it won't compile. This
version is quite outdated and it might be advisable to compile the
latest version by yourself. The same holds for Android (arm).On Android ECL works well under `GNURoot`_. You certainly want to install
``sshd`` in order to work from your desktop (use PuTTy on Windows)... _GNURoot: https://play.google.com/store/apps/details?id=com.gnuroot.debian&hl=en
A bug in ABCL 1.5 inhibits the compilation of three algebra files
(e.g. ``polyvec.lsp``). At the moment these files are exluded by
``#+:ABCL`` pragmas in ``compile-algebra.lisp``.GNU CLISP 2.49+ (2010-07-17) was also (+) tested on Cygwin64.
The current version is based on the official release `FriCAS`_ tarball
(version 1.3.2). The files in ``algebra`` are from the
``pre-generated`` folder (**unchanged**) and the ones in ``interp`` are
translations from the ``boot`` code (original as well). Generally, no
original files were changed, only the new ``lisp`` files ``fricas``,
``fricas-abcl``, ``interp`` and ``compile-algebra`` are newly added... _FriCAS: http://fricas.sourceforge.net/
.. warning:: **Windows users**:
If you encounter errors while loading the interpreter with a native
CL (e.g. SBCL) it is probably caused by wrong line endings (checkout).
See
https://help.github.com/articles/dealing-with-line-endings/
Ensure: git config core.autocrlf = true
A ``.gitatributes`` was added to prevent the change of the ``*.daase``
and ``*.msgs`` files.
**Initfile**: It was reported by ``oldk1331`` that certain entries in
``~/.fricas.input`` may cause errors in ``SBCL``. He `suggests`_ to
set ``export FRICAS_INITFILE=""``.
.. _suggests: https://groups.google.com/forum/#!topic/fricas-devel/MUKXBrm_VNs