Patterns in Functional Programming

Functions: A Compilation of My Favorite Functions and Patterns in Functional Programming

Focused. Opinionated. (Hopefully) informative. Functions is a space where I catalogue learnings for all things functional. This is a compilation of my favorite functions and patterns in functional programming.

I’ll be publishing them one at a time. This week, I’ll share the first five: The with statement, Curry, group_by, debounce, and lens.

In each post, I’ll endeavor to unpack some utility function or design pattern in functional programming.


Check back here each day for the next in functions and patterns in functional programming series.

Patterns in Functional Programming

The with statement may be my favorite feature of Elixir since the pipe operator. It enables the chaining of uncertainty. It affords elegance to the otherwise unsavory business of nested control structures.

View with statement here.

Patterns in Functional Programming

Haskell Curry is a giant. His first name denotes a textbook functional programming language, his last name a technique in functional programming. It’s his surname that I shall address here.

View curry here.

Patterns in Functional Programming

 I encountered this little gem while pair-programming with a colleague earlier this week. It affords much potential in the domain of complex sorting operations.

View group_by here.

Patterns in Functional Programming

I first learned of debounce from something of a mentor, who explained that it originates from the early days of the Internet when it was important to preclude repeated clicks to Buy Now buttons.

View debounce here.

Patterns in Functional Programming

Lenses are difficult to articulate. More challenging is presenting a strong use-case. Perhaps you’ve already read up on lenses a bit. Perhaps your tireless search brings you here.

View lens here.

Patterns in Functional Programming

Elixir function clauses delegate handling by virtue of data values more effectively than other control structures.

View function clauses here.

We're building an AI-powered Product Operations Cloud, leveraging AI in almost every aspect of the software delivery lifecycle. Want to test drive it with us? Join the ProdOps party at