今日のおもいつき。
「そんなの当たり前だ!」と言われるかも知れないけど。
UNIXとかLinuxのシェルで使える、パイプでつないだコマンドって、関数型言語に似てると思う。たとえばこういうやつ。
cat hoge.txt | grep fuga | wc -l
コマンドへの指示はオプション(か標準入力)で与える。データーは標準入力から標準出力に流れる。
- あるコマンド(grepとか)に、同じ標準出力、同じオプションを渡したら、いつも同じ結果が返ってくる
- 小さいコマンドを組み合わせて大きなものを作る
この辺が関数型言語っぽいと思う。