Pipeline Operator And Functions In Elixir And Elm


Let’s explain the most exciting Elixir and Elm operator and how it operates with functions. This post is part of the functional language series.

We have already learned how to define functions in Elixir and Elm. The function is a black box with input and output. We day that output is a function of the input. To solve problems, the programmer has to use multiply functions.

The program is a pipeline of chained functions.

The output of the previous function is the input of the next one. Elixir and Elm have an operator for that feature, a pipeline:

Elixir example of pipe in IEx:

Here we pipe two math functions: a square root and power. Squareroot has only one input, while pow has two inputs, number, and actual power. Both functions have only one output.

We “pipe” number two as input to function, and result of that function we pipe into function. This is why has empty parenthesis, while has only number 2 as input.

A similar example in Elm Repl:

Here we first pipe -4 to which results in 4, and then we pipe that to . We do this because we can only take of positive numbers.


  • what pipes the pipe operator into the function
  • pipe operator syntax

Originally published at https://blog.tentamen.eu on May 22, 2020.

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