[GHC] #8026: DatatypeContexts should be fixed, not deprecated

GHC ghc-devs at haskell.org
Tue Sep 23 23:29:28 UTC 2014


#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


More information about the ghc-tickets mailing list