Description
NonEmpty lists that look [more, like, this]
Description
This package provides NonEmpty
, an alternative to the NonEmpty type in base.
It has a few differences from base's NonEmpty:
It has
Show
andRead
instance similar to that of normal listsIt has a 100% safe API
It has a few added/removed/updated functions (see
Data.List.NeoNonEmpty
's module docs)New functions aren't tied to new versions of GHC/base
The show instance is the original raison d'être. When scanning textual data, the brain can interpret uniformity more quickly. Which do you think is easier to scan?
x :| [y, z]
[x, y, z]
Now imagine this in various fields of a large compound structure, and you have two of them, and you're trying to find the difference.
>>>
:set -XOverloadedLists
>>>
aNonEmpty [1, 2, 3]
[1,2,3]
>>>
read "[1, 2, 3]" :: NonEmpty Int
[1,2,3]