Object Language Embedding in Standard ML of New Jersey

Abstract

Compiler support for user-defined parsers and prettyprinters has been added to SML/NJ. The notions of quotation and antiquotation and their implementation in terms of frag lists are explained. For prettyprinting, the 1980 TOPLAS algorithm of Oppen is now used by the compiler, and has been made available for users.

paper