Elm Functions Are Curried


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.


  • 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.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Karlo Smid

Karlo Smid

Founder of Tentamen, software testing agency.