| Safe Haskell | Safe-Inferred |
|---|
DDC.Core.Transform.LiftX
Description
Lifting and lowering level-0 deBruijn indices in core things.
Level-0 indices are used for both value and witness variables.
- liftX :: MapBoundX c n => Int -> c n -> c n
- liftAtDepthX :: MapBoundX c n => Int -> Int -> c n -> c n
- lowerX :: MapBoundX c n => Int -> c n -> c n
- lowerAtDepthX :: MapBoundX c n => Int -> Int -> c n -> c n
- class MapBoundX c n where
- mapBoundAtDepthX :: (Int -> Bound n -> Bound n) -> Int -> c n -> c n
Documentation
liftX :: MapBoundX c n => Int -> c n -> c nSource
Wrapper for liftAtDepthX that starts at depth 0.
Arguments
| :: MapBoundX c n | |
| => Int | Number of levels to lift. |
| -> Int | Current binding depth. |
| -> c n | Lift expression indices in this thing. |
| -> c n |
Lift debruijn indices less than or equal to the given depth.
lowerX :: MapBoundX c n => Int -> c n -> c nSource
Wrapper for lowerAtDepthX that starts at depth 0.
Arguments
| :: MapBoundX c n | |
| => Int | Number of levels to lower. |
| -> Int | Current binding depth. |
| -> c n | Lower expression indices in this thing. |
| -> c n |
Lower debruijn indices less than or equal to the given depth.