Module 19: Disco

In this final module, you will work together to explore and modify a more complex language implementation. Unlike previous modules, for this module you will all work togther as a class, and you will not receive a grade. I will sit in the back to observe, and only answer questions in a dire emergency. Think of it as an ungraded, group final exam.

Start by picking a driver who has stack installed. The driver should project their screen so everyone can see.

Installing

The final step might take a while as stack automatically downloads and compiles all the dependencies.

Familiarization

While you are waiting for stack build:

Trial by fire

Suppose we wanted to instead have built-in support for gcd in Disco. Add an infix gcd operator to the language! That is, once you are done, it should be possible to do this:

stack exec disco
Disco> 12 gcd 42
6

Some suggestions: