[GHC] #8281: The impossible happened: primRepToFFIType

GHC ghc-devs at haskell.org
Wed May 17 23:21:53 UTC 2017


#8281: The impossible happened: primRepToFFIType
-------------------------------------+-------------------------------------
        Reporter:  tibbe             |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.4.1
       Component:  Compiler          |              Version:  7.6.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash                              |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 `text` is used nearly everywhere at this point; the fact that it gets this
 wrong is a rather scary revelation; we really need to make this
 expectation better known.

 However, I am a bit worried that the inability to pass `ByteArray#`s to
 foreign calls may put us in a bit of a pickle performance-wise. For
 instance, currently `text` uses a C helper, `hs_text_decode_utf8`, to
 implement equality on `Text` (see `Data.Text.Array.equal`). Not only would
 it be harder to write the equivalent C-- implementation, but you would
 also be limited to the optimisation capabilities of the GHC backend, which
 might hurt for a tight loop such as this.

 What is the rationale for allowing GHC to implement `unsafe` calls as a
 `safe` call? It seems like this puts library authors is a tough spot.

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


More information about the ghc-tickets mailing list