This paper considers the problem of completing a matrix with many missing entries under the assumption that the columns of the matrix belong to a union of multiple low-rank subspa...
"Have you ever played a side-scrolling action arcade game on your PC and wondered what it takes to program one? How do the programmers scroll their backgrounds so fast and mak...
The practice of software development can likely be improved if an externalized model of each programmer's knowledge of a particular code base is available. Some tools already...
This paper presents a type-based solution to the long-standing problem of object initialization. Constructors, the conventional mechanism for object initialization, have semantics...
A lens is a bidirectional program. When read from left to right, it denotes an ordinary function that maps inputs to outputs. When read from right to left, it denotes an "upd...
Aaron Bohannon, J. Nathan Foster, Benjamin C. Pier...