UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

IR-MetaOCaml : (re)implementing MetaOCaml Roubinchtein, Evgeny


Multi-stage programming is a form of metaprogramming that is an extension of ideas and techniques of partial evaluation. This thesis discusses a (re)implementation of a multi-stage programming system MetaOCaml. The system presented here differs from the OCaml implementation by Taha et al in that it is implemented on top of a modern OCaml compiler. It differs from BER MetaOCaml in that it supports generation of native code in a turn-key fashion. It differs from both systems in that it uses the OCaml intermediate representation to represent the notion of code (to the best of my knowledge, existing system use abstract syntax trees instead.)

Item Citations and Data


Attribution-NonCommercial-ShareAlike 2.5 Canada