Pattern matching with OverloadedLists

Hello Cafe, wiki for OverloadedLists says that g [x,y,z] = ... is treated as g (toList-> [x,y,z]) = Shouldn't this work? Both 'f's should be treated the same. f :: Text -> Int f (toList -> ('9':_)) = 1 -- OK f ('1':_) = 2 -- Couldn't match expected type ‘Text’ with actual type ‘[Char]’ (OverloadedStrings is also on) Am I missing something? br, vlatko

You need to write `toList` in both branches:
f (toList -> ('9':_)) = 1
f (toList -> ('1':_)) = 2
2015-11-06 16:20 GMT+01:00 Vlatko Basic
Hello Cafe,
wiki for OverloadedLists says that
g [x,y,z] = ...
is treated as
g (toList-> [x,y,z]) =
Shouldn't this work? Both 'f's should be treated the same.
f :: Text -> Int f (toList -> ('9':_)) = 1 -- OK f ('1':_) = 2 -- Couldn't match expected type ‘Text’ with actual type ‘[Char]’
(OverloadedStrings is also on)
Am I missing something?
br, vlatko
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

I was only wondering why doesn't that work. The two functions were just an example of how I thought OverloadedLists should/could work. I got an answer on irc that ':' constructor is not desugared, but I expected it is. Compiler can see when overloading is for "real" list and skip it, preserving performance.
-------- Original Message -------- Subject: Re: [Haskell-cafe] Pattern matching with OverloadedLists From: Alejandro Serrano Mena
To: vlatko.basic@gmail.com Cc: haskell-cafe Date: 06/11/15 16:38 You need to write `toList` in both branches:
f (toList -> ('9':_)) = 1 f (toList -> ('1':_)) = 2
2015-11-06 16:20 GMT+01:00 Vlatko Basic
mailto:vlatko.basic@gmail.com>: Hello Cafe,
wiki for OverloadedLists says that
g [x,y,z] = ...
is treated as
g (toList-> [x,y,z]) =
Shouldn't this work? Both 'f's should be treated the same.
f :: Text -> Int f (toList -> ('9':_)) = 1 -- OK f ('1':_) = 2 -- Couldn't match expected type ‘Text’ with actual type ‘[Char]’
(OverloadedStrings is also on)
Am I missing something?
br, vlatko
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org mailto:Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
participants (2)
-
Alejandro Serrano Mena
-
Vlatko Basic