On May 27, 2009, at 12:51 PM, Sittampalam, Ganesh wrote:
Sebastiaan Visser wrote:
...
But again, I might be missing some important point here.
That's exactly right. But it's pretty inconvenient to have your
expression tree to blow up exponentially in relation to the code the
user actually wrote! You can indeed construct an intermediate language
that collapses this blowup, but the pass to create it must take
exponential time if written completely purely, since it has to visit
everything at least once.
In my experience [1], observable sharing using GHC's stable names is a
pretty effective solution to this problem.
Ganesh
[1] http://www.earth.li/~ganesh/research/paradise-icfp08/
Thanks, I just pushed your paper on top of my stack.
--
Sebastiaan Visser
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe