ラムダ文字の由来
Lisp で匿名関数を lambda と書くのは以下のような由来らしい。
- Russel と Whitehead の Principia Mathematica では束縛変数の上にキャレットを置く書き方をしていた
- Church がその記法を ^x(x+x) と変えた
- キャレットの下に何も無いのが変だと思ったので形が似ている Λx(x+x) と変えた(大文字ラムダ)
- やっぱり Λ は他の記号と見間違えやすいので小文字にして λx(x+x) とした
- McCarthy が Lisp を作ったときにそのラムダ表記を借りて lambda とした
Haskell も Church の最初の記法にさかのぼればよかったのになあと思った。
http://blog.so-net.ne.jp/rainyday/2007-02-21
由来から言えば\よりも^の方が正しいのか。
とりあえずGaucheで再現してみる
gosh> (define ^ lambda) ^ gosh> (map (^(x)(+ x x)) '(1 2 3)) (2 4 6)