functional programming

Functional programming notes: Higher-order functions

In the previous post we defined functions and function composition. Now that we know how function composition works, Let’s take one step further with higher-order functions

Higher-order functions

The idea behind higher-order functions is that functions are values, hence functions can be passed around as we do with Integers, Strings, etc… Functions that accept other functions as …

functional programming

Functional programming notes: Functions

In the previous posts, we took a look at how functions are the core pieces in functional programming languages. We talked about pure functions, referential transparency, side effects and recursion in the previous posts. In this post, we are going to explore some properties of functions and how we can use them in a functional …

functional programming

Functional Programming notes: Recursion

Recursion is a technique that allows us to break down a problem into smaller pieces. This technique allows us to remove some side effects that we perform while writting looping structures and also makes our code more expressive and readable. In this post we will see why is a very present technique in functional programming …

functional programming

Functional programming notes: Side effects

Functional programming is based on the simple premise that your functions should not have side effects, they are considered evil in this paradigm. If a function has side effects we call it a procedure, so functions do not have side effects. We consider that a function has a side effect if it modifies a mutable …