Skip to content
A library for representing graphs (sets of nodes and edges) in common lisp
Common Lisp
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc
test
.gitignore
COPYRIGHT
NEWS
NOTES
README.md
epigraph-doc.asd
epigraph.asd
epigraph.lisp
package.lisp
scratch.lisp
simple-edge-list-graph.lisp
utilities.lisp

README.md

epigraph, a library for manipulating graphs in common lisp. Cyrus Harmon ch-lisp@bobobeach.com

Epigraph is a common lisp package for representing graph, that is sets of nodes that may contain edges between the various nodes.

Example

(defparameter graph (let ((g (make-graph :node-test 'equal)))

(loop for i from 1 below 12
   do (add-node g (concatenate 'string "Node " (princ-to-string i))))

(add-edge-between-nodes g "Node 1" "Node 2")
(add-edge-between-nodes g "Node 1" "Node 3")
(add-edge-between-nodes g "Node 3" "Node 4")
(add-edge-between-nodes g "Node 3" "Node 5")
(add-edge-between-nodes g "Node 2" "Node 6")
(add-edge-between-nodes g "Node 6" "Node 7")
(add-edge-between-nodes g "Node 6" "Node 8")
(add-edge-between-nodes g "Node 4" "Node 9")
(add-edge-between-nodes g "Node 5" "Node 10")
(add-edge-between-nodes g "Node 5" "Node 11")
(add-edge-between-nodes g "Node 1" "Node 11")
(add-edge-between-nodes g "Node 8" "Node 7")
g))
Something went wrong with that request. Please try again.