Linear but how
Literature approaches to bring linear logic into programming
Includes memory safety, eg. uniqueness types. Reynolds "syntactic control of inference" 1978.
Relevant to the problem of shared references:
- Phil Wadler "Is there a use for linear types?" ACM SIGPLAN Notices 26 (9) '91
- Martin Odersky "Observers for linear types" ESOP'92
Key points:
- local/short-lived read-only aliasing is ok for a linear type!
- Key ingredient of Rust type discipline.
- need rules to combine linear and non-linear types in compound data types.
Questions:
- can we do without exponentials?
- In Rust, a type (atom) either "is Copy" or not. Auto-derivation (e.g. Send)
- dealing with context when linear / non-linear types are combined. bunched implications
- can the simple model be extended with "par" and "fearless concurrency" properties