コンビネータ

Haskell に関することを調べていると、「コンビネータ」という言葉がさらっと出てくる。特に説明もなく出てくる。Haskell 以外の言語(私が主に使ってきたのは C, PHP, Ruby)では聞かなかったので戸惑う。しかも横文字なので字面からでは意味が推測しづらい。

単語の意味を調べると 「組合せ子」とある。アカデミックな響き。「組合せ子」で検索しても思うような結果を見つけられない。

Real World Haskell では次のように書かれていた。

Haskell では引数として別の関数を取り、新しい関数を返す関数のことをコンビネータといいます。

引数も返り値も関数ということなので、高階関数中の高階関数といったところか。

どのような場面で使うか使えるか、というのはまだ理解できていない。とりあえず言葉の意味を知る、というところまでで。