Haskell勉強会

関数型プログラミングの学習日記

関数型プログラミングの肝=副作用がないこと

Lisp勉強のメモ。

 

 

(p.20)

1.5 関数型プログラミングを使いこなすには

1.5.1 副作用のないプログラムのために

関数型プログラミングで一番大事なことは、副作用のないことです。

他のことは忘れてもこれだけは覚えてください。

 

f:id:hamamuratakuo:20180907201547p:plain

 

1.5.3 不純関数型プログラミングのススメ

関数型プログラミングに限ったことではありませんが、新しいパラダイムには少しずつ慣れていくのが、結局は一番の早道になります。

前にも書きましたが小さく簡単な純粋関数型プログラミングから始めて、段々と大きく複雑にしていくのがいいでしょう。

また純粋でないハイブリッドな(不純な)関数型プログラミングも使い方によっては有効です。

このときに注意することは純粋関数型プログラムの部分とそうではい部分を疎結合にし、分割できるようにしておくことです。

これはたとえばレガシーラッピングするときの鉄則ですが、関数型プログラミングでも同様なことが言えます。

 

 

練習の段階では、副作用のない小さな関数型プログラムを組んでみる。

副作用のある手続き型プログラムと、副作用のない関数型プログラムを併用したハイブリッドなプログラムを作ってみる。

=副作用がある部分と、副作用がない部分を分離して管理しておく。

 

JavaScriptとかで関数型プログラミングを導入する場合、ハイブリッドにしておけばOK?