
For folding containers of size >=1 with a semigroup I usually turn to classes from the semigroupoids package: http://hackage.haskell.org/package/semigroupoids-4.3/docs/Data-Semigroup-Fol... http://hackage.haskell.org/package/semigroupoids-4.3/docs/Data-Semigroup-Tra... They are placed there, rather than in something like semigroups, because the 'return-less' variants of Monad and Applicative they need to provide most operations are placed in that package. -Edward On Tue, May 12, 2015 at 3:05 PM, Henning Thielemann < lemming@henning-thielemann.de> wrote:
On Tue, 5 May 2015, Greg Weber wrote:
The issue you have not raised that I am more concerned with is that
NonEmpty only works for lists. Michael and I figured out how to extend the concept to any (Mono)Foldable structure and also to be able to demand lengths of > 1.
It's possible with the structure provided by "non-empty". It is also possible to construct types for lists of fixed length or lists with an arbitrary set of allowed lengths.
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries