CurryInfo: residuation-analysis-3.0.0 / AnalyzeResiduation.countResOps

definition: Info
 
countResOps :: String -> IO [String]
countResOps mname = do
  resinfo <- residuationInfoOf mname
  let (nonresops,resops,unknowns) = foldr select ([],[],[]) resinfo
  return $ mname : map (show . length) [nonresops,resops,unknowns]
 where
  select (f,i) (nrs,res,unk) = case i of
    NoResiduateIf _ -> (f:nrs,res,unk)
    MayResiduate    -> (nrs,f:res,unk)
    NoResInfo       -> (nrs,res,f:unk)
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Counts all possibly residuating and non-residuating operations.
indeterministic: Info
 might be indeterministic
infix: Info
 no fixity defined
iotype: Info
 {(_) |-> _}
name: Info
 countResOps
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 String -> Prelude.IO [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