Ignore all annotations but entrypoints
Copied from the archived Metastate repo: metastatedev/tezos#113.
Annotations bring a complexity to the parser and the typechecker as well as unsatisfactory properties such as non-transitivity of type equality. They are useful when programming and debugging Michelson programs, but don't bring many strong guarantees, and aren't necessary once checked. Now that we have high-level languages targeting Michelson, annotations don't seem very useful to keep in the language.
Shall we just remove them?
If yes, we'll have to have discussions on:
- entrypoints
- migration & backward-compatibility
Steps:
-
tzip: tzip!138 (closed)
-
Remove stack variable annotations: !4139 (merged) -
Remove pair variable annotations: !4140 (merged) -
Remove type annotations: !4141 (merged) -
Remove field annotations from comparable types and pairs: !4175 (merged) -
Remove field annotations from unions + refactor entrypoints:
-
Update documentation -
Tests
-
Simplify merge functions: -
Simplify checking annotations
Edited by Mehdi Bouaziz