A compiler and bytecode interpreter for a sizeable subset of Python, written in OCaml (with the help of Ocamllex and Menhir for lexing and parsing). Created as an individual semester-long software project under the supervision of Adam Dingle at Charles University in Prague. Relevant blog posts: 1, 2.
An interactive lambda-calculus interpreter that performs normal-order beta-reduction and includes support for variable bindings.
A program that generates syntax trees for English sentences, written in Haskell. A blog post detailing the approach as well as the limitations of the program can be found here.
A collection of small programs and scripts I wrote while learning new languages. Many are solutions to coding puzzles and challenges. Some of the most fleshed-out are:
- A calculator, implemented as a stack-based virtual machine (OCaml)
- A program that collects and analyses weather data (Haskell)
- An implementation of some abstract data structures (C)
- A tool for analysing/generating Cayley tables (Haskell)
My teammate and I created Mattoni, a program that allows you to generate and interact with escape-time fractals. We used the SDL2 graphics library and wrote the program in C. I wrote more about it here. (May 2019)
My team created CourseTalk, a discussion and collaboration platform for students. A blog post describing the process and functionality can be found here. (November 2018)
These are my assignment solutions for certain classes. They were made public only after their respective course end dates.
Assignments from COMP 206 Introduction to Software Systems at McGill University.
Assignments from COMP 321 Programming Challenges at McGill University.