Applicative Programming

Functional JavaScriptという本を読んでると、Applicative Programmingという言葉が出てきた。 定義の文章を読んでも何を指している言葉なのかよくわからなかったが、

  • _.map
  • _.reduce
  • _.filter

などのunderscore.jsの関数ように、引数に関数を与え、内部でその関数を利用するという関数の組み合わせ方で処理を構築する方法を指すようだ。

オブジェクト指向な視点で言えばストラテジーパターンに相当するんですかね。

わざわざ名前をつけるほどのことなのかとも思ったが、C/C++ぐらいしかしらない状態で、RubyだかLispだかOCamlあたりではじめてmap関数的なものを知ったときには便利だと思った記憶がある。

Functional Javascript: Introducing Functional Programming With Underscore.js

Functional Javascript: Introducing Functional Programming With Underscore.js