Skip to Content
Why Elm?
book

Why Elm?

by Matthew Griffith
May 2017
Intermediate to advanced
49 pages
1h 2m
English
O'Reilly Media, Inc.
Content preview from Why Elm?

Chapter 2. Reading Elm

It’s a little hard to talk too much about Elm without showing some code. This report isn’t meant to be a comprehensive guide, but merely to give you a feel for what the language looks like and how it works. So, let’s see what some Elm code looks like! (I will warn you that if you’re not familiar with this sort of programming, the code presented in this chapter may feel a little weird. I encourage you to squint your eyes and persevere.)

Here’s a basic function called mathPlease that takes two numbers, x and y, and does some math with them:

mathPlease x y = (x + y) * 5

Elm is an expression-oriented language. There’s no return statement because each expression will naturally result in a value. This may become a bit clearer when we do something familiar like write an if expression. Here’s a function called aboveTen that takes a number, x, and returns True if it’s above 10:

aboveTen x =
    if x > 10 then
       True
    else
       False

Also note that this function can only result in one type of thing. In this case it results in a Bool, which can be either True or False. We couldn’t have one branch that returns a String, while another branch returns True. In order to capture more complex results, we’d have to define a new type, which we’ll get to shortly.

Because Elm is based on expressions, we don’t have the list of instructions that is the hallmark of imperative languages. If we need some workspace to make a more complicated function, Elm has a let...in construct, which you ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

The Joy of JavaScript

The Joy of JavaScript

Luis Atencio
Beginning F# 4.0

Beginning F# 4.0

Robert Pickering, Kit Eason
The Joy of Kotlin

The Joy of Kotlin

Pierre Yves Saumont

Publisher Resources

ISBN: 9781491990728Errata Page