Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- infer :: forall m t a. Infer m t => (Ann a # t) -> m (Ann (a :*: InferResult (UVarOf m)) # t)
- type InferResultsConstraint c = Recursively (InferOfConstraint (HNodesHaveConstraint c))
- inferUVarsApplyBindings :: forall m t a. (Applicative m, RTraversable t, RTraversableInferOf t, InferResultsConstraint (Unify m) t) => (Ann (a :*: InferResult (UVarOf m)) # t) -> m (Ann (a :*: InferResult (Pure :*: UVarOf m)) # t)
- module Hyper.Class.Infer
- module Hyper.Class.Infer.Env
- module Hyper.Class.Infer.InferOf
- module Hyper.Infer.ScopeLevel
- module Hyper.Infer.Result
- inferH :: Infer m t => (Ann a # t) -> InferChild m (Ann (a :*: InferResult (UVarOf m))) # t
Documentation
infer :: forall m t a. Infer m t => (Ann a # t) -> m (Ann (a :*: InferResult (UVarOf m)) # t) Source #
Perform Hindley-Milner type inference of a term
type InferResultsConstraint c = Recursively (InferOfConstraint (HNodesHaveConstraint c)) Source #
inferUVarsApplyBindings :: forall m t a. (Applicative m, RTraversable t, RTraversableInferOf t, InferResultsConstraint (Unify m) t) => (Ann (a :*: InferResult (UVarOf m)) # t) -> m (Ann (a :*: InferResult (Pure :*: UVarOf m)) # t) Source #
module Hyper.Class.Infer
module Hyper.Class.Infer.Env
module Hyper.Class.Infer.InferOf
module Hyper.Infer.ScopeLevel
module Hyper.Infer.Result
Exported only for SPECIALIZE pragmas