curry-base-0.4.2: Functions for manipulating Curry programs

Copyright(c) 2009 Holger Siegel
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Curry.ExtendedFlat.MonadicGoodies

Description

 

Synopsis

Documentation

type UpdateM m a b = (b -> m b) -> a -> m a Source #

Monadic update of a type's component

postOrderM :: Monad m => UpdateM m Expr Expr Source #

Update an Expr in post-order

updFuncExpsM :: Monad m => UpdateM m FuncDecl Expr Source #

Update all Exprs in a function declaration in post-order

updProgFuncsM :: Monad m => UpdateM m Prog FuncDecl Source #

Update all FuncDecls in a program

updFuncLetsM :: Monad m => ([(VarIndex, Expr)] -> Expr -> m Expr) -> FuncDecl -> m FuncDecl Source #

Update all let-declarations in a function declaration