hypertypes-0.1.0.2: Typed ASTs
Safe HaskellNone
LanguageHaskell2010

Hyper.Class.Infer.InferOf

Synopsis

Documentation

class HasInferredType t where Source #

HasInferredType t represents that InferOf t contains a TypeOf t, which represents its inferred type.

Associated Types

type TypeOf t :: HyperType Source #

The type of t

Methods

inferredType :: Proxy t -> ALens' (InferOf t # v) (v # TypeOf t) Source #

Instances

Instances details
HasInferredType (Var v t) Source # 
Instance details

Defined in Hyper.Type.AST.Var

Associated Types

type TypeOf (Var v t) :: HyperType Source #

Methods

inferredType :: Proxy (Var v t) -> ALens' (InferOf (Var v t) # v0) (v0 # TypeOf (Var v t)) Source #

class HasInferredValue t where Source #

HasInferredValue t represents that InferOf t contains an inferred value for t.

Methods

inferredValue :: Lens' (InferOf t # v) (v # t) Source #

A Lens from an inference result to an inferred value

class InferOfConstraint c h where Source #

Methods

inferOfConstraint :: proxy0 c -> proxy1 h -> Dict (c (InferOf h)) Source #

Instances

Instances details
c (InferOf h) => InferOfConstraint c h Source # 
Instance details

Defined in Hyper.Class.Infer.InferOf

Methods

inferOfConstraint :: proxy0 c -> proxy1 h -> Dict (c (InferOf h)) Source #