The lattice trait hierarchy could be extended with a bounded meet semilattice, bounded join semilattice, then a bounded lattice. This would be useful to lawfully express set operations as well as binary operations.
It seems that the infrastructure for parts of this is already in place with the Identity trait.
The lattice trait hierarchy could be extended with a bounded meet semilattice, bounded join semilattice, then a bounded lattice. This would be useful to lawfully express set operations as well as binary operations.
It seems that the infrastructure for parts of this is already in place with the Identity trait.
For a possible trait hierarchy, see https://github.com/typelevel/algebra/blob/master/core/src/main/scala/algebra/lattice/BoundedLattice.scala