ixmonad-0.50: Embeds effect systems into Haskell using an parameteric effect monad (the |Effect| type class)
Control.Effect.Helpers.Set
data Set n where Source
Constructors
Instances
type Union s t = Nub (Sort (Append s t)) Source
type Unionable s t = (Sortable (Append s t), Nubable (Sort (Append s t))) Source
union :: Unionable s t => Set s -> Set t -> Set (Union s t) Source
bsort :: Bubbler s s => Set s -> Set (Sort s) Source
append :: Set s -> Set t -> Set (Append s t) Source
type Sort l = Bubble l l Source
type Sortable s = Bubbler s s Source
class OrdH e f where Source
Methods
minH :: e -> f -> Min e f Source
maxH :: e -> f -> Max e f Source
type family Min a b Source
type family Max a b Source
type family Append s t Source
Equations
class Split s t st where Source
split :: Set st -> (Set s, Set t) Source
type family Nub t Source
class Nubable t where Source
nub :: Set t -> Set (Nub t) Source
type AsSet s = Nub (Sort s) Source
asSet :: (Sortable s, Nubable (Sort s)) => Set s -> Set (AsSet s) Source
type IsSet s = s ~ Nub (Sort s) Source
class Subset s t where Source
subset :: Set t -> Set s Source