Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class Rearrange a where Source #
rearrange :: Int -> RearrangeFun -> a -> a Source #
Rearrange Void Source # | |
Rearrange GuardTree Source # | |
Rearrange ParPat Source # | |
Rearrange Pat Source # | |
Rearrange ExpType Source # | |
Rearrange Neutral Source # | |
Rearrange Exp Source # | |
Rearrange a => Rearrange [a] Source # | |
Rearrange a => Rearrange (SExp' a) Source # | |
Rearrange a => Rearrange (Lets a) Source # | |
(Rearrange a, Rearrange b) => Rearrange (Either a b) Source # | |
(Rearrange a, Rearrange b) => Rearrange (a, b) Source # | |
rearrangeFun :: RearrangeFun -> Int -> Int Source #
lowerFreeVars :: FreeVars -> FreeVars Source #
rearrangeFreeVars :: RearrangeFun -> Int -> FreeVars -> FreeVars Source #
class HasFreeVars a where Source #
getFreeVars :: a -> FreeVars Source #
class DeBruijnify n a where Source #
deBruijnify_ :: Int -> [n] -> a -> a Source #
DeBruijnify SIName Stmt Source # | |
DeBruijnify SIName SExp Source # | |
DeBruijnify SIName GuardTree Source # | |
DeBruijnify SIName ParPat Source # | |
DeBruijnify SIName PreStmt Source # | |
DeBruijnify n a => DeBruijnify n [a] Source # | |
DeBruijnify SIName a => DeBruijnify SIName (Lets a) Source # | |
(DeBruijnify n a, DeBruijnify n b) => DeBruijnify n (Either a b) Source # | |
(DeBruijnify n a, DeBruijnify n b) => DeBruijnify n (a, b) Source # | |
deBruijnify :: DeBruijnify n a => [n] -> a -> a Source #