Modest GHC Proposals
m (→Expanded Deprecated Pragma)
Revision as of 21:39, 21 June 2013
There are many many proposals to augment GHC (and Haskell) that would be valuable yet languish because they have not be documented / collected anywhere aside from persisting in the Mailing lists.
Such proposals are things, typically, that would be uncontroversial and welcomed, but which no core GHC developers have free cycles to work on.
Proposals are suitable for this page if they do not require deep changes to GHC, though they may still be nontrivial, and which ghc-hq is likely to merge in when there is a strong community consensus and well-written patch is on hand.
Many but not all of these may be associated with feature request tickets on the ghc trac: http://hackage.haskell.org/trac/ghc/query?status=new&status=assigned&status=reopened&type=feature+request&order=priority
1 Expanded Deprecated Pragma
The current pragma can attach to modules or top level entities including functions, classes, and types.
It cannot attach to exports (i.e. if we wish to not deprecate "foo" but only its reexport from module Bar).
It also cannot attach to methods within classes.
There are other possible things we may wish to deprecate as well. Expanding this pragma would make certain changes to libraries more tractable and easily managed.
2 Records and Modules
Yitzchak Gale's nested modules proposal l which would address one of the larger warts with the current module system and records while adding essentially no complexity to the GHC internals. (i.e. no changes would be needed to GHC beyond the parsing phase possibly, so an easy changeto experiment with )