This is the second project of the Languages & Compilers course of Utrecht University written in Haskell.
The goal of this project is to implement a little domain-specific programming language. Programs comprise instructions for a little spaceship called Arrow that flies around in a bounded two-dimensional space. The space is not empty, but inhabited with various flying objects such as asteroids, lambdas and debris. By interpreting programs, we can let Arrow fly through space and perform certain tasks such as finding a way through an asteroid field and cleaning up debris. I used Alex lexer generator and the Happy parser generator for the project.