各言語のlambda

気になって調べてみた。
python

lambda x: x*x

javascript

function(x){
  return x*x;
};

Groovy

{ x -> return x * x }

scheme

(lambda (x) (* x x))

Haskell

\x -> x*x

OCaml

fun x -> x*x

C#*1

delegate(int x) {
  return x*x;
}

以下、余談。

  • 型を明示する言語ではlambdaを使えるものが見当たらなかった。相性が悪いのかな。
  • Rubyにはblockがあるが、あれはlambda相当なのだろうか?
  • Boostなど、ライブラリとして実現する例については調べていない。

*1:nak2kさんの指摘を受けて追加。