[Haskell-cafe] Pattern matching with OverloadedLists
Vlatko Basic
vlatko.basic at gmail.com
Fri Nov 6 16:35:09 UTC 2015
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 <trupill at gmail.com>
> To: vlatko.basic at gmail.com
> Cc: haskell-cafe <Haskell-cafe at haskell.org>
> 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 <vlatko.basic at gmail.com
> <mailto:vlatko.basic at 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 at haskell.org <mailto:Haskell-Cafe at haskell.org>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20151106/976f42f7/attachment.html>
More information about the Haskell-Cafe
mailing list