extensible-0.2: Poly-kinded, extensible ADTs
Data.Extensible.Inclusion
Description
Synopsis
type (⊆) xs ys = Include ys xs Source
Unicode alias for Include
Include
type Include ys xs = Forall (Member ys) xs Source
ys contains xs
ys
xs
inclusion :: forall xs ys. Include ys xs => Position ys :* xs Source
Reify the inclusion of type level sets.
shrink :: xs ⊆ ys => (h :* ys) -> h :* xs Source
O(m log n) Select some elements.
spread :: xs ⊆ ys => (h :| xs) -> h :| ys Source
O(m log n) Embed to a larger union.