8.2.1: Ord TyCon is gone?

Edward Z. Yang ezyang at mit.edu
Sat Jul 29 20:12:51 UTC 2017


Sorry about being late to the conversation, but if you need a map
from Type to something, go look at TypeMap in the TrieMap module.

Edward

Excerpts from Levent Erkok's message of 2017-07-28 23:12:32 -0700:
> I'm trying to port some plugin code from GHC 8.0.2 to GHC 8.2.1; alas I'm
> getting an error suggesting that TyCon is no longer an instance of Ord:
> 
> Data/SBV/Plugin/Analyze.hs:580:33: error:
>     • No instance for (Ord TyCon) arising from a use of ‘M.lookup’
>       There are instances for similar types:
>         instance Ord GHC.Types.TyCon -- Defined in ‘GHC.Classes’
>     • In the expression: k `M.lookup` tcMap
>       In the expression:
>         case k `M.lookup` tcMap of
>           Just knd -> return knd
>           Nothing -> unknown
>       In a case alternative:
>           Just k
>             -> case k `M.lookup` tcMap of
>                  Just knd -> return knd
>                  Nothing -> unknown
>     |
> 580 |                  Just k -> case k `M.lookup` tcMap of
>     |                                 ^^^^^^^^^^^^^^^^^^
> 
> I was using TyCon's as a key in a map, but that code is no longer
> compiling. I've looked through the release notes but couldn't find what the
> new mechanism is.
> 
> I'd appreciate if someone can point me in the right direction regarding how
> to use TyCon as a map key..
> 
> Thanks,
> 
> -Levent.


More information about the ghc-devs mailing list