Elm

Join the Elm Track
Elm is a pure, functional language that compiles to javascript
Join the Elm Track
Track mentors

13 Mentors

Our mentors are friendly, experienced Elm developers who will help teach you new techniques and tricks.
Track students

2,580 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

45 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Elm

module HelloWorld exposing (helloWorld)


helloWorld : Maybe String -> String
helloWorld name =
    case name of
        Just name_ ->
            "Hello, " ++ name_ ++ "!"

        Nothing ->
            "Hello, World!"

Elm is a pure, functional language that compiles to javascript.

It was designed by Evan Czaplicki as part of writing his thesis on Concurrent FRP for Functional GUIs and evolved into a language to help make making user interfaces better.

Elm's goal is to be the simplest and best language for making web-based user interfaces.

Elm aims to completely eliminate runtime exceptions by combining an aggressively helpful compiler with solid architectural principles.

You can learn more about Elm at the official website.

Join the Elm track

Exercism is a great website

What I like about it is that I am able to solve the challenges in a TDD way working in a environment that I am familiar (my own PC not a browser IDE) and the cherry on the top of the cake is that I have access to code reviews.

Relaxed. Encouraging. Supportive.

Meet the Elm Track mentors

Once you join the Elm language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Cedd Burge

Cedd Burge Blog Posts

I'm a software lead / architect / manager type thing and I have a strong focus on code quality. Elm is the first functional language I've learned and it's impressively easy. The language has a strong focus on simplicity and a single recommended way of doing things, which is a refreshing change in the Front End world. It sits very well in it's target niche, and the runtime essentially provides an impure abstract syntax tree interpreter, leaving all your code 100% pure / functional. There is a strong and vibrant community, which is both innovative and supportive to newcomers.
Avatar of Aaron Strick

Aaron Strick website

Elm was my introduction to typed languages and a gateway for me to functional programming. I was lucky enough to learn it on the job, and have since adopted it as my main frontend language.
Avatar of Yeong Sheng, Tan

Yeong Sheng, Tan https://github.com/yeongsheng-tan

I was working on our front-end EmberJS codebase back in 2014, and beginning to toy with ReactJS. Given I've not touched Javascript since 2005, EmberJS and ReactJS did not feel right at home for me. Then Redux came along, and that was when I found elm-lang which did everything that React+Redux provided, with a friendly compiler, less boiler-plate code, and the safety of no runtime ever once it compiles.
Avatar of Percy Grunwald

Percy Grunwald

If it compiles, it will work forever. I've never written applications with fewer runtime errors than I have in Elm. Don't let the learning curve disuade you, once you're proficient in Elm you won't look back.
Avatar of Michael Glass

Michael Glass website

I like elm and also I like you. I love elm because it's so easy to refactor my first draft into something beautiful. I hope you do, too.
Avatar of Nathan Chere

Nathan Chere https://nathanchere.com.au

I like to code.
Fun. Challenging. Interesting

Community-sourced Elm exercises

These are a few of the 45 exercises on the Elm track. You can see all the exercises here.

Twelve Days
medium
conditionals
strings
text formatting
Space Age
easy
floating point numbers
Word Count
medium
maps
strings
transforming
Two Fer
easy
strings
Triangle
easy
misc
Bob
easy
conditionals
strings
text formatting
Passionate. Knowledgeable. Creative.

Meet the Elm Track maintainers

The Elm Maintainers are the brains behind the Elm Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Kenneth Bogner

Kenneth Bogner

This maintainer has not added their bio yet.

Get started with the Elm track. As with everything on Exercism, it's 100% free!

Join the Elm Track