Website | Source | Specification
Not currently under development; moved on to Wyvern.
Publications:
* First-Class State Change in Plaid
* Gradual Typestate
* Permission-Based Programming Languages
* Typestate-Oriented Programming
* Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs
Typestate:
state File {
public final String filename;
}
state OpenFile extends File {
private CFilePtr filePtr;
public int read() { ... }
public void close() [OpenFile>>ClosedFile]
{ ... }
}
state ClosedFile extends File {
public void open() [ClosedFile>>OpenFile]
{ ... }
}
Last modified 07 October 2024