Safe Haskell | None |
---|---|
Language | Haskell2010 |
IR.Constraint.Constrain.Expression
Synopsis
- type Def = (VarId, [Annotation], Variable, Expr Attachment)
- type BinderDef = (Binder Attachment, Expr Attachment)
- constrainBinderDefs :: [BinderDef] -> Constraint -> TC Constraint
- constrainDefs :: [Def] -> Constraint -> TC Constraint
- constrainRecDefs :: [Def] -> Constraint -> TC Constraint
- constrainExprAttached :: Expr Attachment -> Type -> TC Constraint
- constrainExprAnnotated :: Expr Attachment -> [Annotation] -> Type -> TC Constraint
- constrainExpr :: Expr Attachment -> Type -> TC Constraint
- constrainLit :: Literal -> Type -> TC Constraint
- constrainApp :: Expr Attachment -> Expr Attachment -> Type -> TC Constraint
- constrainLambda :: Binder Attachment -> Expr Attachment -> Type -> TC Constraint
- constrainMatch :: Expr Attachment -> [(Alt Attachment, Expr Attachment)] -> Type -> TC Constraint
- constrainBranch :: Alt Attachment -> Expr Attachment -> Type -> Type -> TC Constraint
- constrainPrim :: Primitive -> [Expr Attachment] -> Type -> TC Constraint
- lookupPrim :: Int -> Primitive -> TC Scheme
Documentation
type Def = (VarId, [Annotation], Variable, Expr Attachment) Source #
HELPER ALIASES
type BinderDef = (Binder Attachment, Expr Attachment) Source #
constrainBinderDefs :: [BinderDef] -> Constraint -> TC Constraint Source #
DEFS
constrainDefs :: [Def] -> Constraint -> TC Constraint Source #
constrainRecDefs :: [Def] -> Constraint -> TC Constraint Source #
constrainExprAttached :: Expr Attachment -> Type -> TC Constraint Source #
CONSTRAIN EXPRESSIONS
constrainExprAnnotated :: Expr Attachment -> [Annotation] -> Type -> TC Constraint Source #
constrainExpr :: Expr Attachment -> Type -> TC Constraint Source #
constrainLit :: Literal -> Type -> TC Constraint Source #
constrainApp :: Expr Attachment -> Expr Attachment -> Type -> TC Constraint Source #
constrainLambda :: Binder Attachment -> Expr Attachment -> Type -> TC Constraint Source #
constrainMatch :: Expr Attachment -> [(Alt Attachment, Expr Attachment)] -> Type -> TC Constraint Source #
constrainBranch :: Alt Attachment -> Expr Attachment -> Type -> Type -> TC Constraint Source #
constrainPrim :: Primitive -> [Expr Attachment] -> Type -> TC Constraint Source #