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

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

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.