CurryInfo: abstract-curry-4.0.0 / AbstractCurry.Transform.updCPattern

definition:
updCPattern :: (CVarIName   -> CVarIName)
            -> (CLiteral    -> CLiteral)
            -> (QName       -> QName)
            -> CPattern   -> CPattern
updCPattern fv fl fn = trCPattern pvar plit pcomb pas pfcomb prec
 where
  pvar var = CPVar (fv var)
  plit lit = CPLit (fl lit)
  pcomb c pats = CPComb (fn c) (map (updCPattern fv fl fn) pats)
  pas v pat = CPAs (fv v) (updCPattern fv fl fn pat)
  pfcomb f pats = CPFuncComb (fn f) (map (updCPattern fv fl fn) pats)
  prec r fields = CPRecord (fn r)
                    (map (\ (n,p) -> (fn n, updCPattern fv fl fn p)) fields)
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- Updates a pattern.
failfree:
(_, _, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_) |-> {trCPattern}}
name:
updCPattern
precedence:
no precedence defined
result-values:
{trCPattern}
signature:
((Prelude.Int, String) -> (Prelude.Int, String))
-> (AbstractCurry.Types.CLiteral -> AbstractCurry.Types.CLiteral)
-> ((String, String) -> (String, String)) -> AbstractCurry.Types.CPattern
-> AbstractCurry.Types.CPattern
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
reducible on all ground data terms