DEV Community

Attila Večerek
Attila Večerek

Posted on • Updated on

Introduction to FP

Welcome to the series of blog posts about functional programming in TypeScript. In this series, we explore the basic concepts of function composition and monads. The code examples in this series are built using the fp-ts library and TypeScript's native features.

I have chosen fp-ts since it is the tool I am the most familiar with but there are others out there, for example effect-ts.

Target audience

Function composition and monads are concepts that can sound scary to people coming from a non-functional programming background. It certainly did sound scary to me at first. In this series, I want to explain these concepts using very simple terms and examples. I am not trying to be exhaustive, nor completely accurate in my explanations. If you want to learn about the mathematical background of functional programming and category theory, this isn't the series you're looking for.


Each chapter consists of the following:

  • explanations centered around a single concept,
  • code examples (ESM),
  • additional learning materials to offset the incompleteness and low accuracy of my explanations,
  • a short wrap-up and a brief introduction to the next chapter.

The chapters build on top of each other. Hence, it is strongly recommended to read them in the given order.


  • The aim of the series is to explain a few basic functional programming concepts in simple terms.
  • The series is targeted at software engineers not comfortable with functional programming concepts who have at least a basic understanding of TypeScript or any other typed language.

In the next chapter, we learn about function composition. See you there!👋

Extra resources

Top comments (0)