preface
preface copied to clipboard
Preface is an opinionated library designed to facilitate the handling of recurring functional programming idioms in OCaml.
**Distributive** is the dual of Traversable. **Links** - https://hackage.haskell.org/package/distributive-0.6.2.1/docs/Data-Distributive.html
We would need a symmetrical operation to `product` from Applicative but for Monad (or Bind) backed by a `let-operator`: `val (and*) : 'a t -> 'b t -> ('a *...
Laws are missing. (But it should, maybe, await for the Test reorganisation)
See https://github.com/snowleopard/selective/pull/42/files It is possible to define `select` from `Traversable` and `Applicative`.
Since we have `Free(r) Monad`, `Free Applicative` and `Free(r) Selective` we should have **Free Alternative**. **Links** - https://hackage.haskell.org/package/free-5.1.7/docs/Control-Alternative-Free.html
on top of #150 and #151 A **Bounded Lattice** is also a Bounded Join and a Bounded Meet Semi Lattice. **Laws** - Laws of Bounded Join Semi Lattices - Laws...
on top of #148 and #149 A **Lattice** is also a Join and a Meet Semi Lattice. **Laws** - Laws of Join Semi Lattices - Laws of Meet Semi Lattices...
on top of #149 A **Bounded Meet Semi Lattice** capture the notion of a set with "least lower bound" with a "top" **Operation** - Meet Semi Lattice with - `val...
on top of #148 A **Bounded Join Semi Lattice** capture the notion of a set with "least upper bound" with a "bottom" **Operation** - Join Semi Lattice with - `val...
A **Meet Semi Lattice** capture the notion of a set with "least lower bound" **Operation** - `val meet : t -> t -> t` **Laws**: - **associativity** : `meet a...