Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type family Index el cont :: Maybe Nat Source
type Index k * a (Set k1 s) = Index k [k1] a s Source | |
type Index k * a (Recursive [k1] ([] k1)) = Nothing Nat Source | |
type Index k * a (Recursive [k] ((:) k l ls)) = If (Maybe Nat) ((==) k a l) (Just Nat 0) (SuccMaybe (Index k * a (Recursive [k] ls))) Source | |
type Index k [k1] a ([] k1) = Nothing Nat Source | |
type Index k [k] a ((:) k l ls) = If (Maybe Nat) ((==) k a l) (Just Nat 0) (SuccMaybe (Index k [k] a ls)) Source |
type family Concat a b :: k Source
type Concat * (Set k set) (Set k1 ((:) k1 s ss)) = If * (In k1 [k] s set) (Concat * (Set k set) (Set k1 ss)) (Concat * (Insert * k1 s (Set k set)) (Set k1 ss)) Source | |
type Concat * (Set k set) (Set k1 ([] k1)) = Set k set Source | |
type Concat [k] lst ([] k) = lst Source | |
type Concat [k] lst ((:) k l ls) = Concat [k] (Append [k] k l lst) ls Source |
type UnsafeIndex el cont = FromJust (Index el cont) Source