| | |
Summary: A Theory of Typestate-Oriented Programming
Darpan Saini
Carnegie Mellon University
dsaini@cs.cmu.edu
Joshua Sunshine
Carnegie Mellon University
sunshine@cs.cmu.edu
Jonathan Aldrich
Carnegie Mellon University
aldrich@cs.cmu.edu
ABSTRACT
Engineers in many disciplines use state machines to reason
about system changes, and many object-oriented libraries
require their clients to follow state machine protocols. No
existing language, however, has native support for state ma-
chines, and programmers often lose productivity and intro-
duce errors when trying to understand and follow interaction
protocols. The Plaid language extends the object paradigm
with explicit states and state transitions, in order to better
model object state transitions. In this paper, we present
|