Newsletter Downloads
An overview of the Oregon programming languages summer school
- Jim Allen,
- Zena Ariola,
- Pierre-Louis Curien,
- Matthew Fluet,
- Jeff Foster,
- Dan Grossman,
- Robert Harper,
- Hugo Herbelin,
- Yannis Smaragdakis,
- David Walker,
- Steve Zdancewic
The Oregon Programming Languages Summer School (OPLSS) has been held at the University of Oregon each summer since 2002. We believe it has been an unqualified success in providing students and instructors a unique opportunity to study relevant ...
Singleton types here, singleton types there, singleton types everywhere: (abstract only)
Singleton types are often considered a poor man's substitute for dependent types. But their generalization in the form of GADTs has found quite a following. The main advantage of singleton types and GADTs is to preserve the so-called phase distinction, ...
Operating system development with ATS: work in progress: (abstract only)
Typical operating system design is marked by trade-offs between speed and reliability, features and security. Most systems are written in a low-level untyped programming language to achieve optimal hardware usage and for other practical reasons. But, ...
Modular reasoning about invariants over shared state with interposed data members: (abstract only)
Reasoning about object-oriented programs is difficult since such programs usually involve aliasing, and it is not easy to identify the ways objects can relate to each other and thus to confine a program's heap. In this paper, we address this problem in ...
Resource typing in guru: (abstract only)
This paper presents a resource typing framework for the Guru verified-programming language, in which abstractions for various kinds of program resources can be defined. Implemented examples include reference-counted data, mutable arrays, and heap-...
Free theorems for functional logic programs: (abstract only)
Type-based reasoning is popular in functional programming. In particular, parametric polymorphism constrains functions in such a way that statements about their behavior can be derived without consulting function definitions. Is the same possible in a ...
Arity-generic datatype-generic programming: (abstract only)
Some programs are doubly-generic. For example, map is datatype-generic in that many different data structures support a mapping operation. A generic programming language like Generic Haskell can use a single definition to generate map for each type. ...
Challenge benchmarks for verification of real-time programs: (abstract only)
Real-time systems, and in particular safety-critical systems, are a rich source of challenges for the program verification community as software errors can have catastrophic consequences. Unfortunately, it is nearly impossible to find representative ...