[GHC] #14917: Allow levity polymorhism in binding position
GHC
ghc-devs at haskell.org
Wed Mar 14 23:11:45 UTC 2018
#14917: Allow levity polymorhism in binding position
-------------------------------------+-------------------------------------
Reporter: andrewthad | Owner: (none)
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.2
Resolution: | Keywords:
| LevityPolymorphism
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by andrewthad):
@Iceland_jack I believe that the inlining phase (or phases) happens after
type checking, so this couldn’t even be done during the usual inlining
phase. You would need something similar to the inlining phase that
happens prior to type checking. The only things allowed to inline during
this phase would be fully saturated calls to functions with levity
polymorphic binders ( maybe function template, as Richard suggests, is an
appropriate name for it). This is why Richard says that it would be hard
to produce sensible error messages. So, I don’t think that changes to the
inliner could mess this up because this would be a separate and unusual
inlining phase.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14917#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list