[GHC] #8782: Using GADT's to maintain invariant in GHC libraries

GHC ghc-devs at haskell.org
Thu Feb 13 15:00:43 UTC 2014


#8782: Using GADT's to maintain invariant in GHC libraries
-------------------------------------+------------------------------------
        Reporter:  Iceland_jack      |            Owner:
            Type:  task              |           Status:  patch
        Priority:  lowest            |        Milestone:
       Component:  Compiler          |          Version:  7.9
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by goldfire):

 Yay! I've been wanting to do this sort of thing for some time, but always
 had more pressing things on my plate.

 Yes, we absolutely need to keep GHC compiling with the previous two major
 versions. BUT, I think at this point, that includes down to 7.4, which has
 !DataKinds. (I wouldn't use 7.4's !PolyKinds so much, but simple promoted
 datatypes worked well.)

 For something like closed type families, you could always keep your
 newfangled implemented in, but commented out, with a note to switch the
 implementations at a later date. The particular closed type family in your
 patch is easily written as an open one, so there's no need to delay the
 whole patch, I think.

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


More information about the ghc-tickets mailing list