A Region-Based Abstract Machine for the ML Kit

Martin Elsman, Niels Hallenberg

Research output: Book / Anthology / ReportReportResearch

Abstract

This document describes the implementation of a bytecode backend for the ML Kit, a Standard ML compiler based on region inference. The purpose of the bytecode backend is to enable the ML Kit to produce portable and compact code that can be executed in environments where control of memory usage is a concern. The document includes (1) a presentation of the target of the new backend, namely a region-based abstract machine called the Kit Abstract Machine (KAM), (2) a description of the intermediate language RegExp used in the ML Kit, (3) a presentation of yet an intermediate language LiftExp, in which all functions are lifted to top level, (4) a translation from the language RegExp to the language LiftExp, and finally, (5) a translation from the intermediate language LiftExp into KAM instructions. The focus of this document is not on providing a formal definition of the KAM or of the translation into KAM instructions. Instead, this report is meant to document - sometimes informally - the implementation and the design of the many features of the KAM.
Original languageEnglish
Place of PublicationCopenhagen
PublisherIT-Universitetet i København
EditionTR-2002-18
Number of pages37
ISBN (Electronic)87–7949–025–5
Publication statusPublished - Aug 2002
Externally publishedYes
SeriesIT University Technical Report Series
NumberTR-2002-18
ISSN1600-6100

Fingerprint

Dive into the research topics of 'A Region-Based Abstract Machine for the ML Kit'. Together they form a unique fingerprint.

Cite this