A collection of packages for boolean types
Library packages can depend on the backpack signature in bool-sig
to avoid choosing a Bool
implementation.
This signature can be instantiated by a concrete implementation like bool-base
or bool-church
.
bool-utils
can be used to reduce the burden in implementing a new Bool
instantiation, extending a minimal signature instantiation to the full signature from bool-sig
.
See the internals of bool-base
and bool-church
for examples of its usage.
Examples of usage in client code can be found in bool-example
The full generality available here is overkill on its own, and is provided mainly for consistency and as a minimal example. It would be much more useful if backpack interacted nicely with levity-polymorphism. See Unlifted bools