CurryInfo: base-3.4.0 / Data.List.split

definition: Info
 
split :: (a -> Bool) -> [a] -> [[a]]
split _ []     = [[]]
split p (x:xs) | p x       = [] : split p xs
               | otherwise = let (ys:yss) = split p xs in (x:ys):yss
demand: Info
 argument 2
deterministic: Info
 deterministic operation
documentation: Info
 
Splits a list into components delimited by separators,
where the predicate returns True for a separator element.
The resulting components do not contain the separators.
Two adjacent separators result in an empty component in the output.

    split (=='a') "aabbaca" == ["","","bb","c",""]
    split (=='a') ""        == [""]
failfree: Info
 (_, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,{[]}) |-> {:} || (_,{:}) |-> {:}}
name: Info
 split
precedence: Info
 no precedence defined
result-values: Info
 {:}
signature: Info
 (a -> Prelude.Bool) -> [a] -> [[a]]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 yes
totally-defined: Info
 possibly non-reducible on same data term