https://github.com/gheber/kenzo.git
git clone 'https://github.com/gheber/kenzo.git'
(ql:quickload :kenzo)
According to the title of its handbook, Kenzo is a “Symbolic Software for Effective Homology Computation” and its main audience might be students and researchers in algebraic topology. Have a look at the overview to get a sense for what's there for you to discover.
It is also a remarkable piece of LISP code, albeit in need of a little touch-up. This repository contains a repackaged version of the Kenzo program by Francis Sergeraert and collaborators. The original version of the program can be found at http://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/ . This version aims to update its infrastructure by providing the following:
This work is well underway, but there are several outstanding issues.
There are several methods to get going:
To load Kenzo as provided by this repo, make sure ASDF knowns where to find the source, e.g. by creating a link to this directory at
~/.local/share/common-lisp/source/
Then in your Lisp (e.g., in ECL) type
lisp
(require :asdf)
(require :kenzo)
Assuming you have Quicklisp, there isn't really much to say here:
* (ql:quickload :kenzo)
To load "kenzo":
Install 1 Quicklisp release:
kenzo
; Fetching #<URL "http://beta.quicklisp.org/archive/kenzo/2015-08-04/kenzo-20150804-git.tgz">
; 1835.57KB
==================================================
1,879,625 bytes in 1.48 seconds (1236.91KB/sec)
; Loading "kenzo"
[package cat].....................................
..................................................
..............................
(:KENZO)
*
Verify that you're good to go by loading and running the Kenzo regression test suite. For example, in an SBCL prompt you should see something like this: ``` * (ql:quickload :kenzo-test) To load “kenzo-test”: Load 1 ASDF system: kenzo-test ; Loading “kenzo-test” . (:KENZO-TEST) * (fiveam:run!)
Running test suite KENZO Running test F-CMPR ………. Running test L-CMPR ………. Running test S-CMPR ….. … —done— Did 1482 checks. Pass: 1482 (100%) Skip: 0 ( 0%) Fail: 0 ( 0%) ```
Similarly, you'd load Kenzo via (ql:quickload :kenzo)
.