
According to http://hackage.haskell.org/trac/haskell-prime/wiki/Status, ticket #99 was rejected, but the tickets own page, http://hackage.haskell.org/trac/haskell-prime/ticket/99, says "probably yes". Which is it? I was about to propose this myself, but decided to check the trac just in case it had already been proposed, Haskell being so popular with smart people and all, and was at first rather disappointed and ready to write an angry rant to the list, then rather confused when I noticed the ticket's page said almost the exact opposite of the Status page. In particular, I want records to be considered an extension to Haskell', to be implemented only by compilers that care, and even then only allowed with a LANGUAGE pragma like this: {-# LANGUAGE TraditionalRecordSyntax #-} For pre-Haskell' compilers, we would want something like: {-# LANGUAGE NoTraditionalRecordSyntax #-} which would mean extending the LANGUAGE pragma to support turning extensions off by adding/removing a No from the front of it. Hmm, is it really the case that nobody has proposed LANGUAGE pragmas for Haskell'? I don't see them listed on the Status page. I guess the work involved here is basically: (a) Go through Haskell 98, find all the parts that talk specifically about record syntax, and write up the list of such places. (b) Implement this in GHC: http://hackage.haskell.org/trac/ghc/ticket/3356 (c) Add support for negating extension names by adding/removing No in front of extension names to Cabal: http://hackage.haskell.org/trac/hackage/ticket/567 (d) Add {-# LANGUAGE #-} to Haskell' What do you folks think?