CurryInfo: flatcurry-annotated-3.3.0 / FlatCurry.Annotated.Goodies.updRule

definition:
updRule :: (a -> a)
        -> ([(VarIndex, a)] -> [(VarIndex, a)])
        -> (AExpr a -> AExpr a)
        -> (String -> String)
        -> ARule a -> ARule a
updRule fa fvs fe fs = trRule rule ext
 where
  rule a vs e = ARule     (fa a) (fvs vs) (fe e)
  ext  a    s = AExternal (fa a) (fs s)
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- update rule
failfree:
(_, _, _, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_,_) |-> {trRule}}
name:
updRule
precedence:
no precedence defined
result-values:
{trRule}
signature:
(a -> a) -> ([(Prelude.Int, a)] -> [(Prelude.Int, a)])
-> (FlatCurry.Annotated.Types.AExpr a -> FlatCurry.Annotated.Types.AExpr a)
-> (String -> String) -> FlatCurry.Annotated.Types.ARule a
-> FlatCurry.Annotated.Types.ARule a
solution-complete:
operation might suspend on free variables
terminating:
yes
totally-defined:
reducible on all ground data terms