From my point of view, Elm should declare version 1.0.0 now and not add any new features. It’s better to focus on:
- Fixing bugs in core packages.
- Fixing bugs in the compiler.
- Improving error messages for records. (And other sub-optimal errors.)
- Improve and finish documentation.
- Improve the packages “GitHub hash / user renames” situation.
- Maybe not be reliant on GitHub only for packages.
- Improve
elm install
, makingelm-json
obsolete. - Incorporate successful experiments from elm-optimize-level-2.
- Provide binaries for ARM platforms.
- Improve the
elm
npm package.
Things that should be avoided:
- Syntax changes. Not even the “cannot pattern match on negative numbers” issue should be addressed.
- Type changes to core packages.
Then, longer term, maybe:
- Merge elm-format.
- Make improvements for tooling like the Elm Language Server, elm-watch, elm-review, Elm dev, Lamdera, elm-test. Maybe merge some of it.
- Syntax changes, if warranted. Like allowing any expression in record updates. It’s important to avoid such things in the beginning though, because then we avoid having to find the secret of knowing when to stop. And we don’t break any tooling. I think a key to the vibrant tooling community around Elm is the stable core language.