web-dev-qa-db-ja.com

Haskell:<*>はどのように発音されますか?

Applicativeタイプクラスでこれらの関数をどのように発音しますか:

(<*>) :: f (a -> b) -> f a -> f b
(*>)  :: f a -> f b -> f b
(<*)  :: f a -> f b -> f a

(つまり、それらが演算子でない場合、何と呼ばれますか?)

補足として、pureの名前を数学者以外の人にとってより使いやすい名前に変更できるとしたら、それを何と呼びますか?

100
J Cooper

C。A. McCannの技術的回答 を改善するという野心はないので、もっとふわふわしたものに取り組みます。

pureの名前を私のようなPodunkにとってより使いやすい名前に変更できるとしたら、それを何と呼びますか?

代替案として、特に「Monad」と呼ばれるreturnバージョンに対して叫ばれた不満と裏切りで満たされた定数に終わりがないので、その機能を示唆する別の名前を提案します命令型プログラマーの最も命令的で、最も機能的な...を満たすことができる方法で、うまくいけば、誰もが同じことについて不平を言うことができる:inject

値を取る。 FunctorApplicativeMonad、またはwhat-have-youに「注入」します。 「inject」に投票し、このメッセージを承認しました。

21
BMeph

簡単に言うと:

  • _<*>_呼び出すことができますapply。 _Maybe f <*> Maybe a_はとして発音できます_Maybe f_ over _Maybe a_を適用します。

  • 多くのJavaScriptライブラリと同じように、pureofに名前変更できます。 JSでは、Maybe.of(a)Maybeを作成できます。

また、Haskellのwikiには言語演算子の発音に関するページがあります ここ

5
(<*>) -- Tie Fighter
(*>)  -- Right Tie
(<*)  -- Left Tie
pure  -- also called "return"

ソース: Haskell Programming from First Principles 、Chris AllenおよびJulie Moronuki

3
dmvianna