Elm Functions Are Curried

Karlo Smid
2 min readJun 24, 2020

--

TL;DR

In Elm, everything is about functions. Let’s explore Elm function curried property. This post is part of the functional language series, and it is based on a remarkable book Programming Elm Build Safe and Maintainable Front-End Applications by Jeremy Fairbank.

In the image above, we have Basketball.letter the function with three parameters, where first and second are functions. Elm has a feature where you do not need immediately set for Basketball.letter function all three parameters. This is called partial applying of function parameters.

We first call Basketball.letter with the Basketball.trials function as the first parameter, and the anonymous function where we for every Integer always return String that explains who is drazen. As we do not set the third parameter, drazen is a new function that accepts Integer and returns String.

In other we crate function with Basketball.trials and Basketball.position functions that we used in Why Elm does not have statements. drazen and other are functions that are curried from other functions.

Remember

  • curried functions
  • partial argument application
  • those two concepts are based on functional programming principles. Do not despair if they do not immediately stick with you. You will grasp them after you start using those concepts in your application that solves a real-world problem.

Originally published at https://blog.tentamen.eu on June 24, 2020.

--

--

Karlo Smid
Karlo Smid

Written by Karlo Smid

Founder of Tentamen, software testing agency.

No responses yet