Excelに高階関数が備わっているのはご存じですか? 多くの人がよく使っている、式の一括コピーのことです。例えば数値が並んでいる列があるとき、その頭のセルの右となりに式を設定して、なにがしかの式を定義をします(例えば「=A1+1」など)。そしてCtrlを押しながらその式のセルをクリックして下方向にドラッグしていくと、同じ式を複数の数値に一括して適用できます。これをRubyで書くと、 [1, 2, 3].collect { | i | i + 1 }みたいな感じです。つまり、「セルの一括コピー」という「操作」が、関数を複数のデータに一括して適用する高階関数になっているわけです。 大学時代、卒論のテーマにしたかった(が時間が間に合わずできなかった)のが、このコンセプトを拡張した「Visual FP(Functional Programming)」です。当時、Haskellはまだありませんでした