Arity raising in manticore

  • Authors:
  • Lars Bergstrom;John Reppy

  • Affiliations:
  • University of Chicago, Chicago, IL;University of Chicago, Chicago, IL

  • Venue:
  • IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Compilers for polymorphic languages are required to treat values in programs in an abstract and generic way at the source level. The challenges of optimizing the boxing of raw values, flattening of argument tuples, and raising the arity of functions that handle complex structures to reduce memory usage are old ones, but take on newfound import with processors that have twice as many registers. We present a novel strategy that uses both control-flow and type information to provide an arity raising implementation addressing these problems. This strategy is conservative -- no matter the execution path, the transformed program will not perform extra operations.