<div dir="ltr"><div>Just FYI, this still gives a warning:<br><br>```<br>{-# LANGUAGE OverloadedLists #-}<br>{-# LANGUAGE OverloadedStrings #-}<br>{-# LANGUAGE TypeFamilies #-}<br>{-# LANGUAGE ViewPatterns #-}<br><br>import Data.Map (Map)<br>

import qualified Data.Map as M<br>import Data.Text<br>import GHC.Exts<br><br>instance (Ord k) => IsList (Map k v) where<br>  type Item (Map k v) = (k,v)<br>  fromList = M.fromList<br>  toList   = M.toList<br><br>main :: IO ()<br>

main = do<br>    let m = [("foo", 1), ("bar", 2)]<br>          :: Map Text Int<br>    putStrLn "My map looks like this:"<br>    print m<br>    case m of<br>      [] -> putStrLn "empty"<br>

      (M.toList -> (x:_)) -> putStrLn $ "ok, some random elem is: " ++ show x<br>```<br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Apr 13, 2014 at 12:05 PM, Konstantine Rybnikov <span dir="ltr"><<a href="mailto:k-bx@k-bx.com" target="_blank">k-bx@k-bx.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Oh! Right, sorry about that.<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Sun, Apr 13, 2014 at 12:01 PM, Oliver Charles <span dir="ltr"><<a href="mailto:ollie@ocharles.org.uk" target="_blank">ollie@ocharles.org.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">You have only pattern matched the empty list and a two element list. Perhaps you meant (x : _) to match at least one element?</p>



<p dir="ltr">- ocharles</p>
<div class="gmail_quote"><div><div>On 13 Apr 2014 10:58, "Konstantine Rybnikov" <<a href="mailto:k-bx@k-bx.com" target="_blank">k-bx@k-bx.com</a>> wrote:<br type="attribution"></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div>
<div dir="ltr"><div><div><div><div>Continuing playing with OverloadedLists and GHC 7.8.2. For this code:<br><br>```<br>{-# LANGUAGE OverloadedLists #-}<br>{-# LANGUAGE OverloadedStrings #-}<br>{-# LANGUAGE TypeFamilies #-}<br>





<br>import Data.Map<br>import Data.Text<br>import GHC.Exts<br><br>instance (Ord k) => IsList (Map k v) where<br>  type Item (Map k v) = (k,v)<br>  fromList = Data.Map.fromList<br>  toList   = Data.Map.toList<br><br>main :: IO ()<br>





main = do<br>    let m = [("foo", 1), ("bar", 2)]<br>          :: Map Text Int<br>    putStrLn "My map looks like this:"<br>    case m of<br>      [] -> putStrLn "impossible!"<br>





      [x,_] -> putStrLn $ "ok, some random elem is: " ++ show x<br><br>    print m<br>```<br><br></div>I have this output from compiler:<br><br>```<br>root@b575c8a9c84b:~/overloaded_lists# cabal build --ghc-options="-fforce-recomp"<br>





Building overloaded-lists-0.1.0.0...<br>Preprocessing executable 'overloaded-lists' for overloaded-lists-0.1.0.0...<br>[1 of 1] Compiling Main             ( src/Main.hs, dist/build/overloaded-lists/overloaded-lists-tmp/Main.o )<br>





<br>src/Main.hs:19:5: Warning:<br>    Pattern match(es) are non-exhaustive<br>    In a case alternative: Patterns not matched: _<br><br>src/Main.hs:9:10: Warning:<br>    Orphan instance: instance Ord k => IsList (Map k v)<br>





[1 of 1] Compiling Main             ( src/Main.hs, dist/build/overloaded-lists/overloaded-lists-tmp/Main.o )<br><br>src/Main.hs:19:5: Warning:<br>    Pattern match(es) are non-exhaustive<br>    In a case alternative: Patterns not matched: _<br>





<br>src/Main.hs:9:10: Warning:<br>    Orphan instance: instance Ord k => IsList (Map k v)<br>Linking dist/build/overloaded-lists/overloaded-lists ...<br>```<br><br></div>Couple things:<br><br></div>1. It shows same warnings two times. Is this a bug?<br>





</div>2. It doesn't seem to be that warning that pattern "_" wasn't matched should be there. Should I also create a bug report?<br><br>Thank you!<br></div>
<br></div></div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>