Add NonEmptyMap and NonEmptySet to containers

Alexandre Esteves alexandre.fmp.esteves at gmail.com
Fri Sep 20 01:17:16 UTC 2019


Yet more precedent:
https://hackage.haskell.org/package/semigroupoids-5.3.3/docs/Data-Semigroup-Foldable.html#t:Foldable1
I do like the sound of `instance Foldable1 Set1` more than I do `instance
NonEmptyFoldable NonEmptySet`
<https://hackage.haskell.org/package/semigroupoids-5.3.3/docs/Data-Semigroup-Foldable.html#t:Foldable1>

On Wed, Sep 18, 2019 at 11:49 AM V.Liepelt <V.Liepelt at kent.ac.uk> wrote:

> Hi John,
>
> I saw your thread about non-empty containers today. Why not call them
> `Set1`, `Map1`, etc. in analogy to `many`/`many1` from parser combinators?
>
> I think most agree that `NonEmpty` is not a great name—I couldn’t
> summarise it better than Andreas: "NonEmpty what?”. Hence I always do the
> following:
>
> ```
> import Data.List.NonEmpty (NonEmpty)
> import qualified Data.List.NonEmpty as List1
>
> type List1 = NonEmpty
> ```
>
> In fact I just hoogled for this and noticed that the rebase package seems
> to do this too.
>
> More anecdotal precedent: recently a colleague wrote a datatype isomorphic
> to `(a, a, [a])` and called it something not quite as ridiculous as
> `ListWithAtLeastTwoElements`, so I suggested `List2` and everybody involved
> was happy with that.
>
> Vilem
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20190920/2491ae5f/attachment.html>


More information about the Libraries mailing list