CurryInfo: call-analysis-3.2.0 / Names.separateAndReplace

definition: Info
 
separateAndReplace :: (a -> Bool) -> (a -> [a]) -> [a] -> [[a]]
separateAndReplace pred f list = case rest of
  [] -> case sep of
    [] -> []
    _  -> [sep]
  (x:xs) -> case sep of
    [] -> f x : separateAndReplace pred f xs
    _  -> sep : f x : separateAndReplace pred f xs
 where (sep,rest) = break  (not . pred) list
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
failfree: Info
 (_, _, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_) |-> {:,[]}}
name: Info
 separateAndReplace
precedence: Info
 no precedence defined
result-values: Info
 {:,[]}
signature: Info
 (a -> Prelude.Bool) -> (a -> [a]) -> [a] -> [[a]]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term