はじめに こんにちは、SIOS アプリケーションコンサルティングGの池田 透です。 この記事ではTypeScriptのfp-tsという関数型プログラミングのためのライブラリを使ってモナドについて説明してみます。 モナドに関する説明は数多くありますが、とても高尚な概念の説明だったり、逆にマニアックにモナドのテクニックを説明するものが多くとっつきにちょうど良いものがなかなかないんですね。 そこでTypeScriptでプログラミングをしていたらモナドを使いたくなる(かもしれない)例を使って動機付けしながら説明していきたいと思います。 tl;dr 商品IDと数量から請求明細を作る例を考えます。請求明細を作るステップとして1. 商品の検索 2. 小計の計算などが考えられます。 このステップそれぞれで「商品が存在しない場合」、「小計が0円未満になった」とエラーを出すのですが、throwやif文が挟み込