module HelloWorld exposing (helloWorld) helloWorld : Maybe String -> String helloWorld maybeName = case maybeName of Nothing -> "Hello, World!" Just name -> "Hello, " ++ name ++ "!"
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Create a custom set type.
Write a function to convert from normal numbers to Roman Numerals.
Implement the `keep` and `discard` operation on collections. Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false.
Elm is for making Web applications.
Elm aims at the most enjoyable developer experience possible.
Elm has tiny compilation times, small assets and a fast runtime.
Thanks to strict typing, Elm catches potential errors at compilation.
Elm is a simple pure functional language, a good gateway for more advanced functional languages.
Every language has its own way of doing things. Elm is no different. Our mentors will help you learn to think like a Elm developer and how to write idiomatic code in Elm. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Elm - they'll help you discover the things you don't know that you don't know.Learn more about mentoring
The Elm track on Exercism has 19 concepts and 72 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.See all Elm exercises
The best part, it’s 100% free for everyone.