Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Variables.
Documentation
newtype Var v (expr :: HyperType) (h :: AHyperType) Source #
Parameterized by term AST and not by its type AST (which currently is its only part used), for future evaluation/complilation support.
Var v |
Instances
(UnifyGen m (TypeOf expr), HasScope m (ScopeOf expr), VarType v expr, Monad m) => Infer m (Var v expr) Source # | |
Defined in Hyper.Syntax.Var inferBody :: forall (h :: AHyperType -> Type). (Var v expr # InferChild m h) -> m (Var v expr # h, InferOf (Var v expr) # UVarOf m) Source # inferContext :: proxy0 m -> proxy1 (Var v expr) -> Dict (HNodesConstraint (Var v expr) (Infer m), HNodesConstraint (InferOf (Var v expr)) (UnifyGen m)) Source # | |
Semigroup v => HApply (Var v expr) Source # | |
HContext (Var v expr) Source # | |
HFoldable (Var v expr) Source # | |
HFunctor (Var v expr) Source # | |
HasInferredType (Var v t) Source # | |
HNodes (Var v expr) Source # | |
Defined in Hyper.Syntax.Var type HNodesConstraint (Var v expr) c Source # type HWitnessType (Var v expr) :: HyperType -> Type Source # hLiftConstraint :: forall c (n :: HyperType) r. HNodesConstraint (Var v expr) c => HWitness (Var v expr) n -> Proxy c -> (c n => r) -> r Source # | |
Monoid v => HPointed (Var v expr) Source # | |
HTraversable (Var v expr) Source # | |
Defined in Hyper.Syntax.Var hsequence :: forall f (p :: AHyperType -> Type). Applicative f => (Var v expr # ContainedH f p) -> f (Var v expr # p) Source # | |
Eq v => ZipMatch (Var v expr) Source # | |
HMorph (Var v expr0) (Var v expr1) Source # | |
Defined in Hyper.Syntax.Var type MorphConstraint (Var v expr0) (Var v expr1) c Source # data MorphWitness (Var v expr0) (Var v expr1) :: HyperType -> HyperType -> Type Source # morphMap :: (forall (a :: HyperType) (b :: HyperType). MorphWitness (Var v expr0) (Var v expr1) a b -> (p # a) -> q # b) -> (Var v expr0 # p) -> Var v expr1 # q Source # morphLiftConstraint :: forall c (a :: HyperType) (b :: HyperType) r. MorphConstraint (Var v expr0) (Var v expr1) c => MorphWitness (Var v expr0) (Var v expr1) a b -> Proxy c -> (c a b => r) -> r Source # | |
Generic (Var v expr h) Source # | |
Show v => Show (Var v expr h) Source # | |
Binary v => Binary (Var v expr h) Source # | |
NFData v => NFData (Var v expr h) Source # | |
Defined in Hyper.Syntax.Var | |
Eq v => Eq (Var v expr h) Source # | |
Ord v => Ord (Var v expr h) Source # | |
Defined in Hyper.Syntax.Var | |
Pretty v => Pretty (Var v expr h) Source # | |
Defined in Hyper.Syntax.Var pPrintPrec :: PrettyLevel -> Rational -> Var v expr h -> Doc # pPrint :: Var v expr h -> Doc # pPrintList :: PrettyLevel -> [Var v expr h] -> Doc # | |
type InferOf (Var _1 t) Source # | |
Defined in Hyper.Syntax.Var | |
type TypeOf (Var v t) Source # | |
Defined in Hyper.Syntax.Var | |
type HWitnessType (Var v expr) Source # | |
Defined in Hyper.Syntax.Var | |
type HNodesConstraint (Var v expr) constraint Source # | |
Defined in Hyper.Syntax.Var | |
data MorphWitness (Var v expr0) (Var v expr1) _ _1 Source # | |
Defined in Hyper.Syntax.Var | |
type MorphConstraint (Var v expr0) (Var v expr1) constraint Source # | |
Defined in Hyper.Syntax.Var | |
type Rep (Var v expr h) Source # | |
Defined in Hyper.Syntax.Var |