lattices

Fine-grained library for constructing and manipulating lattices http://github.com/phadej/lattices/

 Version on this page: 2.0.2 LTS Haskell 15.6: 2.0.2@rev:2 Stackage Nightly 2020-04-01: 2.0.2@rev:2 Latest on Hackage: 2.0.2@rev:2

See all snapshots `lattices` appears in

Maintained by

Module documentation for 2.0.2

This version can be pinned in stack with:`lattices-2.0.2@sha256:5c317664300a2cce1c15d3601026048cd8be32549fcfe75f1527d5162cb5fc40,3507`

In mathematics, a lattice is a partially ordered set in which every two elements `x` and `y` have a unique supremum (also called a least upper bound, join, or `x /\ y`) and a unique infimum (also called a greatest lower bound, meet, or `x \/ y`).

This package provide type-classes for different lattice types, as well as a class for the partial order.

2.0.2 (2020-02-18)

• Add `Algebra.Lattice.Stacked` #99

2.0.1 (2019-07-22)

• Add `(PartialOrd a, PartialOrd b) => PartialOrd (Either a b)` instance

2 (2019-04-17)

• Reduce to three classes (from six): `Lattice`, `BoundedMeetSemiLattice`, `BoundedJoinSemiLattice`. The latter two names are kept to help migration.
• Remove `Algebra.Enumerable` module. Use `universe` package.
• Drop GHC-7.4.3 support (broken `ConstraintKinds`)
• Move `Algebra.Lattice.Free` to `Algebra.Lattice.Free.Final`
• Add concrete syntax `Algebra.Lattice.Free` and `Algebra.Heyting.Free` using LJT-proof search for `Eq` and `PartialOrd`
• Change `PartialOrd [a]` to be `leq = isSubsequenceOf`

1.7.1.1 (2019-07-05)

• Allow newer dependencies, update cabal file

1.7 (2017-10-01)

• `HashMap` instances changed
• `PartialOrd Meet` and `Join`
• `PartialOrd ()` and `Void`
• `BoundedLattice (HashSet a)`
• `PartialOrd [a]` (`leq = isInfixOf`)

1.6.0 (2017-06-26)

• Correct PartialOrd Map and IntMap instances
• Add Lattice instance for `containers` types.
• Change `meets1` and `joins1` to use `Foldable1`
• Add `comparable` to `PartialOrd`
• Add `Algebra.Lattice.Free` module
• Add `Divisibility` lattice.
• Fix `Lexicographic`.

1.5.0 (2015-12-18)

• Move `PartialOrd (k -> v)` instance into own module
• `Const` and `Identity` instances
• added `fromBool`
• Add `Lexicographic`, `Ordered` and `Op` newtypes

1.4.1 (2015-10-26)

• `MINIMAL` pragma in with GHC 7.8
• Add `DEPREACTED` pragma for `meet` and `join`, use infix version `\/` and `/\`

1.4 (2015-09-19)

• Infix operators
• `meets` and `joins` generalised to work on any `Foldable`
• Deprecate `Algebra.Enumerable`, use universe package
• Add `Applicative` and `Monad` typeclasses to `Dropped`, `Lifted` and `Levitated`
• Add `Semigroup` instance to `Join` and `Meet`
• Add instances for `()`, `Proxy`, `Tagged` and `Void`

1.3 (2015-05-18)

• relaxed constraint for `BoundedLattice (Levitated a)`
• added instances to `Dropped`, `Levitated` and `Lifted`:
• from base
• `NFData`
• `Hashable`
• added `HashSet` and `HashMap` lattice instances
Depends on 13 packages(full list with versions):
Used by 1 package in lts-15.5(full list with versions):