2013-04-10 26 views
10

式は、通常、Haskellのプログラマによってどのように発音されるのですか?\x -> y` x - > y 'とはどういう意味ですか?

一般的な文脈ではλx.yと書かれているので、私は通常「ラムダ・ドット」と言っているので、私は聞きますが、ラムダ計算には本やノートを使って紹介されました。しかし、それはハスケルの点ではなく、矢である。

私はコンピュータサイエンスの人々がしばしばスピーチでドットを消すことを理解しています(「ラムダ」[短い休止] y)。 F#とC#のプログラマーは、Webから、 "eks goes to why。"と同じ表現をx => yと発音することがよくあると言います。私は他の文脈でどのように同様の構成が言われているのか分かりません。

ハスケラーの間では、それは "ラムダeksの矢印なぜ、"または何ですか?

+1

私は通常、 "lambda x y"と発音します。しかしそれは決して滑らかではありません – luqui

答えて

11

私は通常「ラムダxからy」と発音します。これは非常に短く、TeXでの入力方法と一致します:\lambda x \to y。 (かわいいメモとしてエディタにTeXの入力モードがあるので、上記のように入力してλ x → yを得ることができます:P)

私は、あなたが "ラムダx dot y " - ほとんどの人は少なくともその表記法に精通しており、文脈から何を意味するのかを推測するのは非常に簡単です。

しかし、誰も「行く」とは聞いたことがありません。

+1

私は私の設定された理論家と仲良くした結果、「A to B」と言います。 – jozefg

+0

これはどのエディターですか? – AndrewC

+1

@AndrewC:Emacs。これは 'TeX'入力モードです。単に' C- \ 'を実行して' TeX'を入力するだけでそれを選択できます。 –

2

自分自身の答え:私の考えでは、「xがyになる」、または単に「xからy」と言われることがよくありますが、いくつかの一般的な高次関数には少しばかり適応していると思います。もしあなたがmap (\x -> (x * 2) - 1) fooだったら、私はそれを "map xからx times 2 - foo on one"と考えるでしょう。しかし、filter (\x -> x /= 6) fooのようなものでは、「フィルターx、xはfoo上で6と等しくない」と読むことができます.-事実上、矢印はその場合カンマになります。

関連する問題