The dynamic compilation of lazy functional programs

  • Authors:
  • David Wakeling

  • Affiliations:
  • Department of Computer Science, University of Exeter, Exeter, EX4 4PT, UK (web: http://www.dcs.exeter.ac.uk/∼david)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Lazy functional languages seem to be unsuitable for programming embedded computers because their implementations require so much memory for program code and graph. In this paper we describe a new abstract machine for the implementation of lazy functional languages on embedded computers called the X-machine. The X-machine has been designed so that program code can be stored compactly as byte code, yet run quickly using dynamic compilation. Our first results are promising – programs typically require only 33% of the code space of an ordinary implementation, but run at 75% of the speed. Future work needs to concentrate on reducing the size of statically-allocated data and the run-time system, and on developing a more detailed understanding of throw-away compilation.