This project proposes to support read-only and practical immutable values in Go.
Versions:
- the proposal thread (the old one 1, the old one 2), and the golang-dev thread
- v0: the initial proposal
- v1: the
var:N
version - v2: the pure-immutable-value interpretation version
- v3: the immutable-type interpretation version
- v4: the immutable-type/value interpretation version: const+fixed
- v5: the immutable-type/value interpretation version: final+fixed. With interface design flaw
- v6: final+fixed. Without partial read-only
- v7: final+fixed. With partial read-only
- v8: const+reader/writer roles. Partial read-only removed
- v9.0: final+reader/writer roles
- v9.1: final+reader/writer roles. Disallows passing writer values as reader arguments.
- v9.a, reader + read-only values. Removes final values concept.