Counterpoint: Generic1 refers to a higher kinded Generic, not a nonempty one.

On Thu, Sep 19, 2019, 20:17 Alexandre Esteves <alexandre.fmp.esteves@gmail.com> wrote:
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`

On Wed, Sep 18, 2019 at 11:49 AM V.Liepelt <V.Liepelt@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@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries