
7 Mar
2017
7 Mar
'17
11:36 a.m.
On 2017-03-06 03:39 AM, Henning Thielemann wrote:
On Sun, 5 Mar 2017, Vladislav Zavialov wrote:
Since 'Data.List.NonEmpty' is now in 'base', it makes sense to change the type of 'some' from
some :: Alternative f => f a -> f [a]
to
some :: Alternative f => f a -> f (NonEmpty a)
as it's guaranteed to return a non-empty list.
A less invasive way would be to add a new function with that type.
If we're adding a new function, it might make more sense to add something more generic, like genericMany, genericSome :: (Alternative f, Applicative m, Monoid m) => f a -> f (m a) The expected type of these operations is usually fixed on the client side.