DEV Community

Cover image for Elm's guarantees

Posted on • Updated on

Elm's guarantees

A short reminder about the guarantees of the Elm language:

✅ No Runtime Exceptions

Thanks to the absence of null/undefined, errors treated as data, and a sound type systems, Elm guarantees that our compiled JavaScript code never throws errors at runtime.

✅ 100% Immutable Data

All data in Elm is immutable. So no surprises when you need to find a bug and there is a wrong value somewhere. You can easily find who created that value.

✅ 100% Pure Functions

All functions must be pure, otherwise, they don't compile. Pure functions have the usual benefits of being easy to read, easy to test, etc.

✅ All Types Are Checked

Elm is based on a provable type system so types are always correct and type annotations are always optional.

✅ No surprises when upgrading dependencies

Elm enforces Semantic Versioning. This means that your code is guaranteed to compile also after you upgrade your dependencies.

🎉 Bonus: Guarantees also apply to all dependencies!

All these guarantees apply not only to your code but also to all your dependencies!

To learn more:


Header photograph by Clem Onojeghuo

Top comments (0)