
#13027: The let/app invariant, evaluated-ness, and reallyUnsafePtrEquality# -------------------------------------+------------------------------------- Reporter: erikd | Owner: 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: | -------------------------------------+------------------------------------- Comment (by rwbarton): What about `seq#` and `seq`? I'm not sure what it means for `seq` to be a "pseudoop", but `seq#` is a primop that takes a lifted argument and as far as I know it does evaluate that argument. Does it need `can_fail` too then? If there's a new invariant that primops that take lifted arguments must either not examine them or have some flag(s) set (such as `can_fail`), a reference to `Note [Primops with lifted arguments]` at the top of primops.pp would be nice. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13027#comment:30 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler