Building Interpreters by Composing Monads


We exhibit a set of functions coded in Haskell that can be used as building blocks to construct a variety of interpreters for Lisp-like languages. The building blocks are joined merely through functional composition. Each building block contributes code to support a specific feature, such as numbers, continuations, functions calls, or nondeterminism. The… (More)
DOI: 10.1145/174675.178068


2 Figures and Tables

Slides referencing similar topics