Module
Control.Monad.Freer.Free
- Package
- purescript-freer-free
- Repository
- mikesol/purescript-freer-free
#LowerFirst Source
class LowerFirst :: Symbol -> Symbol -> Constraintclass 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 -> Constraintclass 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 -> ConstructorPathdata Inl t0
Instances
(ReconstructGeneric p (Sum a t) b) => ReconstructGeneric (Inl p) a b
#Inr Source
data Inr :: ConstructorPath -> ConstructorPathdata Inr t0
Instances
(ReconstructGeneric p (Sum t a) b) => ReconstructGeneric (Inr p) a b
#ReconstructGeneric Source
class ReconstructGeneric :: ConstructorPath -> Type -> Type -> Constraintclass 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 -> Constraintclass 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 -> Constraintclass 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) -> Typetype Constructors t m = forall g rout. Generic (t Void) g => GenericFreeConstructor m t g Top () rout => Record rout
- Modules
- Control.
Monad. Freer. Free