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

#LowerCase Source

class LowerCase :: Symbol -> Symbol -> Constraintclass LowerCase (i :: Symbol) (o :: Symbol) | i -> o

Instances

#ConstructorPath Source

#Inl Source

data Inl :: ConstructorPath -> ConstructorPathdata Inl t0

Instances

#Inr Source

data Inr :: ConstructorPath -> ConstructorPathdata Inr t0

Instances

#ReconstructGeneric Source

class ReconstructGeneric :: ConstructorPath -> Type -> Type -> Constraintclass ReconstructGeneric (path :: ConstructorPath) a g | path a -> g where

Members

Instances

#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

Instances

#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

Instances

#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