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`

`>>>`

[2,1]`ordinalNub 3 [-1,2,1,4,2,3]`

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.

`>>>`

Just "foo"`stripSuffix "bar" "foobar"`

`>>>`

Just ""`stripSuffix "foo" "foo"`

`>>>`

Nothing`stripSuffix "bar" "barfoo"`

`>>>`

Nothing`stripSuffix "foo" "barfoobaz"`