Profile Lucas Sta Maria

I'm a final year Computer Science and Mathematics student at Northeastern University interested in programming languages and developer tooling.

(λx.x x) (λx.x x)

x64 Compiler

Over my Spring 2023 semester at Northeastern, I was enrolled in CS 4410 - Compilers. In that class, I created a compiler for a functional, (initially) dynamically-typed programming language to x64 assembly with my partner Ryan Jung.

We used OCaml to store the ANF intermediate representation and perform transformations to assembly, and created a runtime with C to handle operations such as printing, collecting input, and executing garbage collection. We also implemented type checking and type inference with the logic DSL miniKanren in Racket.

We supported the following features:

We had the following phases in the OCaml portion of our compiler: