@MISC{Johnsson96sharinganalysis, author = {Thomas Johnsson}, title = {Sharing Analysis + EVAL inlining + Unboxing = Deforestation}, year = {1996} }
Share
OpenURL
Abstract
We show by example that by combining sharing analysis, inlining of EVAL, and unboxing specialisation, of GRIN code, we can achieve deforestation (listlessness) transformation. 1 Introduction In the GRIN (Graph Reduction Intermediate Notation) code compilation project, currently being pursued by Urban Boquist and myself, we're poised to take the next leap forwards in the execution speed of lazy functional languages! 1 More specifically, we aim at achieving better back end code generation than in current compilers for lazy functional languages, such as the Clean compiler, the Chalmers Haskell compiler, or the Glasgow Haskell compiler. Our approach can be summarised as follows. ffl Supercombinators are compiled into an intermediate code form called GRIN (Graph Reduction Intermediate Notation), which is essentially a procedural form of G-machine code, using intermediate variables instead of stack (an abundance of examples will follow!) ffl We explore state-of-the-art register allocati...