Copyright | (C) 2014-2016 Edward Kmett and Eric Mertens |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This module provides utility functions on lists used by the library implementation.
Synopsis
- ordinalNub :: Int -> [Int] -> [Int]
- stripSuffix :: Eq a => [a] -> [a] -> Maybe [a]
Documentation
Return the the subset of given ordinals within a given bound and in order of the first occurrence seen.
Bound: 0 <= x < l
>>>
ordinalNub 3 [-1,2,1,4,2,3]
[2,1]
stripSuffix :: Eq a => [a] -> [a] -> Maybe [a] Source #
\(\mathcal{O}(\min(m,n))\). The stripSuffix
function drops the given
suffix from a list. It returns Nothing
if the list did not end with the
suffix given, or Just
the list after the suffix, if it does.
>>>
stripSuffix "bar" "foobar"
Just "foo"
>>>
stripSuffix "foo" "foo"
Just ""
>>>
stripSuffix "bar" "barfoo"
Nothing
>>>
stripSuffix "foo" "barfoobaz"
Nothing