I’ve written a few small open source projects using Python, Haskell, OCaml, JavaScript, and POSIX compatible shellscript.
A lot of my programming work is in private repositories belonging to large companies. Read about my career or autobiography if you’re curious about how I learned al this.
LangJam GameJam
Solar system simulation (2024)
Written in Love2D and Lua, including differential equation solver.
Tetris for Two (2017)
Written in Elm, a functional programming language for the web browser with a time-traveling debugger.
An animated periodic table (2015).
Written in CoffeeScript, what we used before ES6 and TypeScript ;)
CLOX (2018 and 2025)
I wrote an OCaml interpreter and a C compilerfor the Lox learning language: clox.
This is based on the Crafting Interpreters book by Bob Nystrom.
I had the name clox for my OCaml code before Bob finished writing the C section where he uses the same word.
coolnoise (2016)
Parser and generator for programs written in the Classroom Object-Oriented Language. Eases testing of lexer and parser. See github.com/roguh/coolnoise.
This is for my senior project where I wrote a compiler for an OOP language to x86 assembly in C++.
SCMinHS (2015)
A Scheme Implementation in Haskell. Followed “Write Yourself a Scheme in 48 Hours. See github.com/roguh/SCMinHS.
An interpreter for the low-level CORE language (2014)
Haskell was once compiled to a language called CORE.
Rust, Misc
I like to open source some of the projects I use to learn new programming languages:
Utilities and Productivity
Some of my projects are meant to
improve my productivity on Linux/MacOS, such as
confs,
which I can use to quickly setup my development environment on a new Linux/MacOS machine,
and my shellscripts (including gp, makeanywhere and parallely),
which include a script that I use to speed up running tests and code checks.
i3empty
is used to quickly open a new workspace on my keyboard-based window manager: i3.
I also have some scripts I used to write documents for school using Pandoc and LaTex: pandoc.