[GHC] #13966: Skip-less stream fusion: a missed opportunity
GHC
ghc-devs at haskell.org
Mon Jul 31 17:16:03 UTC 2017
#13966: Skip-less stream fusion: a missed opportunity
-------------------------------------+-------------------------------------
Reporter: jmspiewak | Owner: mpickering
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.1-rc3
Resolution: | Keywords: JoinPoints,
| StaticArgumentTransformation
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #14067 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by nomeata):
Hmm, maybe I did that a bit prematurely, without fully understanding what
we should be doing.
Upon closer reading, there are two tasks:
* Transforming a tail-recursive function into a non-recursive function
with a `joinrec`.
* SAT for tail-recursive functions
It seems that the first is independent of the second, and if the first one
was done, one can rephrase the second as “SAT for `joinrec`s”. Is that
roughly correct?
(I am surprised that the former is not done already from the beginning of
join points in GHC. But a brief look at the distribution of labor between
OccAnal and the Simplifier makes it clear to me that this change is not
trivial.)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13966#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list