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 <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
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe