Module

Type.Eval

Package
purescript-typelevel-eval
Repository
natefaubion/purescript-typelevel-eval

#TypeExpr Source

data TypeExpr :: Type

#TEProxy Source

data TEProxy (expr :: TypeExpr)

Constructors

#proxyEval Source

proxyEval :: forall ty expr. Eval expr ty => TEProxy expr -> Proxy ty

#Eval Source

class Eval (expr :: TypeExpr) (result :: Type) | expr -> result

Instances

#EvalTypeError Source

class EvalTypeError (name :: Symbol) (ctx :: Symbol) (expected :: Symbol) (ty :: Type) 

Instances

#type (<>) Source

Operator alias for Prim.TypeError.Beside (right-associative / precedence 2)

#type (|>) Source

Operator alias for Prim.TypeError.Above (right-associative / precedence 1)

#Throw Source

data Throw :: Symbol -> Doc -> TypeExpr

Instances

#Lift Source

data Lift :: Type -> TypeExpr

Instances

#Lift1 Source

data Lift1 :: (Type -> Type) -> Type -> TypeExpr

Instances

#Lift2 Source

data Lift2 :: (Type -> Type -> Type) -> Type -> Type -> TypeExpr

Instances