
#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