[GHC] #10886: Remove the magic from `Any`

GHC ghc-devs at haskell.org
Tue Sep 15 14:07:51 UTC 2015


#10886: Remove the magic from `Any`
-------------------------------------+-------------------------------------
              Reporter:  goldfire    |             Owner:  goldfire
                  Type:  task        |            Status:  new
              Priority:  normal      |         Milestone:  8.0.1
             Component:  Compiler    |           Version:  7.10.2
              Keywords:              |  Operating System:  Unknown/Multiple
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
             Test Case:              |        Blocked By:
              Blocking:              |   Related Tickets:
Differential Revisions:              |
-------------------------------------+-------------------------------------
 The `Any` type used to be very highly magical: a poly-kinded type in a
 mono-kinded world. Then it became only normally magical: a datatype with a
 return kind of `k` (instead of `*`). Then it became only a bit magical: a
 closed type family with no equations. Now that we have non-magical empty
 closed type families, I believe that we can remove the last bit of magic
 and just define

 {{{
 type family Any :: k where { }
 }}}

 somewhere (`GHC.Types`?), wire it in (like, e.g., `Bool`), and be done
 with it.

 Objections?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10886>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list