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
parachutetest suite scaffolding - Implement unit tests for all type classes and methods
- Implement
LATTICEclass and functional interface - Implement
HYPERLATTICEclass and functional interface - Implement
PROBABILISTIC-HYPERLATTICEclass and functional interface - Implement
GENERALIZED-LATTICEclass and dispatching methods - Implement
PROBABILISTIC-LATTICEclass and specialized methods - Implement Generic Function API over
GENERALIZED-LATTICEclass - Refactor
LATTICEclass and functions to inherit fromGENERALIZED-LATTICEclass and use Generic Function API - Refactor
HYPERLATTICEclass and functions to inherit fromLATTICEclass and use Generic Function API - Refactor
PROBABILISTIC-HYPERLATTICEclass and functions to inherit fromHYPERLATTICEandPROBABILISTIC-LATTICEclasses and use Generic Function API - Refactor library to use
BAPHOMETpackage-as-type convention - Publish
hyperlatticeson Ultralisp - Publish
hyperlatticeson 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.