dart-lang / dart-lang/language
Statically tracked shared immutable objects
- Dominant language
- TeX
- Stars
- 2.9k
- Forks
- 239
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 14
Description
This is a proposed solution to the problem of [communicating data between isolates](https://github.com/dart-lang/language/issues/124).
This proposal adds a static notion of immutability which guarantees that once initialized, any immutable object is the root of a fully immutable object graph, which can therefore be shared between isolates with no copying required.
This proposal also incidentally provides at least a partial solution for the following problems:
- [Building immutable collections](https://github.com/dart-lang/language/issues/117)
- [Unwanted mutation of lists in Flutter](https://github.com/dart-lang/sdk/issues/27755)
Initial draft proposal is [here](https://github.com/dart-lang/language/blob/master/working/0125-static-immutability/feature-specification.md)
Contributor guide
Assessment
This issue has not been assessed yet.