Elm Functions Are Curried

Image for post
Image for post

TL;DR

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.

Image for post
Image for post

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

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

Written by

Founder of Tentamen, software testing agency.

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