Safe Haskell | Safe-Inferred |
---|
Lifting and lowering level-0 deBruijn indices in core things.
Level-0 indices are used for both value and witness variables.
Documentation
liftX :: MapBoundX c n => Int -> c n -> c nSource
Wrapper for liftAtDepthX
that starts at depth 0.
:: 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.
:: 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.