最近流行りのprototype.jsでもこんな感じの高階関数(メソッド)が定義される →これからのJavaScripterは高階関数のマスターが必至!! 関数の部分適用 こんなとき: 引数の一部分を決定した状態で他の関数に渡したいとき function add(a, b) { return a + b } ['Shibuya', 'Shinjuku', 'Akihabara'] .map(function(str) { return add(str, '.js') }) => ['Shibuya.js', 'Shinjuku.js', 'Akihabara.js'] これはながい! Schemeではcutというマクロで関数の引数の一部を固定できる この場合、第二引数に '.js' を固定した add を渡したい → "関数の部分適用"