
#8026: DatatypeContexts should be fixed, not deprecated -------------------------------------+------------------------------------- Reporter: gidyn | Owner: Type: feature | Status: new request | Milestone: Priority: normal | Version: 7.6.3 Component: Compiler | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: | Related Tickets: None/Unknown | Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by yokto): I just found an other interesting realworld example that could profit from this extension. Consider the vector package. All type signature look something like this. {{{read :: PrimMonad m => MVector (PrimState m) a -> Int -> m a}}} Horrible to read, right. With this issue fixed you could put the context on MVector {{{data (PrimMonad m, PrimState m ~ s) => MVector s a = MVector !Int !Int !(MutableArray s a)}}} and the type signatures could look like this {{{read :: MVector s a -> Int -> m a}}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8026#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler