Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- data Context a n = Context {
- contextEnv :: EnvX n
- contextCtx :: Ctx a n
- enterLAM :: Ord n => Context a n -> a -> Bind n -> Exp a n -> (Context a n -> Exp a n -> b) -> b
- enterLam :: Ord n => Context a n -> a -> Bind n -> Exp a n -> (Context a n -> Exp a n -> b) -> b
- enterAppLeft :: Context a n -> a -> Exp a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b
- enterAppRight :: Context a n -> a -> Exp a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b
- enterLetBody :: Ord n => Context a n -> a -> Lets a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b
- enterLetLLet :: Context a n -> a -> Bind n -> Exp a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b
- enterLetLRec :: Ord n => Context a n -> a -> [(Bind n, Exp a n)] -> Bind n -> Exp a n -> [(Bind n, Exp a n)] -> Exp a n -> (Context a n -> Exp a n -> b) -> b
- enterCaseScrut :: Context a n -> a -> Exp a n -> [Alt a n] -> (Context a n -> Exp a n -> b) -> b
- enterCaseAlt :: Ord n => Context a n -> a -> Exp a n -> [Alt a n] -> Pat n -> Exp a n -> [Alt a n] -> (Context a n -> Exp a n -> b) -> b
- enterCastBody :: Context a n -> a -> Cast a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b
Documentation
Context | |
|
enterLAM :: Ord n => Context a n -> a -> Bind n -> Exp a n -> (Context a n -> Exp a n -> b) -> b Source #
Enter the body of a type lambda.
enterLam :: Ord n => Context a n -> a -> Bind n -> Exp a n -> (Context a n -> Exp a n -> b) -> b Source #
Enter the body of a value lambda.
enterAppLeft :: Context a n -> a -> Exp a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b Source #
Enter the left of an application.
enterAppRight :: Context a n -> a -> Exp a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b Source #
Enter the right of an application.
enterLetBody :: Ord n => Context a n -> a -> Lets a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b Source #
Enter the body of a let-expression.
enterLetLLet :: Context a n -> a -> Bind n -> Exp a n -> Exp a n -> (Context a n -> Exp a n -> b) -> b Source #
Enter the binding of a LLet
enterLetLRec :: Ord n => Context a n -> a -> [(Bind n, Exp a n)] -> Bind n -> Exp a n -> [(Bind n, Exp a n)] -> Exp a n -> (Context a n -> Exp a n -> b) -> b Source #
Enter a binding of a LRec group.
enterCaseScrut :: Context a n -> a -> Exp a n -> [Alt a n] -> (Context a n -> Exp a n -> b) -> b Source #
Enter the scrutinee of a case-expression.