[Haskell-beginners] merge error

trent shipley trent.shipley at gmail.com
Fri May 18 05:20:36 UTC 2018


The below produces an error. And I am very proud that I could use the GHCi
debugging tools to get this far.

merge [] [] works.

merge [1] [] works.

I don't know why the failing example fails. It should return:

[4,5]

Help to unstuck is appreciated.

:step merge [4,5] []

*** Exception: ex6_8.hs:(12,1)-(16,66): Non-exhaustive patterns in function
merge

Given:

merge :: Ord a => [a] -> [a] -> [a]

merge [] [] = []

merge [x] [] = [x]

merge [] [y] = [y]

merge first@(x:xs) second@(y:ys) | x <= y     = x : merge xs second

                                 | otherwise  = y : merge first ys
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20180517/00ecdf79/attachment.html>


More information about the Beginners mailing list