
5 Jun
2018
5 Jun
'18
3:36 a.m.
Current definion of (<|>) for ZipLists: ZipList xs <|> ZipList ys = ZipList (xs ++ drop (length xs) ys) doesn't work if the left argument is infinite. It should be: ZipList [] <|> ys = ys xs <|> ZipList [] = xs ZipList (x:xs) <|> ZipList (_:ys) = ZipList (x : (ZipList xs <|> ZipList ys))