Safe Haskell | None |
---|---|
Language | Haskell98 |
Functions that are counterparts of the generic
functions in Data.List
using NumericPrelude.Numeric type classes.
For input arguments we use the restrictive ToInteger
constraint,
although in principle RealRing
would be enough.
However we think that take 0.5 xs
is rather a bug than a feature,
thus we forbid fractional types.
On the other hand fractional types as result can be quite handy,
e.g. in average xs = sum xs / length xs
.
- (!!) :: C n => [a] -> n -> a
- lengthLeft :: C n => [a] -> n
- lengthRight :: C n => [a] -> n
- replicate :: C n => n -> a -> [a]
- take :: C n => n -> [a] -> [a]
- drop :: C n => n -> [a] -> [a]
- splitAt :: C n => n -> [a] -> ([a], [a])
- findIndex :: C n => (a -> Bool) -> [a] -> Maybe n
- elemIndex :: (C n, Eq a) => a -> [a] -> Maybe n
- findIndices :: C n => (a -> Bool) -> [a] -> [n]
- elemIndices :: (C n, Eq a) => a -> [a] -> [n]
Documentation
(!!) :: C n => [a] -> n -> a Source
The index must be smaller than the length of the list, otherwise the result is undefined.
lengthLeft :: C n => [a] -> n Source
Left associative length computation
that is appropriate for types like Integer
.
lengthRight :: C n => [a] -> n Source
Right associative length computation
that is appropriate for types like Peano
number.
findIndices :: C n => (a -> Bool) -> [a] -> [n] Source
elemIndices :: (C n, Eq a) => a -> [a] -> [n] Source