Published in


Photo by James Harrison on Unsplash

Our journey to functional programing



Homemade solutions

What is Either?

Either — A result with the possibility of failure
Our original naïve Either implementation

How can we go further?

  • Option<T> for expressing nullable values
Option — A result that may not exist
  • Task<T> for expressing asynchronous computations
Task — A result that will be produced at some point in the future
  • Reader<R, T> to perform dependency injection
Reader — A result that will be produced only when provided with an additional dependency

New product, clean slate

Adopting new concepts when needed

Investing for the future

  • the first one is fp-ts-cheatsheet that collects “recipes” of the pattern we use at Inato
  • and the second isfp-ts-training that is presented to each new product engineer that joins the team



Thoughts & experiences from the Inato team

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