Functioning without Closure: Type-Safe Customized Function Representations for Standard ML

Allyn Dimock, Ian Westmacott, Robert Muller, Franklyn Turbak, J.B. Wells

To appear at International Conference on Functional Programming (ICFP01), Firenze, Italy, 3-5 September 2001


The CIL compiler for core Standard ML compiles whole ML programs using a novel typed intermediate language that supports the generation of type-safe customized data representations. In this paper, we present empirical data comparing the relative efficacy of several different customization strategies for function representations. We develop a cost model to interpret dynamic counts of operations required for each strategy. One of our results is data showing that, in this cost model, compiling with a function representation strategy that makes customization decisions based on the presence or absence of free variables of a function gives a 26% improvement over a uniform closure representation. We also present data on the relative effectiveness of various representation pollution removal strategies. We find that for the types of representation pollution detected by our compiler, pollution removal rarely provides any additional benefit for the representation strategies and benchmarks considered.

Server START Conference Manager
Update Time 11 May 2001 at 15:31:50
Start Conference Manager
Conference Systems