[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