Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Type.Set
Synopsis
- data Set a = Nil
- class Numbered a
- numbered :: TypeQ -> DecsQ
- type Singleton (t :: a) = t ':~ ('Nil :: Set a)
- type family Insert t (ts :: Set Type) :: Set Type where ...
- type family Merge (ts :: Set Type) (ts' :: Set Type) :: Set Type where ...
- type (:-) t (ts :: Set Type) = Insert t ts
- type (:+:) (ts :: Set Type) (ts' :: Set Type) = Merge ts ts'
Set
Numbered
Function
type family Merge (ts :: Set Type) (ts' :: Set Type) :: Set Type where ... Source #
Equations
Merge ts ('Nil :: Set Type) = ts | |
Merge ('Nil :: Set Type) ts' = ts' | |
Merge (t ':~ ts) (t ':~ ts') = t ':~ Merge ts ts' | |
Merge (t ':~ ts) (t' ':~ ts') = BOOL (MergeElse t ts t' ts' :: (Set Type -> Type) -> () -> Type) (MergeThen t ts t' ts' :: (Set Type -> Type) -> () -> Type) $ (Number t <=? Number t') |