kirancodes.me
To Proof Maintenance & Beyond!

Developing a monadic type checker for an object-oriented language: an experience report

Elias Castegren, Kiko Fernandez-Reyes

Abstract

Functional programming languages are well-suited for developing compilers, and compilers for functional languages are often themselves written in a functional language. Functional abstractions, such as monads, allow abstracting away some of the repetitive structure of a compiler, removing boilerplate code and making extensions simpler. Even so, functional languages are rarely used to implement compilers for languages of other paradigms.

Related papers