Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- fromLeftExpr :: LeftExpr -> Expr
- newFreshName :: MonadAlpha m => NameHint -> m VarName
- renameVarName :: MonadAlpha m => NameHint -> VarName -> m VarName
- renameVarName' :: MonadAlpha m => NameHint -> String -> m VarName
- freeVars :: Expr -> Set VarName
- freeVarsStatements :: [Statement] -> Set VarName
- freeVarsStatement :: Statement -> Set VarName
- freeVarsDeclareRight :: DeclareRight -> Set VarName
- freeVarsAssignExpr :: AssignExpr -> Set VarName
- freeVarsLeftExpr :: LeftExpr -> Set VarName
- shouldBeArray :: [Type] -> Bool
- cinStatement :: Expr -> Statement
- coutStatement :: Expr -> Statement
- repStatement :: VarName -> Expr -> [Statement] -> Statement
- litInt64 :: Integer -> Expr
- litInt32 :: Integer -> Expr
- incrExpr :: Expr -> Expr
- pattern Call' :: Function -> [Expr] -> Expr
- size :: Expr -> Expr
- at :: Expr -> Expr -> Expr
- cast :: Type -> Expr -> Expr
- assignSimple :: VarName -> Expr -> Statement
- assignAt :: VarName -> Expr -> Expr -> Statement
- callFunction :: FunName -> [Type] -> [Expr] -> Expr
- callFunction' :: FunName -> [Type] -> [Expr] -> Statement
- callMethod :: Expr -> FunName -> [Expr] -> Expr
- callMethod' :: Expr -> FunName -> [Expr] -> Statement
- vecCtor :: Type -> [Expr] -> Expr
- begin :: Expr -> Expr
- end :: Expr -> Expr
- mapExprStatementExprM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> Expr -> m Expr
- mapExprStatementLeftExprM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> LeftExpr -> m LeftExpr
- mapExprStatementAssignExprM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> AssignExpr -> m AssignExpr
- mapExprStatementStatementM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> Statement -> m [Statement]
- mapExprStatementToplevelStatementM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> ToplevelStatement -> m ToplevelStatement
- mapExprStatementProgramM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> Program -> m Program
- mapExprStatementProgram :: (Expr -> Expr) -> (Statement -> [Statement]) -> Program -> Program
- mapExprStatementExpr :: (Expr -> Expr) -> (Statement -> [Statement]) -> Expr -> Expr
- mapSubExprM :: Monad m => (Expr -> m Expr) -> Expr -> m Expr
- mapDirectExprStatementM :: Monad m => (Expr -> m Expr) -> Statement -> m Statement
- mapDirectExprAssignExprM :: Monad m => (Expr -> m Expr) -> AssignExpr -> m AssignExpr
- mapDirectExprLeftExprM :: Monad m => (Expr -> m Expr) -> LeftExpr -> m LeftExpr
- replaceExpr :: VarName -> Expr -> Expr -> Expr
- replaceStatement :: VarName -> Expr -> Statement -> Statement
- mapToplevelStatementProgramM :: Monad m => (ToplevelStatement -> m [ToplevelStatement]) -> Program -> m Program
- mapLeftExprAssignExprM :: Applicative m => (LeftExpr -> m LeftExpr) -> AssignExpr -> m AssignExpr
- mapLeftExprAssignExpr :: (LeftExpr -> LeftExpr) -> AssignExpr -> AssignExpr
- mapVarNameExprStatementGenericM :: forall m a. Monad m => ((Expr -> m Expr) -> (Statement -> m [Statement]) -> a) -> (VarName -> m VarName) -> a
- mapVarNameStatementM :: Monad m => (VarName -> m VarName) -> Statement -> m Statement
- mapVarNameToplevelStatementM :: Monad m => (VarName -> m VarName) -> ToplevelStatement -> m ToplevelStatement
- mapVarNameProgramM :: Monad m => (VarName -> m VarName) -> Program -> m Program
- renameVarNameStatement :: VarName -> VarName -> Statement -> Statement
Documentation
fromLeftExpr :: LeftExpr -> Expr Source #
newFreshName :: MonadAlpha m => NameHint -> m VarName Source #
renameVarName :: MonadAlpha m => NameHint -> VarName -> m VarName Source #
renameVarName' :: MonadAlpha m => NameHint -> String -> m VarName Source #
shouldBeArray :: [Type] -> Bool Source #
cinStatement :: Expr -> Statement Source #
coutStatement :: Expr -> Statement Source #
mapExprStatementExprM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> Expr -> m Expr Source #
mapExprStatementLeftExprM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> LeftExpr -> m LeftExpr Source #
mapExprStatementAssignExprM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> AssignExpr -> m AssignExpr Source #
mapExprStatementStatementM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> Statement -> m [Statement] Source #
mapExprStatementToplevelStatementM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> ToplevelStatement -> m ToplevelStatement Source #
mapExprStatementProgramM :: Monad m => (Expr -> m Expr) -> (Statement -> m [Statement]) -> Program -> m Program Source #
mapExprStatementProgram :: (Expr -> Expr) -> (Statement -> [Statement]) -> Program -> Program Source #
mapDirectExprStatementM :: Monad m => (Expr -> m Expr) -> Statement -> m Statement Source #
mapDirectExprStatementM
replaces exprs which are direct children of a given statement.
mapDirectExprAssignExprM :: Monad m => (Expr -> m Expr) -> AssignExpr -> m AssignExpr Source #
mapToplevelStatementProgramM :: Monad m => (ToplevelStatement -> m [ToplevelStatement]) -> Program -> m Program Source #
mapLeftExprAssignExprM :: Applicative m => (LeftExpr -> m LeftExpr) -> AssignExpr -> m AssignExpr Source #
mapLeftExprAssignExpr :: (LeftExpr -> LeftExpr) -> AssignExpr -> AssignExpr Source #
mapVarNameExprStatementGenericM :: forall m a. Monad m => ((Expr -> m Expr) -> (Statement -> m [Statement]) -> a) -> (VarName -> m VarName) -> a Source #
mapVarNameToplevelStatementM :: Monad m => (VarName -> m VarName) -> ToplevelStatement -> m ToplevelStatement Source #