Skip to main content
PRL Project

The Ultimate Programming Machine

by Jason Hickey


During the past year, I have devoted part of my time to enhancing the Nuprl programming environment. My final goal is to describe formal abstract data types, but in the process I have had to add several new types and definitions to the type theory.

I will desribe my work with "squiggle equality," which is a type that denotes congruence between two terms, and provides a solution to the well-known `(x + 1) - 1 = x' problem. I will also describe the intersection type and the very-dependent function type, as well as some programming constructs such as pattern-matching.

All of these are tools that I am using to describe formal abstract data types, which I cover if I have time.