引数を引き回す
いままで幾つか Haskell のコードを書いてきた。そうしているうちに、「関数プログラミングとは『永続データプログラミングを奨励していること』」の意味が理解できてきた。データの値を書き換える(再代入)のではなくデータを新しく作る、ということかな、と。
そういうことが少しずつ分かり始めてきたのだけれど、ちょっと問題が。
最近書いたコードの傾向として、引数の引き回しが多いというのがある。引き回している引数は状態(結果)を保存しておくためのリストのことが多い。今はその引き回す引数の数は少ないし、大規模なコードも書いていないので十分間に合っている。けれど、そうでなくなった場合どうすればいいのだろう。いくつもの引数をあっちこっちに引き回していたら、理解し辛いコードになることは容易に想像できる。
どうやったらスッキリかけるのか?
状態っていうと State がパッと思いつくけど。そろそろモナドも避けて通れなくなってきた感が。