Functional Recipes¶
This page collects short MakrellPy recipes for common functional patterns. The aim is not to explain functional programming from first principles, but to show how a few recurring tasks look in MakrellPy.
Recipe: partial application¶
{fun add [x y]
x + y}
add3 = {add 3 _}
{add3 5}
This is one of the most common small patterns in MakrellPy: fix some arguments now, leave the remaining ones open with placeholders, and reuse the resulting function later.
Recipe: pipes¶
[2 3 5] | sum
sum \ [2 3 5]
These examples show both forward and reverse pipe style. They are useful when you want the flow of a small calculation to read left-to-right or right-to-left depending on the situation.
Recipe: operators as functions¶
2 | {+ 3} | {* 5}
Operators can participate in higher-order flow instead of only appearing in ordinary infix expressions.
Recipe: compose several functions¶
add2 = {+ 2}
mul3 = {* 3}
sub = {-}
add2mul3sub5 = add2 >> mul3 >> {sub _ 5}
5 | add2mul3sub5
This shows how small reusable functions can be composed into one larger step and then dropped back into a pipeline.
When to use these patterns¶
These recipes are especially useful when you want:
concise data-flow style
reusable small functions
composition without a lot of surrounding scaffolding