FASTO: Implementing concurrency in a functional language
For my bachelor thesis I am, as the title suggests, working on implementing concurrency in a functional programming language. The language in question is FASTO, a relatively simple, sequential and functional language from my undergrad course in Implementation of Programming Languages at the University of Copenhagen.
In the course we were tasked with building both an interpreter and a compiler from FASTO to RISC-V, written in F#. I am now extending them with support for concurrency with communicating threads.
On this site I will document the general process from beginning to end, keep notes on how the language works, and dive into the nitty-gritty details of the compiler. Hopefully, all this documentation will help me understand the scope of the project — and get a good grade for my final exam. Deadline: June 2026