Module
Control.Monad.Freer.Free
- Package
- purescript-freer-free
- Repository
- mikesol/purescript-freer-free
#LowerFirst Source
class LowerFirst :: Symbol -> Symbol -> Constraint
class LowerFirst (i :: Symbol) (o :: Symbol) | i -> o
Instances
(Cons l s i, LowerCase l l', Cons l' s o) => LowerFirst i o
#LowerCase Source
class LowerCase :: Symbol -> Symbol -> Constraint
class LowerCase (i :: Symbol) (o :: Symbol) | i -> o
Instances
LowerCase "A" "a"
LowerCase "B" "b"
LowerCase "C" "c"
LowerCase "D" "d"
LowerCase "E" "e"
LowerCase "F" "f"
LowerCase "G" "g"
LowerCase "H" "h"
LowerCase "I" "i"
LowerCase "J" "j"
LowerCase "K" "k"
LowerCase "L" "l"
LowerCase "M" "m"
LowerCase "N" "n"
LowerCase "O" "o"
LowerCase "P" "p"
LowerCase "Q" "q"
LowerCase "R" "r"
LowerCase "S" "s"
LowerCase "T" "t"
LowerCase "U" "u"
LowerCase "V" "v"
LowerCase "W" "w"
LowerCase "X" "x"
LowerCase "Y" "y"
LowerCase "Z" "z"
#ConstructorPath Source
data ConstructorPath
#Inl Source
data Inl :: ConstructorPath -> ConstructorPath
data Inl t0
Instances
(ReconstructGeneric p (Sum a t) b) => ReconstructGeneric (Inl p) a b
#Inr Source
data Inr :: ConstructorPath -> ConstructorPath
data Inr t0
Instances
(ReconstructGeneric p (Sum t a) b) => ReconstructGeneric (Inr p) a b
#ReconstructGeneric Source
class ReconstructGeneric :: ConstructorPath -> Type -> Type -> Constraint
class ReconstructGeneric (path :: ConstructorPath) a g | path a -> g where
Members
reconstructGeneric :: Proxy path -> a -> g
Instances
ReconstructGeneric Top a a
(ReconstructGeneric p (Sum a t) b) => ReconstructGeneric (Inl p) a b
(ReconstructGeneric p (Sum t a) b) => ReconstructGeneric (Inr p) a b
#GenericFreeConstructor Source
class GenericFreeConstructor :: forall k. (Type -> Type) -> (Type -> Type) -> k -> ConstructorPath -> Row Type -> Row Type -> Constraint
class GenericFreeConstructor m (t :: Type -> Type) g (p :: ConstructorPath) rin rout | t g -> rin rout p where
Members
genericFreeConstructor :: (forall a. t a -> m a) -> Proxy g -> Proxy p -> Record rin -> Record rout
Instances
(GenericFreeConstructor m t l (Inl p) rin lout, GenericFreeConstructor m t r (Inr p) lout rout) => GenericFreeConstructor m t (Sum l r) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Argument Unit)) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Argument Void)) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Argument Unit))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Argument Void))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Argument Unit)))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Argument Void)))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument Unit))))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument Void))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument Unit)))))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument Void)))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument Unit))))))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument Void))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument Unit)))))))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument Void)))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> argg -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument Unit))))))))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument Void))))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument Unit)))))))))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument Void)))))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> argi -> m Unit) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument Unit))))))))))) g', Generic (t Unit) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument Void))))))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Argument (args -> args))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Argument (args -> Void))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Argument (args -> args)))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Argument (args -> Void)))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Argument (args -> args))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Argument (args -> Void))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument (args -> args)))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument (args -> Void)))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument (args -> args))))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument (args -> Void))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument (args -> args)))))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument (args -> Void)))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument (args -> args))))))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument (args -> Void))))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> argg -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument (args -> args)))))))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument (args -> Void)))))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument (args -> args))))))))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument (args -> Void))))))))))) p rin rout
(LowerFirst name name', IsSymbol name', Cons name' (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> argi -> m args) rin rout, Lacks name' rin, IsSymbol name, ReconstructGeneric p (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument (args -> args)))))))))))) g', Generic (t args) g') => GenericFreeConstructor m t (Constructor name (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument (args -> Void)))))))))))) p rin rout
#constructors Source
constructors :: forall m g rout t. Generic (t Void) g => GenericFreeConstructor m t g Top () rout => (forall a. t a -> m a) -> Record rout
#GenericFreeInterpreter Source
class GenericFreeInterpreter :: (Type -> Type) -> Type -> (Type -> Type) -> Type -> Row Type -> Constraint
class GenericFreeInterpreter (t :: Type -> Type) (g :: Type) (m :: Type -> Type) (a :: Type) (table :: Row Type) where
Members
genericFreeInterpreter :: Proxy t -> Record table -> g -> m a
Instances
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Argument (b -> a))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Argument a))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Argument a)))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument a))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument a)))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument a))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument a)))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument a))))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument a)))))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> argi -> m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument a))))))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> argi -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument (b -> a)))))))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument (b -> a))))))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument (b -> a)))))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument (b -> a))))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument (b -> a)))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument (b -> a))))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument (b -> a)))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Argument (b -> a))))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> m b) prev table, GenericFreeInterpreter t cont m a prev, Functor m) => GenericFreeInterpreter t (Sum (Constructor sym' (Product (Argument arga) (Argument (b -> a)))) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (m Unit) prev table, GenericFreeInterpreter t cont m a prev, Apply m, Applicative m) => GenericFreeInterpreter t (Sum (Constructor sym' (Argument a)) cont) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Argument (b -> a))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Argument (b -> a)))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Argument (b -> a))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument (b -> a)))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument (b -> a))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument (b -> a)))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument (b -> a))))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument (b -> a)))))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument (b -> a))))))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> argi -> m b) prev table, Functor m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument (b -> a)))))))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Argument a)) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> argi -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Product (Argument argi) (Argument a))))))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> argh -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Product (Argument argh) (Argument a)))))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> argg -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Product (Argument argg) (Argument a))))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> argf -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Product (Argument argf) (Argument a)))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> arge -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Product (Argument arge) (Argument a))))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> argd -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Product (Argument argd) (Argument a)))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> argc -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Product (Argument argc) (Argument a))))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> argb -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Product (Argument argb) (Argument a)))) m a table
(LowerFirst sym' sym, IsSymbol sym, IsSymbol sym', Lacks sym prev, Cons sym (arga -> m Unit) prev table, Apply m, Applicative m) => GenericFreeInterpreter t (Constructor sym' (Product (Argument arga) (Argument a))) m a table
#interpreter Source
interpreter :: forall t g m a table. GenericFreeInterpreter t g m a table => Generic (t a) g => Record table -> t a -> m a
#Constructors Source
type Constructors :: (Type -> Type) -> (Type -> Type) -> Type
type Constructors t m = forall g rout. Generic (t Void) g => GenericFreeConstructor m t g Top () rout => Record rout
- Modules
- Control.
Monad. Freer. Free