Monthly Downloads: 25
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Algebra     Math     Data     Data Structures    
Latest version: v0.0.0.4

semilattices alternatives and similar packages

Based on the "Algebra" category.
Alternatively, view semilattices alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of semilattices or a related project?

Add another 'Algebra' Package


Build Status


This Haskell package defines typeclasses for join- and meet-semilattices, and for upper and lower bounds, and a variety of instances for each.


Semilattices are idempotent commutative semigroups, and come in two flavours: Join and Meet. This presentation of them doesn’t inherit from Semigroup however, since Semigroups already exist and the relationships between the various classes here warrant their own operators.

Join semilattices can be combined using the \/ operator (pronounced “lub,” for “least upper bound”). Meet semilattices can be combined with the /\ operator (pronounced “glb,” for “greatest lower bound”). They have opposite relationships to Lower and Upper bounds (which are optional; in general, there are more lower bounds than upper ones).

Related work

  • lattices also offers join & meet semilattices, & their respective bounds. Relative to lattices, semilattices primarily offers a different class hierarchy, e.g. Lower & Upper do not have Join & Meet as superclasses. Relative to semilattices, lattices offers classes for lattices (both bounded and un-), partial orderings, a variety of operations for instances.