vyzo
vyzo
although... I don't want a keyword really, I want a syntactic token.
`:` is unclear -- is it contract or type assertion? We have both, hence the discriminant with `:-` and `:=`.
Return type annotation can also use `:-` and `:=` -- Semantics: - `:-` is assertion, compiler just trusts you - `:=` is soft, compiler will verify the return type statically...
Note that this opens the door for the inevitable dependent types further down the road.
Following discussion with fare, we have reached consensus, although we are not sure about the exact assertion operator name. The current proposal: - `:` for checked type contracts, both for...
Other possible symbols for type assertions (@fare wants to uglify them, I want to keep them tidy): - `:~` - `:&` - `:!`
Preliminaries in #934; here is the syntactic tokens we settled on: - `:` checked type declaration; it will emit an instance check at the boundary. - `:~` checked predicate contract;...
this is mostly done with types gerbil, awaiting the v0.18.2 release.
See also #587 for prior complaints about this.
Follow up from TLS implementation in Actors v18