Go to file
Gerd Heber 37e052cfe9 Export the *RESULTS-VERBOSE* variable.
The tests in cl-space-efhm-test.lisp are passing.
2015-07-15 21:27:52 -05:00
doc Added license information. 2015-07-02 13:29:16 -05:00
examples Export the *RESULTS-VERBOSE* variable. 2015-07-15 21:27:52 -05:00
src Fixed missing hashmark. 2015-07-15 18:54:52 -05:00
test The previous commits fixed a few outstanding issues. 2015-07-15 21:03:14 -05:00
.gitignore more cleanup 2015-07-01 23:01:28 +01:00
COPYING Added license information. 2015-07-02 13:29:16 -05:00
kenzo-test.asd Export the *RESULTS-VERBOSE* variable. 2015-07-15 21:27:52 -05:00
kenzo.asd Added a simple abbreviation resolver. 2015-07-12 13:46:15 -05:00
package.lisp Export the *RESULTS-VERBOSE* variable. 2015-07-15 21:27:52 -05:00
README.md Update README.md 2015-07-13 19:58:23 -05:00
run-kenzo-test.lisp Extracted tensor product tests. 2015-07-11 17:46:41 -05:00

Welcome to Kenzo

GPLv3 Logo

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. 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:

  1. A simple regression test suite based on FiveAM
  2. Support for the great freely available Lisp compilers out there, including CCL, [ECL] (https://common-lisp.net/project/ecl/), SBCL, etc.
  3. Installation via the Quicklisp library manager

Items 1 and 2 are well underway. Item 3 is pending after Francis Sergeraert kindly agreed to license the software under GPLv3.

!!! WARNING !!!

This is work in progress and there are several issues. The entire code now compiles fine w/ CCL, ECL, SBCL, but that's just the first step. There are plenty of examples in publications and scattered throughout the source. Many work (most?), some don't. Let's get to work! ...

Getting up and running

Here are two simple methods to get going: plain ASDF and Quicklisp.

Plain ASDF

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

(require :asdf)
(require :kenzo)

Quicklisp

I'm a big fan and supporter of Quicklisp, and use it for all my local projects. Assuming you've installed Quicklisp in C:\home\quicklisp or /home/joeuser/quicklisp, your local projects directory will be C:\home\quicklisp\local-projects or /home/joeuser/quicklisp/local-projects.

Making Kenzo quickload-able is a piece of cake:

  1. Clone the Kenzo repository into your local projects directory, i.e., C:\home\quicklisp\local-projects\kenzo or /home/joeuser/quicklisp/local-projects/kenzo.
  2. Tell Quicklisp about Kenzo by adding the following two lines to the system-index.txt file in the local projects directory:
  kenzo\kenzo.asd
  kenzo\kenzo-test.asd

Verify that you're good to go by loading and running the Kenzo test suite. For example, in an sbcl prompt (I've tested this with SBCL 1.2.13 on Debian and Windows) 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 .....
 ...
 Running test CDELTA
---done---
 Did 642 checks.
    Pass: 642 (100%)
    Skip: 0 ( 0%)
    Fail: 0 ( 0%)

Similarly, you'd load Kenzo via (ql:quickload :kenzo).

GPLv3 Logo