[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