CurryInfo: rewriting-3.0.0 / Rewriting.Files.fromPattern

definition: Info
 
fromPattern :: QName -> CPattern -> (Term QName, Subst QName)
fromPattern _  (CPVar (v, _))    = (TermVar v, emptySubst)
fromPattern _  (CPLit l)         = (fromLiteral l, emptySubst)
fromPattern fn (CPComb c ps)     =
  let (ts, subs) = unzip (map (fromPattern fn) ps)
   in (TermCons c ts, foldr composeSubst emptySubst subs)
fromPattern fn (CPAs (v, _) p)   = let (t, sub) = fromPattern fn p
                                    in (t, extendSubst sub v t)
fromPattern fn (CPFuncComb c ps) =
  let (ts, subs) = unzip (map (fromPattern fn) ps)
   in (TermCons c ts, foldr composeSubst emptySubst subs)
fromPattern fn (CPLazy p)        = fromPattern fn p
fromPattern fn (CPRecord _ _)    = error (pError "fromPattern" "CPRecord" fn)
demand: Info
 argument 2
deterministic: Info
 deterministic operation
documentation: Info
 
Transforms an abstract Curry pattern for the function with the given name
into a pair of a term and a substitution.
failfree: Info
 (_, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,{CPVar}) |-> {(,)} || (_,{CPLit}) |-> {(,)} || (_,{CPComb}) |-> {(,)} || (_,{CPAs}) |-> {(,)} || (_,{CPFuncComb}) |-> {(,)} || (_,{CPLazy}) |-> {(,)}}
name: Info
 fromPattern
precedence: Info
 no precedence defined
result-values: Info
 {(,)}
signature: Info
 (String, String) -> AbstractCurry.Types.CPattern
-> (Rewriting.Term.Term (String, String), Data.Map.Map Prelude.Int (Rewriting.Term.Term (String, String)))
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term