[GHC] #14610: newtype wrapping of a monadic stack kills performance
GHC
ghc-devs at haskell.org
Tue Jan 2 15:13:42 UTC 2018
#14610: newtype wrapping of a monadic stack kills performance
-------------------------------------+-------------------------------------
Reporter: mrkkrp | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.6.1
Component: Compiler | Version: 8.2.2
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #14620 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
> So am I right to say “we forbid polymorphic return types because we
cannot prove it to be sound, even though we know it would not actually
crash if we did allow it”?
Yes, that's right. But be specific about what you mean by "it" in "would
not crash if we did allow it". In comment:14 I show a particular
transformation. I believe it is (slightly) beneficial, and will not
crash, but the result is not type-correct.
If you can figure out how to express the proof that it won't crash, as a
coercion perhaps, maybe you could somehow express that proof in Core.
You don't need casts to expose the problem: #14620 is enough.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14610#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list