Date of Original Version
Abstract or Description
Many modern programming challenges center on the correct handling of abstract resources whose use is constrained in some way. These constraints include initialization before use, resource cleanup, safe coordination among threads, and usage protocols. Unlike class-based languages, the resource-based programming language Plaid models interfaces, representation, and behavior using states, and an object’s state can change. Plaid’s gradual, linear logic-based type system and runtime system will track both the state of an object and aliases to it, ensuring that clients access objects safely in both sequential and concurrent programs.
Proceedings of the Conference on Programming Language Design and Implementation (PLDI), 2010.