semilattices: Semilattices

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Join- and meet-semilattices, with optional upper and lower bounds, and a variety of instances for each.


[Skip to Readme]

Properties

Versions 0.0.0.0, 0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.0.3, 0.0.0.4, 0.0.0.5, 0.0.0.6, 0.0.0.7, 0.0.0.8
Change log ChangeLog.md
Dependencies base (>=4.9 && <4.13), containers (>=0.5 && <0.7), hashable (>=1.2 && <1.3), unordered-containers (>=0.2 && <0.3) [details]
License BSD-3-Clause
Copyright 2017-2018 Rob Rix
Author Rob Rix
Maintainer rob.rix@me.com
Category Algebra, Data, Data Structures, Math
Home page https://github.com/robrix/semilattices
Source repo head: git clone https://github.com/robrix/semilattices
Uploaded by robrix at 2018-12-18T18:51:48Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for semilattices-0.0.0.3

[back to package description]

Build Status

semilattices

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

Usage

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).