Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Hyper.Syntax.Map
Synopsis
- newtype TermMap h expr f = TermMap (Map h (f :# expr))
- _TermMap :: forall h expr f h expr f. Iso (TermMap h expr f) (TermMap h expr f) (Map h ((:#) f expr)) (Map h ((:#) f expr))
- data W_TermMap (h :: Type) (expr :: HyperType) node where
- W_TermMap_expr :: W_TermMap h expr expr
- data family MorphWitness s t :: HyperType -> HyperType -> Type
Documentation
newtype TermMap h expr f Source #
A mapping of keys to terms.
Apart from the data type, a ZipMatch
instance is also provided.
Instances
Applicative (Map h) => HApply (TermMap h expr) Source # | |
HFoldable (TermMap h expr) Source # | |
HFunctor (TermMap h expr) Source # | |
HNodes (TermMap h expr) Source # | |
Defined in Hyper.Syntax.Map Associated Types type HNodesConstraint (TermMap h expr) c Source # type HWitnessType (TermMap h expr) :: HyperType -> Type Source # Methods hLiftConstraint :: forall c (n :: HyperType) r. HNodesConstraint (TermMap h expr) c => HWitness (TermMap h expr) n -> Proxy c -> (c n => r) -> r Source # | |
Applicative (Map h) => HPointed (TermMap h expr) Source # | |
HTraversable (TermMap h expr) Source # | |
Defined in Hyper.Syntax.Map Methods hsequence :: forall f (p :: AHyperType -> Type). Applicative f => (TermMap h expr # ContainedH f p) -> f (TermMap h expr # p) Source # | |
Eq h => ZipMatch (TermMap h expr) Source # | |
HMorph (TermMap h expr0) (TermMap h expr1) Source # | |
Defined in Hyper.Syntax.Map Associated Types type MorphConstraint (TermMap h expr0) (TermMap h expr1) c Source # data MorphWitness (TermMap h expr0) (TermMap h expr1) :: HyperType -> HyperType -> Type Source # Methods morphMap :: (forall (a :: HyperType) (b :: HyperType). MorphWitness (TermMap h expr0) (TermMap h expr1) a b -> (p # a) -> q # b) -> (TermMap h expr0 # p) -> TermMap h expr1 # q Source # morphLiftConstraint :: forall c (a :: HyperType) (b :: HyperType) r. MorphConstraint (TermMap h expr0) (TermMap h expr1) c => MorphWitness (TermMap h expr0) (TermMap h expr1) a b -> Proxy c -> (c a b => r) -> r Source # | |
Generic (TermMap h expr f) Source # | |
Constraints (TermMap h expr f) Show => Show (TermMap h expr f) Source # | |
Constraints (TermMap h expr f) Binary => Binary (TermMap h expr f) Source # | |
Constraints (TermMap h expr f) NFData => NFData (TermMap h expr f) Source # | |
Defined in Hyper.Syntax.Map | |
Constraints (TermMap h expr f) Eq => Eq (TermMap h expr f) Source # | |
Constraints (TermMap h expr f) Ord => Ord (TermMap h expr f) Source # | |
Defined in Hyper.Syntax.Map Methods compare :: TermMap h expr f -> TermMap h expr f -> Ordering # (<) :: TermMap h expr f -> TermMap h expr f -> Bool # (<=) :: TermMap h expr f -> TermMap h expr f -> Bool # (>) :: TermMap h expr f -> TermMap h expr f -> Bool # (>=) :: TermMap h expr f -> TermMap h expr f -> Bool # max :: TermMap h expr f -> TermMap h expr f -> TermMap h expr f # min :: TermMap h expr f -> TermMap h expr f -> TermMap h expr f # | |
type HWitnessType (TermMap h expr) Source # | |
Defined in Hyper.Syntax.Map | |
type HNodesConstraint (TermMap h expr) constraint Source # | |
Defined in Hyper.Syntax.Map | |
data MorphWitness (TermMap h expr0) (TermMap h expr1) _ _1 Source # | |
Defined in Hyper.Syntax.Map data MorphWitness (TermMap h expr0) (TermMap h expr1) _ _1 where
| |
type MorphConstraint (TermMap h expr0) (TermMap h expr1) constraint Source # | |
Defined in Hyper.Syntax.Map | |
type Rep (TermMap h expr f) Source # | |
Defined in Hyper.Syntax.Map |
_TermMap :: forall h expr f h expr f. Iso (TermMap h expr f) (TermMap h expr f) (Map h ((:#) f expr)) (Map h ((:#) f expr)) Source #
data W_TermMap (h :: Type) (expr :: HyperType) node where Source #
Constructors
W_TermMap_expr :: W_TermMap h expr expr |
data family MorphWitness s t :: HyperType -> HyperType -> Type Source #
Instances
data MorphWitness (ANode a) (ANode b) _ _1 Source # | |
Defined in Hyper.Combinator.ANode | |
data MorphWitness (App expr0) (App expr1) _ _1 Source # | |
Defined in Hyper.Syntax.App data MorphWitness (App expr0) (App expr1) _ _1 where
| |
data MorphWitness (FuncType typ0) (FuncType typ1) _ _1 Source # | |
Defined in Hyper.Syntax.FuncType data MorphWitness (FuncType typ0) (FuncType typ1) _ _1 where
| |
data MorphWitness (Lam v expr0) (Lam v expr1) _ _1 Source # | |
Defined in Hyper.Syntax.Lam data MorphWitness (Lam v expr0) (Lam v expr1) _ _1 where
| |
data MorphWitness (Let v expr0) (Let v expr1) _ _1 Source # | |
Defined in Hyper.Syntax.Let data MorphWitness (Let v expr0) (Let v expr1) _ _1 where
| |
data MorphWitness (TermMap h expr0) (TermMap h expr1) _ _1 Source # | |
Defined in Hyper.Syntax.Map data MorphWitness (TermMap h expr0) (TermMap h expr1) _ _1 where
| |
data MorphWitness (ToNom nomId term0) (ToNom nomId term1) _ _1 Source # | |
Defined in Hyper.Syntax.Nominal data MorphWitness (ToNom nomId term0) (ToNom nomId term1) _ _1 where
| |
data MorphWitness (Var v expr0) (Var v expr1) _ _1 Source # | |
Defined in Hyper.Syntax.Var | |
data MorphWitness (RowExtend key val0 rest0) (RowExtend key val1 rest1) _ _1 Source # | |
Defined in Hyper.Syntax.Row data MorphWitness (RowExtend key val0 rest0) (RowExtend key val1 rest1) _ _1 where
| |
data MorphWitness (TypedLam var typ0 expr0) (TypedLam var typ1 expr1) _ _1 Source # | |
Defined in Hyper.Syntax.TypedLam data MorphWitness (TypedLam var typ0 expr0) (TypedLam var typ1 expr1) _ _1 where
|