syntax-tree-0.1.0.1: Typed ASTs

Safe HaskellNone
LanguageHaskell2010

AST.Infer.Term

Synopsis

Documentation

data ITerm a v e Source #

A Knot for an inferred term - the output of infer

Constructors

ITerm 

Fields

Instances
KNodes (Flip (ITerm a) e) Source # 
Instance details

Defined in AST.Infer.Term

Associated Types

type KNodesConstraint (Flip (ITerm a) e) c :: Constraint Source #

data KWitness (Flip (ITerm a) e) a :: Type Source #

Methods

kLiftConstraint :: KNodesConstraint (Flip (ITerm a) e) c => KWitness (Flip (ITerm a) e) n -> Proxy c -> (c n -> r) -> r Source #

(Recursively KFunctor e, Recursively KFunctorInferOf e) => KFunctor (Flip (ITerm a) e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

mapK :: (forall (n :: Knot -> Type). KWitness (Flip (ITerm a) e) n -> Tree p n -> Tree q n) -> Tree (Flip (ITerm a) e) p -> Tree (Flip (ITerm a) e) q Source #

(Recursively KFoldable e, Recursively KFoldableInferOf e) => KFoldable (Flip (ITerm a) e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

foldMapK :: Monoid a0 => (forall (n :: Knot -> Type). KWitness (Flip (ITerm a) e) n -> Tree p n -> a0) -> Tree (Flip (ITerm a) e) p -> a0 Source #

(RTraversable e, RTraversableInferOf e) => KTraversable (Flip (ITerm a) e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

sequenceK :: Applicative f => Tree (Flip (ITerm a) e) (ContainedK f p) -> f (Tree (Flip (ITerm a) e) p) Source #

Constraints (ITerm a v e) Eq => Eq (ITerm a v e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

(==) :: ITerm a v e -> ITerm a v e -> Bool #

(/=) :: ITerm a v e -> ITerm a v e -> Bool #

Constraints (ITerm a v e) Ord => Ord (ITerm a v e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

compare :: ITerm a v e -> ITerm a v e -> Ordering #

(<) :: ITerm a v e -> ITerm a v e -> Bool #

(<=) :: ITerm a v e -> ITerm a v e -> Bool #

(>) :: ITerm a v e -> ITerm a v e -> Bool #

(>=) :: ITerm a v e -> ITerm a v e -> Bool #

max :: ITerm a v e -> ITerm a v e -> ITerm a v e #

min :: ITerm a v e -> ITerm a v e -> ITerm a v e #

Constraints (ITerm a v e) Show => Show (ITerm a v e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

showsPrec :: Int -> ITerm a v e -> ShowS #

show :: ITerm a v e -> String #

showList :: [ITerm a v e] -> ShowS #

Generic (ITerm a v e) Source # 
Instance details

Defined in AST.Infer.Term

Associated Types

type Rep (ITerm a v e) :: Type -> Type #

Methods

from :: ITerm a v e -> Rep (ITerm a v e) x #

to :: Rep (ITerm a v e) x -> ITerm a v e #

Constraints (ITerm a v e) Binary => Binary (ITerm a v e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

put :: ITerm a v e -> Put #

get :: Get (ITerm a v e) #

putList :: [ITerm a v e] -> Put #

Constraints (ITerm a v e) NFData => NFData (ITerm a v e) Source # 
Instance details

Defined in AST.Infer.Term

Methods

rnf :: ITerm a v e -> () #

data KWitness (Flip (ITerm a) e) n Source # 
Instance details

Defined in AST.Infer.Term

data KWitness (Flip (ITerm a) e) n where
type KNodesConstraint (Flip (ITerm a) e) c Source # 
Instance details

Defined in AST.Infer.Term

type Rep (ITerm a v e) Source # 
Instance details

Defined in AST.Infer.Term

type Rep (ITerm a v e) = D1 (MetaData "ITerm" "AST.Infer.Term" "syntax-tree-0.1.0.1-5Y9WhklreXaDnL6Q9tTtln" False) (C1 (MetaCons "ITerm" PrefixI True) (S1 (MetaSel (Just "_iAnn") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: (S1 (MetaSel (Just "_iRes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Tree (InferOf (GetKnot e)) v)) :*: S1 (MetaSel (Just "_iVal") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (e # ITerm a v)))))

iVal :: forall a v e. Lens' (ITerm a v e) ((#) e (ITerm a v)) Source #

iRes :: forall a v e. Lens' (ITerm a v e) (Tree (InferOf (GetKnot e)) v) Source #

iAnn :: forall a v e. Lens' (ITerm a v e) a Source #

class ITermVarsConstraint c e where Source #

Minimal complete definition

Nothing

Methods

iTermVarsConstraintCtx :: Proxy c -> Proxy e -> Dict (ITermVarsConstraintContext c e) Source #

iTermVarsConstraintCtx :: ITermVarsConstraintContext c e => Proxy c -> Proxy e -> Dict (ITermVarsConstraintContext c e) Source #

Instances
(RNodes t, c t, Recursive c, ITermVarsConstraint c t) => ITermVarsConstraint c (Scheme v t) Source # 
Instance details

Defined in AST.Term.Scheme

Methods

iTermVarsConstraintCtx :: Proxy c -> Proxy (Scheme v t) -> Dict (ITermVarsConstraintContext c (Scheme v t)) Source #

Recursive (ITermVarsConstraint c) Source # 
Instance details

Defined in AST.Infer.Term

iAnnotations :: forall e a b v. RTraversable e => Traversal (Tree (ITerm a v) e) (Tree (ITerm b v) e) a b Source #

A Traversal from an inferred term to the node annotations (not the inference results)

iTermToAnn :: forall a v e r. Recursively KFunctor e => (forall n. KRecWitness e n -> a -> Tree (InferOf n) v -> r) -> Tree (ITerm a v) e -> Tree (Ann r) e Source #