CurryInfo: base-3.4.0 / Prelude.splitAt

definition: Info
 
splitAt :: Int -> [a] -> ([a], [a])
splitAt n l = if n <= 0 then ([], l) else splitAtp n l
  where splitAtp _ []     = ([], [])
        splitAtp m (x:xs) = let (ys, zs) = splitAt (m - 1) xs in (x : ys, zs)
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
`splitAt n xs` is equivalent to `(take n xs, drop n xs)`
failfree: Info
 (_, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_) |-> {(,)}}
name: Info
 splitAt
precedence: Info
 no precedence defined
result-values: Info
 {(,)}
signature: Info
 Int -> [a] -> ([a], [a])
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 reducible on all ground data terms