Generalized Lattice data-types for Common Lisp, including Algebraic Lattices, Hyperlattices, and Probabilistic Hyperlattices, which intends to follow the packages-as-types convention (as defined by the BAPHOMET library).
⚠️ This library is a work in progress. Things will be added. Things will be removed. Things will change. Things will blow up. Embrace the uncertainty.
graph TB
A[GENERALIZED-LATTICE] --> B[LATTICE]
B --> C[HYPERLATTICE]
C --> D[PROBABILISTIC-HYPERLATTICE]
B --> E[PROBABILISTIC-LATTICE]
E --> D
F[POSET] --> A
supremum
infimum
join
meet
element-of
relation-of
supremum-of
infimum-of
member-p
closure
cover
dimension
chain
antichain
slice
merge
longest-chain-p
largest-antichain-p
homomorphic-p
isomorphic-p
congruent-p
Documentation for the hyperlattices
library is available at:
https://thephoeron.github.io/hyperlattices/
- Add
parachute
test suite scaffolding - Implement unit tests for all type classes and methods
- Implement
LATTICE
class and functional interface - Implement
HYPERLATTICE
class and functional interface - Implement
PROBABILISTIC-HYPERLATTICE
class and functional interface - Implement
GENERALIZED-LATTICE
class and dispatching methods - Implement
PROBABILISTIC-LATTICE
class and specialized methods - Implement Generic Function API over
GENERALIZED-LATTICE
class - Refactor
LATTICE
class and functions to inherit fromGENERALIZED-LATTICE
class and use Generic Function API - Refactor
HYPERLATTICE
class and functions to inherit fromLATTICE
class and use Generic Function API - Refactor
PROBABILISTIC-HYPERLATTICE
class and functions to inherit fromHYPERLATTICE
andPROBABILISTIC-LATTICE
classes and use Generic Function API - Refactor library to use
BAPHOMET
package-as-type convention - Publish
hyperlattices
on Ultralisp - Publish
hyperlattices
on Quicklisp
The hyperlattices
library has been developed and tested on macOS for the following Common Lisp implementations:
- LispWorks 8.0.1 (64-bit)
- Allegro CL 10.1
- SBCL 2.3.4
- ABCL 1.9.2
- ECL 21.2.1
- CLISP 2.49.92
- CLASP CL 2.3.0-38-gd5637675b
- Clozure CL 1.12.1
- GitHub Copilot Chat (Private Beta)
- Alive (the Average Lisp VS Code Environment)
General Lattice Theory, Second Edition, by George A. Grätzer. 2003, Birkhäuser Verlag Basel/Switzerland
Introduction to Lattice Theory with Computer Science Applications, by Vijay K. Garg. 2015, John Wiley & Sons, Inc.
Probabilistic Lattices: With Applications to Psychology, by Louis Narens. Advanced Series on Mathematical Psychology, Vol. 5. 2015, World Scientific Publishing Co.
Theory of Nonlinear Lattices, Second Enlarged Edition, by Morikazu Toda. Springer Series in Solid-State Sciences, Vol. 20. 1989, Springer-Verlag Berlin Heidelberg.
Copyright © 2023, "the Phoeron" Colin J.E. Lupton.
Released under the MIT License. See LICENSE
for details.