Software Requirements and Installation
The hm package is open-source Common Lisp software that should run on the
free, open-source implementations offered by SBCL or Clozure CL. A working
installation of one of these implementations is required by hm.
The hm package uses Graphviz dot for graph visualization and graphics output.
A working installation of Graphviz dot software is required by hm.
The hm package is distributed from a git version control software
repository. A working installation of git software is required.
The Quicklisp library manager for Common Lisp is strongly recommended. The instructions in this manual assume a working installation of Quicklisp.
An hm project is configured with an .ini format text file. A plain text
editor, rather than a word processor, is recommended for working with .ini
format files.
The hm software was developed using the Superior Lisp Interaction Mode for the
Emacs text editor.
Install hm
Installation with Quicklisp is recommended. It automatically installs the other
Common Lisp packages upon which hm depends, and their dependencies, etc.
The following example assumes that Quicklisp is installed on your computer.
These instructions will clone the hm package in the local-projects/harris-matrix/
subdirectory of your quicklisp installation.
cd <path-to>/quicklisp/local-projects/
git clone https://github.com/tsdye/harris-matrix.git
The hm software is released under the GNU General Public License, Version 3, a
free, copyleft license for software and other kinds of works.
Load hm
A typical session with hm starts by using Quicklisp to load the software.
(ql:quickload "hm")
Note that the output from your Common Lisp implementation might differ, and that you might see additional output depending on the state of your Common Lisp environment.
To load "hm":
Load 1 ASDF system:
hm
; Loading "hm"
A successful Quicklisp quickload of hm will also install several other
packages and their dependencies in <path-to>/quicklisp/dists/quicklisp/software/.
hm directly depends
| Package | Description | License |
|---|---|---|
| graph | simple graph data structure and algorithms | GPL V3 |
| graph/matrix | matrix representation of graphs | GPL V3 |
| graph/dot | serialize graphs to and from dot format |
GPL V3 |
| cl-csv | read and write comma-separated value text files | BSD |
| fset | a functional set-theoretic collections library | LLGPL |
| py-configparser | Python configparser module implemented in Common Lisp | MIT |
| cl-colors | simple color library for Common Lisp | Boost Software License - Version 1.0 |
| fare-memoization | memoization library | MIT |
| inferior-shell | spawning shell commands and pipes from Common Lisp | Copyright © 2011-2014 Google, Inc. |
Use the hm name space
Move into the hm name space for easy access to hm functions.
(use-package :hm)