[GHC] #9476: Implement late lambda-lifting

GHC ghc-devs at haskell.org
Wed Aug 20 07:25:15 UTC 2014


#9476: Implement late lambda-lifting
-------------------------------------+-------------------------------------
              Reporter:  simonpj     |            Owner:  nfrisby
                  Type:  feature     |           Status:  new
  request                            |        Milestone:
              Priority:  normal      |          Version:  7.8.2
             Component:  Compiler    |         Keywords:
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Unknown
  Unknown/Multiple                   |       Blocked By:
       Type of failure:              |  Related Tickets:
  None/Unknown                       |
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Thoughts about the wiki page (which is a fantastic start):

  * The "extended consequences" section is great.  But could you give a
 small example of each point?  Otherwise it is hard to grok.

  There are lots of other places where an example would be extremely
 useful.  To take just one "If an LNE function f occurs in another LNE
 function g and we only lift g, then it will spoil f: and it will no longer
 be an LNE, because it will now be an argument to llf_g."

   * I recall that you implemented a more-or-less complex analysis to try
 to get the good consequences without the bad ones.  Is it worth sketching
 what the analysis does?  The complexity here is my principal worry about
 the whole thing.

   * Small point: the `$(theRHS 'a 'b)` notation is more distracting than
 helpful.  I'd use something more informal `(..a...b...)`.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9476#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list