Dada types and permissions
A Dada type has the following grammar
#![allow(unused)] fn main() { // Types: // Permissions: }
Notes:
Ty = Struct
| Class
| Var
| Perm Ty
Perm =
canonical form
TyC = Perm (Struct | Class | Var)
PermC = shared(places)? leased(places)* (my | Var)