Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Lam v expr h = Lam {}
- lamIn :: forall v expr h v. Lens (Lam v expr h) (Lam v expr h) v v
- lamOut :: forall v expr h expr h. Lens (Lam v expr h) (Lam v expr h) ((:#) h expr) ((:#) h expr)
- data W_Lam (v :: Type) (expr :: HyperType) node where
- W_Lam_expr :: W_Lam v expr expr
- data family MorphWitness s t :: HyperType -> HyperType -> Type
Documentation
A term for lambda abstractions.
Lam v expr
s express lambda abstractions with v
s as variable names and expr
s for bodies.
Apart from the data type, an Infer
instance is also provided.
Instances
lamOut :: forall v expr h expr h. Lens (Lam v expr h) (Lam v expr h) ((:#) h expr) ((:#) h expr) Source #
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
|