+1. It obeys laws. It feels zippy. LGTM.
On Friday, July 17, 2015, Edward Kmett <ekmett@gmail.com> wrote:
Er.. I obviously meantinstance Alternative ZipList whereempty = ZipList []ZipList xs <|> ZipList ys = ZipList (xs ++ drop (length xs) ys)sorry for any confusion.On Fri, Jul 17, 2015 at 11:37 AM, Edward Kmett <ekmett@gmail.com> wrote:The ZipList data type admits one legal Alternative instanceinstance Alternative ZipList wherepure = ZipList []ZipList xs <|> ZipList ys = ZipList (xs ++ drop (length xs) ys)The legality of this instance was first noted in http://people.cs.kuleuven.be/~tom.schrijvers/Research/papers/ppdp2015.pdfI propose adding this instance, which acts like a generalized version of the Alternative for Maybe, choosing with a left bias.Discussion Period: 2 weeks-Edward