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/
.
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)