自分の中で、「カリー化ってどんなメリットがあるの?」や「モナドってどのようにつかうの?」と、しっかりと関数型プログラミングを理解できていない節があったので、自分の理解のために記録したものです。 間違っている点や理解が不足している点があればご指摘をいただけると幸いですm(_ _)m そもそも関数型プログラミングとは? ざっくりと言えば、 「プログラムの構成に、副作用のない関数を利用し、組み立てていくプログラミングのスタイル」 のことである。 暫し、オブジェクト指向のプログラミングのスタイルと比較されることがあるが、オブジェクト指向は、データ(状態)と操作を格納したコンテナを基本要素とすることで様々なメリットを享受することができるプログラミングのスタイルのこと。 オブジェクト指向と関数型言語のプログラミングのスタイルの比較は、他で書いてありそうなので割愛。 関数型プログラミングの条件 関数を言