Go to file
2015-08-08 09:32:25 -05:00
doc Added license information. 2015-07-02 13:29:16 -05:00
examples Use DEF instead of DEFVAR. 2015-08-08 09:32:25 -05:00
src Added DEF macro to define dynamic variables in user space and get 2015-08-08 09:12:49 -05:00
test Removed duplicate definition of RANDOM-ALLP. 2015-08-02 15:58:50 -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
exports.lisp Documentation updates. 2015-08-06 07:04:43 -05:00
kenzo-test.asd Extracted tests from macros.lisp. 2015-07-29 01:42:15 -05:00
kenzo.asd Added a simple abbreviation resolver. 2015-07-12 13:46:15 -05:00
package.lisp Added DEF macro to define dynamic variables in user space and get 2015-08-08 09:12:49 -05:00
README.md Update README.md 2015-08-04 21:06:21 -05:00
run-kenzo-test.lisp Another batch of CL-SPACE-EFHM tests extracted. 2015-07-20 20:13:04 -05:00

Welcome to Kenzo

GPLv3 Logo

Quicklisp badge

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
  4. Updated documentation and examples

!!! WARNING !!!

This is work in progress and there are several outstanding issues.

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

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 786 checks.
    Pass: 786 (100%)
    Skip: 0 ( 0%)
    Fail: 0 ( 0%)

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