[GHC] #9281: Rewrite `integer-gmp` to use only non-allocating GMP functions

GHC ghc-devs at haskell.org
Mon Jul 21 08:44:55 UTC 2014


#9281: Rewrite `integer-gmp` to use only non-allocating GMP functions
-------------------------------------+-------------------------------------
              Reporter:  hvr         |             Owner:  hvr
                  Type:  task        |            Status:  patch
              Priority:  normal      |         Milestone:  7.10.1
             Component:  libraries   |           Version:
  (other)                            |          Keywords:  integer-gmp
            Resolution:              |  Operating System:  Unknown/Multiple
Differential Revisions:  Phab:D82    |   Type of failure:  None/Unknown
          Architecture:              |         Test Case:
  Unknown/Multiple                   |          Blocking:
            Difficulty:  Unknown     |
            Blocked By:              |
       Related Tickets:  #8647       |
-------------------------------------+-------------------------------------
Changes (by hvr):

 * cc: simonmar (added)


Comment:

 Replying to [comment:5 simonpj]:
 > Terrific.  It would be good to articulate the goal more explicitly.  Is
 it primarily to improve interop in some way?  How does it improve interop?
 Or is it to do with performance -- unsafe foreign calls are vastly more
 efficient than safe ones?

 Are you referring to allowing unlifted types as return values in non-pure
 calls?

 > Why do `integer_gmp_mpn_tdiv_q` etc need to be IO-ish at all?  Can't
 they be pure functions?

 because those operations write into `MutableByteArray#`

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9281#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list