Chapter 5. Elm Tooling
The Elm platform consists of several executables that all help with Elm
development. elm-make is the compiler, which can compile Elm either to
a JavaScript file or to an HTML file with that JavaScript embedded.
elm-repl, Elm’s
REPL,
is very useful, especially when you’re learning Elm.
This chapter provides a rundown of the other major Elm tools.
elm-package
Elm has its own package manager, elm-package, which is
backed by GitHub.
Elm is able to calculate and enforce semantic versioning for all
packages published through elm-package, which is fairly extraordinary. A version number that uses semantic versioning takes the form three
numbers separated by periods. Each number indicates what sort of
change has occurred compared to previous versions. Here’s what the three numbers mean, from left to right:
- Major
-
A piece of the existing API has been changed or removed.
- Minor
-
Something has been added, but nothing existing has changed.
- Patch
-
Something has been changed which does not affect the API, such as documentation or an internal implementation detail.
It’s worth restating this: Elm enforces semantic versioning for all Elm packages. If you see an Elm package move from 2.0.4 to 2.0.5, for example, you are guaranteed that the API has not changed.
This is only possible because of static typing and is a direct result of being able to know the type signatures for every function that is exposed in the API of your package.
This also means that you can ask elm-package ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access