CurryInfo: abstract-curry-4.0.0 / AbstractCurry.Build.guardedRule

definition: Info
 
guardedRule :: [CPattern] -> [(CExpr,CExpr)] -> [CLocalDecl] -> CRule
guardedRule pats gs ldecls
  | length gs == 1 && fst (head gs) == CSymbol (pre "True")
              = CRule pats (CSimpleRhs (snd (head gs)) ldecls)
  | otherwise = CRule pats (CGuardedRhs gs ldecls)
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Constructs a rule with a possibly guarded right-hand side
and local declarations.
A simple right-hand side is constructed if there is only one
`True` condition.
failfree: Info
 (_, {:}, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_) |-> {CRule}}
name: Info
 guardedRule
precedence: Info
 no precedence defined
result-values: Info
 {CRule}
signature: Info
 [AbstractCurry.Types.CPattern]
-> [(AbstractCurry.Types.CExpr, AbstractCurry.Types.CExpr)]
-> [AbstractCurry.Types.CLocalDecl] -> AbstractCurry.Types.CRule
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term