Safe Haskell | Safe-Infered |
---|
- externals :: [External]
- visibleIds :: TranslateH CoreExpr [Id]
- freshNameGen :: Maybe Name -> [Id] -> String -> String
- freshNameGenT :: Maybe Name -> TranslateH CoreExpr (String -> String)
- inventNames :: [Id] -> String -> String
- shadowedNamesT :: TranslateH CoreExpr [String]
- shadowedNamesQuery :: TranslateH CoreExpr String
- ifShadowingR :: RewriteH CoreExpr
- renameIdR :: (Injection a Core, Generic a ~ Core) => Id -> Id -> RewriteH a
- replaceId :: Id -> Id -> Id -> Id
- alphaLam :: Maybe Name -> RewriteH CoreExpr
- alphaCaseBinder :: Maybe Name -> RewriteH CoreExpr
- alphaAltId :: Maybe Name -> Id -> RewriteH CoreAlt
- alphaAlt :: RewriteH CoreAlt
- alphaCase :: RewriteH CoreExpr
- alphaLetNonRec :: Maybe Name -> RewriteH CoreExpr
- alphaLetRecId :: Maybe Name -> Id -> RewriteH CoreExpr
- alphaLetRec :: RewriteH CoreExpr
- alphaLetRecOne :: Maybe Name -> RewriteH CoreExpr
- alphaLetOne :: Maybe Name -> RewriteH CoreExpr
- alphaLet :: RewriteH CoreExpr
- alphaConsNonRec :: Maybe Name -> RewriteH CoreProgram
- alphaConsRecId :: Maybe Name -> Id -> RewriteH CoreProgram
- alphaConsRec :: RewriteH CoreProgram
- alphaConsRecOne :: Maybe Name -> RewriteH CoreProgram
- alphaConsOne :: Maybe Name -> RewriteH CoreProgram
- alphaCons :: RewriteH CoreProgram
- alpha :: RewriteH Core
- unshadow :: RewriteH Core
- wrongFormForAlpha :: String -> String
Documentation
freshNameGenT :: Maybe Name -> TranslateH CoreExpr (String -> String)Source
inventNames :: [Id] -> String -> StringSource
shadowedNamesQuery :: TranslateH CoreExpr StringSource
Output a list of all variables that shadowed by bindings in the is expression.
renameIdR :: (Injection a Core, Generic a ~ Core) => Id -> Id -> RewriteH aSource
Arguments are the original identifier and the replacement identifier, respectively.
alphaLam :: Maybe Name -> RewriteH CoreExprSource
Alpha rename a lambda binder. Optionally takes a suggested new name.
alphaCaseBinder :: Maybe Name -> RewriteH CoreExprSource
Alpha rename a case binder. Optionally takes a suggested new name.
alphaAltId :: Maybe Name -> Id -> RewriteH CoreAltSource
Rename the specified identifier in a case alternative. Optionally takes a suggested new name.
alphaLetNonRec :: Maybe Name -> RewriteH CoreExprSource
Alpha rename a non-recursive let binder. Optionally takes a suggested new name.
alphaLetRecId :: Maybe Name -> Id -> RewriteH CoreExprSource
Rename the specified identifier bound in a recursive let. Optionally takes a suggested new name.
alphaLetRec :: RewriteH CoreExprSource
Rename all identifiers bound in a recursive let.
alphaLetRecOne :: Maybe Name -> RewriteH CoreExprSource
Rename the identifier bound in a recursive let with a single recursively bound identifier. Optionally takes a suggested new name.
alphaLetOne :: Maybe Name -> RewriteH CoreExprSource
Rename the identifier bound in a let with a single bound identifier. Optionally takes a suggested new name.
alphaConsNonRec :: Maybe Name -> RewriteH CoreProgramSource
Alpha rename a non-recursive top-level binder. Optionally takes a suggested new name.
alphaConsRecId :: Maybe Name -> Id -> RewriteH CoreProgramSource
Rename the specified identifier bound in a recursive top-level binder. Optionally takes a suggested new name.
alphaConsRec :: RewriteH CoreProgramSource
Rename all identifiers bound in a recursive top-level binder.
alphaConsRecOne :: Maybe Name -> RewriteH CoreProgramSource
Rename the identifier bound in a recursive top-level binder with a single recursively bound identifier. Optionally takes a suggested new name.
alphaConsOne :: Maybe Name -> RewriteH CoreProgramSource
Rename the identifier bound in a top-level binder with a single bound identifier. Optionally takes a suggested new name.
alphaCons :: RewriteH CoreProgramSource
Rename all identifiers bound in a Let.
Alpha rename any bindings at this node. Note: does not rename case alternatives unless invoked on the alternative.