10:40am–11:20am Thursday, 07/28/2011
Plaid is a new programming language with native support for typestate and permissions. Typestate captures the changing states an object can be in, allowing the object's interface, representation, and behavior to change. A gradual (optional) type system tracks the typestate of objects, using permissions like "unique" to reason in the presence of aliasing. The PL's power is demonstrated by examples.