[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