[GHC] #13027: The let/app invariant, evaluated-ness, and reallyUnsafePtrEquality#
GHC
ghc-devs at haskell.org
Fri Jan 20 14:31:55 UTC 2017
#13027: The let/app invariant, evaluated-ness, and reallyUnsafePtrEquality#
-------------------------------------+-------------------------------------
Reporter: erikd | Owner: dfeuer
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Building GHC | Test Case:
failed | simplCore/should_compile/T13027
Blocked By: | Blocking:
Related Tickets: #11444 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by simonpj):
* owner: => dfeuer
Comment:
* `reallyUnsafePtrEq#`: see comment:15 of #11444. Phab:D2987 does this
(thank you David); but it has no test. (I'm not certain it neeeds one.)
* `seq#` is mis-named. It should really be `evaluate#` because it's the
primop version of `evaluate`:
{{{
seq# :: a -> State# s -> (# State# s, a #)
evaluate :: a -> IO a
evaluate a = IO $ \s -> seq# a s -- NB. see #2273, #5129
}}}
I don't think it needs any `can_fail` or `has_side_effects` attributes,
because it is totally constrained by the threaded state. I wish I could
be 100.00% certain, but that's how it looks to me.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13027#comment:33>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list