first-and-last

First and Last generalized to return up to n values

https://github.com/markandrus/first-and-last

Latest on Hackage:0.1.0.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Mark Andrus Roberts
Maintained by [email protected]

This library provides data types First' n and Last' n generalizing First and Last from Data.Monoid to return up to n values.

getFirst' (foldMap pure [1,2,3,4] :: First' 2 Int)
[1,2]
getLast' (foldMap pure [1,2,3,4] :: Last' 2 Int)
[3,4]

It also provides API-compatible type synonyms First and Last as well as functions getFirst and getLast, allowing you to use it as a drop-in replacement.