From Interpreters to Compilers: The Algebraic Approach

Presenter: Linyu Yang

Author: Tom Schrijvers

Abstract: Abstract algebra provides powerful design patterns for structuring algorithms and data structures. In particular, once you start looking for the humble monoid structure in programs, you will start seeing it everywhere in one of its many forms. In this course, we cover basic concepts and constructs from abstract algebra with some of their theoretical properties and practical applications in a programming context. We use the functional programming language Haskell in our explanations and illustrations as it is an excellent fit for programming with algebra.

This seminar is about the transformation from a interpreter to a compiler, with a algebraic method. This idea comes from the 4th episode of the programming language lecture Fun with Monoids and Friends: Functional Programming with Abstract Algebra, hosted by Programming Language Lab, Peking University.

URLs: