
Hi Ozgur,
On Wed, Jun 18, 2014 at 1:46 AM, Ozgur Akgun
I am not sure if this is a bug or not, but this page seems to explain the desugaring of patterns with OverloadedLists: https://ghc.haskell.org/trac/ghc/wiki/OverloadedLists
Thanks for the link, I've experimented a bit with this: 1) GHC will alert me if I use VIewPatterns and don't match _: len (id -> []) = 0 len (id -> (_:xs)) = 1 + len xs Warning: Pattern match(es) are non-exhaustive In an equation for ‘len’: Patterns not matched: _ I suppose this is because GHC cannot detect if "id" will yield bottom. 2) GHC, however, will alert me that I should also match [] if I use OverloadedLists, as shown before. If I have correctly understood this desugaring, it should warn me about matching _ as before. I can't quite understand behaviour (2) there. Any ideas? Nikolay.