Shrinking reductions in SML.NET

  • Authors:
  • Nick Benton;Andrew Kennedy;Sam Lindley;Claudio Russo

  • Affiliations:
  • Microsoft Research, Cambridge;Microsoft Research, Cambridge;LFCS, University of Edinburgh;Microsoft Research, Cambridge

  • Venue:
  • IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

One performance-critical phase in the SML.NET compiler involves rewriting intermediate terms to monadic normal form and performing non-duplicating β-reductions. We present an imperative algorithm for this simplification phase, working with a mutable, pointer-based term representation, which significantly outperforms our existing functional algorithm. This is the first implementation and evaluation of a linear-time rewriting algorithm proposed by Appel and Jim.