| | |
Summary: Resource-Based Programming in Plaid
Jonathan Aldrich
School of Computer Science
Carnegie Mellon University
jonathan.aldrich@cs.cmu.edu
Abstract
Many modern programming challenges center on the correct han-
dling 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. Un-
like class-based languages, the resource-based programming lan-
guage Plaid models interfaces, representation, and behavior us-
ing states, and an object's state can change. Plaid's gradual, lin-
ear logic-based type system and runtime system will track both the
state of an object and aliases to it, ensuring that clients access ob-
jects safely in both sequential and concurrent programs.
1. Motivation: Resources
As the software industry has matured, software development has
shifted away from data structure and algorithm implementation and
towards building systems by tying resuable components together
|