effect-monad-0.8.1.0: Embeds effect systems and program logics into Haskell using graded monads and parameterised monads
Control.Effect.Helpers.List
data List (l :: [*]) where Source #
Constructors
type family (s :: [*]) :++ (t :: [*]) :: [*] where ... Source #
Equations
append :: List s -> List t -> List (s :++ t) Source #
class Split (s :: [*]) (t :: [*]) where Source #
Minimal complete definition
split
Methods
split :: List (s :++ t) -> (List s, List t) Source #
Instances
split :: List ([*] :++ xs) -> (List [*], List xs) Source #
split :: List ((* ': x) xs :++ ys) -> (List ((* ': x) xs), List ys) Source #
lengthL :: List xs -> Int Source #
type family LookupT k xs where ... Source #
class LookUpA k xs (LookupT k xs) => Lookup k xs where Source #
lookup :: List xs -> Proxy k -> Maybe (LookupT k xs) Source #
class LookUpA k xs x where Source #
lookupA
lookupA :: List xs -> Proxy k -> Maybe x Source #
lookupA :: List y -> Proxy k2 ((* ': (j, x)) xs) -> Maybe x Source #
lookupA :: List x -> Proxy k ((* ': (k, x)) xs) -> Maybe x Source #