Abel Nieto
1 Publications
1.1 Peer-reviewed
1.2 Other
2 Projects
2.1 Non-nullable Reference Types for Scala [ongoing]
2.2 Program Equivalence for MIPS [ongoing]
2.3 Algorithmic Typing for DOT
3 Ancient History

Abel Nieto

 

Hello! My name is Abel, and I’m a masters student in Computer Science at the University of Waterloo. I work with Ondřej Lhoták on programming languages (specifically Scala).

1 Publications

CV

1.1 Peer-reviewed

1.2 Other

2 Projects

Interests: compilers, program analysis, SAT/SMT solvers, type theory

2.1 Non-nullable Reference Types for Scala [ongoing]

We’re trying to get rid of null in Scala. Statements like val x: String = null will no longer typecheck (and we’ll reduce those pesky NPEs).

2.2 Program Equivalence for MIPS [ongoing]

This is a course project for a course on SAT/SMT solvers taught by Vijay Ganesh. The problem statement is as follows: given two MIPS programs, do they implement the same function?

My current thought is to use concolic testing to try to disprove program equivalence.

2.3 Algorithmic Typing for DOT

The Dependent Object Types (DOT) calculus is a formalizaton of a (tiny) subset of Scala. The typing rules for DOT have a declarative, as opposed to algorithmic, style, so we can’t implement them in a typechecker. This project was about understanding what it would take to make DOT’s typing rules algorithmic. Spoiler: it’s hard to do so. The corresponding paper has more questions than answers on the subject.

3 Ancient History

Before my masters, I worked for almost three years at Google, doing Android development (☹) and build infrastructure (☺).

Before that, I was an undergrad at Waterloo, where I got interested in type theory, compilers, and all things PL thanks to Prabhakar Ragde.

Even before, I used to participate in algorithmic programming competitions.