[GHC] #8326: Place heap checks common in case alternatives before the case
GHC
ghc-devs at haskell.org
Mon Sep 29 07:55:11 UTC 2014
#8326: Place heap checks common in case alternatives before the case
-------------------------------------+-------------------------------------
Reporter: jstolarek | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.7
Resolution: | Keywords:
Operating System: | Architecture: Unknown/Multiple
Unknown/Multiple | Difficulty: Unknown
Type of failure: | Blocked By:
None/Unknown | Related Tickets: #1498
Test Case: |
Blocking: 8317 |
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by jstolarek):
Replying to [comment:8 dfeuer]:
> it seems that in the wild (all over the library source), `isTrue#` is
typically used as a function for converting from `Int#`, produced by a
comparison operator, to `Bool`, rather than as a validity test for `True`.
I have yet to see any explanation of why that is appropriate.
Right, I see what you mean. So the only way the `isTrue#` and `isFalse#`
functions are "safe" is because they promise to do what their names imply.
You've focused on `isTrue#`, which indeed is identical to `tagToEnum#` but
this is definitely not the case with `isFalse#`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8326#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list