sagemath_ecl: Embeddable Common Lisp¶
This pip-installable distribution passagemath-ecl
is a distribution of a part of the Sage Library.
It ships the Python and Cython interfaces to Embeddable Common Lisp.
What is included¶
Binary wheels on PyPI contain a prebuilt copy of Embeddable Common Lisp
Examples¶
Starting ECL from the command line:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-ecl[test]" sage --ecl
ECL (Embeddable Common-Lisp) 23.9.9 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
...
>
Finding the installation location of ECL in Python:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-ecl[test]" ipython
In [1]: from sage.features.ecl import Ecl
In [2]: Ecl().absolute_filename()
Out[2]: '.../bin/ecl'
Using the Cython interface to ECL:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-ecl[test]" sage
sage: from sage.libs.ecl import *
sage: ecl_eval("(defun fibo (n) (cond ((= n 0) 0) ((= n 1) 1) (t (+ (fibo (- n 1)) (fibo (- n 2))))))")
<ECL: FIBO>
sage: ecl_eval("(mapcar 'fibo '(1 2 3 4 5 6 7))")
<ECL: (1 1 2 3 5 8 13)>
sage: list(_)
[<ECL: 1>, <ECL: 1>, <ECL: 2>, <ECL: 3>, <ECL: 5>, <ECL: 8>, <ECL: 13>]
Type¶
standard
Dependencies¶
$(PYTHON)
$(PYTHON_TOOLCHAIN)
cython: C-Extensions for Python, an optimizing static compiler
maxima: System for manipulating symbolic and numerical expressions
mpc: Arithmetic of complex numbers with arbitrarily high precision and correct rounding
mpfr: Multiple-precision floating-point computations with correct rounding
sagemath_categories: Sage categories, basic rings, polynomials, functions
Version Information¶
package-version.txt:
10.6.29
version_requirements.txt:
passagemath-ecl ~= 10.6.29.0
Installation commands¶
$ pip install passagemath-ecl~=10.6.29.0
$ sage -i sagemath_ecl
However, these system packages will not be used for building Sage
because spkg-configure.m4
has not been written for this package;
see upstream Issue #27330 for more information.