パイプでつないだコマンドって関数型言語っぽい

今日のおもいつき。

「そんなの当たり前だ!」と言われるかも知れないけど。

UNIXとかLinuxのシェルで使える、パイプでつないだコマンドって、関数型言語に似てると思う。たとえばこういうやつ。

cat hoge.txt | grep fuga | wc -l

コマンドへの指示はオプション(か標準入力)で与える。データーは標準入力から標準出力に流れる。

  1. あるコマンド(grepとか)に、同じ標準出力、同じオプションを渡したら、いつも同じ結果が返ってくる
  2. 小さいコマンドを組み合わせて大きなものを作る

この辺が関数型言語っぽいと思う。