Articles from dennisreimann

Primary tabs

The Elm Architecture

The beauty of The Elm Architecture lies in its simplicity:
It structures applications into four parts and it defines how these interact with each other.
In Elm there is only this one determined way to handle interactions and manage state –
and it provides a good foundation for modularity, code reuse, and testing by default.

Elm Tools and Resources

A list of tools and resources I found valuable when working with Elm. It contains useful tools that will help in your day to day work and links to learn Elm as well as to deepen your knowledge.

Elm Type Annotations

As Elm is a statically typed language, everything has a type. Type annotations are an optional feature and the compiler can infer the types of your functions and value. Even though you do not have to write the type annotations yourself you probably should: They document your code and make it more explicit.

Elm Maybe

Opposed to JavaScript and many other programming languages, Elm does not have the concept of undefined or null values. Of course there are cases in which variables contain nothing or functions cannot return a proper value – but instead of leaving it up to you whether or not to handle these cases, Elm makes them explicit with a type called Maybe and enforces the handling thereof.

Elm Functions

This article spotlights the central construct of the Elm programming language: Functions. What does the definition of a function look like, how can functions be chained via piping and what the heck is currying?

Elm Modules and Imports

Importing a module exposes its functionality in the context of the program that is loading the module. In Elm there are different ways to import modules and we will have a look at these in this article.