|
|
|
|
|
by JonChesterfield
1037 days ago
|
|
I wonder if the optimum is a benevolent dictator controlling the language and committee controlling the associated library. The community is then a sort of third ring of library evolution. Inconsistency is more expensive the closer to the language definition it arises as the blast radius is wider. Compromises and redundancy are more valuable in the library layer. Lisp blurs the lines somewhat but it's usually possible to subdivide a system into a core and stuff built on that core. |
|
For example, we recently added tuples as a language feature to Dart, and also added a function in the async library that lets you await a tuple of futures in parallel and returns a future of the tuple of the resulting values.
When we added extension methods to the language, we also rolled out some extension methods in the core library.