関数型言語
//20200804//新規作成
参考書籍
------------------------------------------------------------------------------------------------------
JavaScript関数型プログラミング 複雑性を抑える発想と実践法を学ぶ impress top gearシリーズ
LuisAtencio, 株式会社イディオマコムニカ 加藤大雄
Common Lispと関数型プログラミングの基礎
山田 新之介
すごいHaskellたのしく学ぼう!
Miran Lipovaca, 田中 英行, 村主崇行
------------------------------------------------------------------------------------------------------
最近は上のJavaScriptの本を読み始めている。その下の二冊は昔買って読んだ本である。
再帰関数が良く出てくるのが私の印象である。
オブジェクト指向言語だとあんまり再帰関数使わないコーディング規約なのも目にして
結構再帰関数をデバッグするのが難しいらしいけどそれが今回のJavaScriptの本では解決するのか
楽しんで結論まで読む予定でいる。また何か言いたい事があったら編集して書き込みたい。
ともかく関数型言語でテストとデバッグ出来る本に出会っていない。
コードは読めるけど確認が出来ない。それが私の今の現状である。
それがイマイチ関数型言語に抵抗を感じる原因である。
それでも上のJavaScriptの本は2017/06/09に出版されているので期待出来るのかあんまり確信はない。
それでも下の二冊よりは新しい本なのでどうなるか果たして私の疑問はとけるかJavaScript頼みである。
//20201209追記
ラムダ式とか無名関数で関数をある関数の引数として扱える。
それはつまり関数の処理をあとから定義出来るということである。オブジェクト指向の継承みたいではあるが関数型言語では関数の合成だろうと思う。
カリー化は引数の数によって後処理出来る。クロージャーは関数の変数が関数ごとに変数の値が保持される。
プロトタイプはプロパティとして使える。JavaScriptのオブジェクト指向でプロトタイプが使われる。
モナドは「プログラム可能なセミコロン」みたいで追加処理をパイプライン中に埋め込むらしい。
モナド自体はJavaScriptでは私自身未消化である。また何かあったら追記したい。
参考書籍追記
------------------------------------------------------------------------------------------------------
JavaScript Ninjaの極意
Bear Bibeault, John Resig他 | 販売者: Amazon Services International, Inc. | 2013/8/28
------------------------------------------------------------------------------------------------------