Publications and seminars
- BSc Thesis Revised version on arXiv.
- Curry-Howard-Lambek Seminar on the Curry-Howard-Lambek correspondence.
- CoqShop Seminar on Coq, part of a series of seminars by "The Knights Who Say $\lambda$"
- More of The Knights who say $\lambda$ .
Selection of projects
This is a selection of my main projects. Some of them (UNI) are my university projects, the others are personal.Currently active programming projects
-
MellOS (A minimal, collaboratively written kernel)
I have been working on this project on and off for several years, with the help of many collaborators from all over the world. Our initial goal, which I would say we achieved, was to write a simple kernel with a minimal command line interface, which would allow the user to read and write files and run executables. We are now working on making it less minimalistic by improving memory allocation, adding multi-processing, and developing a graphical interface library. -
Perkelang (A low level programming language with modern features)
This is a collaboration with Alessandro Scala, PhD Student @ University of Edinburgh. Alessandro is a main contributor to MellOS, and we share the opinion that the C programming language, in spite of its simplicity and elegance, is a pretty cursed and old fashioned language. This is why we decided to start working on Perkelang, a more modern language (with typeclasses, option types, lambdas...) that compiles down to C, providing a rich compatibility layer with it. Currently it's in a bit of an embryonic state, but we're working on it at a frantic, almost unhealthy pace.
Recreational/Educational Computer Science
- λ-compiler: An x86 compiler of the λ-calculus.
- OCaml-Turing-Machine: An OCaml implementation of the Turing Machine
- λ-maj7: My earliest (bad) attempt at an interpreter.
Smaller Projects
Complex Systems
- Road Network Simulator: A microscopic / macroscopic traffic simulator (UNI)
Green Computing
- CORDIC FixedPoint: A performance test for trigonometric functions (UNI)
Computer Graphics
- CG project (UNI)
Maths Visualization
- PySimplex2D: Symplex algorithm in $\mathbb R^2$.
- PyNewton: Newton's method for single (real) valued functions.
- PyNewtonFractal: The fractal that arises from Newton's method in the complex plane.
- PyGraphTheory: A selection of graph algorithms and visualizations
- PyLattice: A simple tool for visualizing and animating 2D lattices
Notes
- $\LaTeX$'d version of Chapter 4 of professor Bigi's Operations Research notes, in Italian; now published on the professor's website. (UNI)
Interests
Two lists of things I like
The following is a short, non-exhaustive list of topics I currently find interesing; I update this list quite often, as my interests are currently quite dynamic:
- Category Theory
- Automated Theorem Proving
- Computer-assisted Theorem Proving
- Visualization of pretty maths, through:
- illustrations (
TikZ
) - animations (I'm learning Manim)
- interactive visualizations (mostly
PyGame
)
- illustrations (
- Graph theory
- Computational models of complex systems