Applicativeタイプクラスでこれらの関数をどのように発音しますか:
(<*>) :: f (a -> b) -> f a -> f b
(*>) :: f a -> f b -> f b
(<*) :: f a -> f b -> f a
(つまり、それらが演算子でない場合、何と呼ばれますか?)
補足として、pure
の名前を数学者以外の人にとってより使いやすい名前に変更できるとしたら、それを何と呼びますか?
C。A. McCannの技術的回答 を改善するという野心はないので、もっとふわふわしたものに取り組みます。
pure
の名前を私のようなPodunkにとってより使いやすい名前に変更できるとしたら、それを何と呼びますか?
代替案として、特に「Monad
」と呼ばれるreturn
バージョンに対して叫ばれた不満と裏切りで満たされた定数に終わりがないので、その機能を示唆する別の名前を提案します命令型プログラマーの最も命令的で、最も機能的な...を満たすことができる方法で、うまくいけば、誰もが同じことについて不平を言うことができる:inject
。
値を取る。 Functor
、Applicative
、Monad
、またはwhat-have-youに「注入」します。 「inject
」に投票し、このメッセージを承認しました。
簡単に言うと:
_<*>
_呼び出すことができますapply。 _Maybe f <*> Maybe a
_はとして発音できます_Maybe f
_ over _Maybe a
_を適用します。
多くのJavaScriptライブラリと同じように、pure
をof
に名前変更できます。 JSでは、Maybe.of(a)
でMaybe
を作成できます。
また、Haskellのwikiには言語演算子の発音に関するページがあります ここ
(<*>) -- Tie Fighter
(*>) -- Right Tie
(<*) -- Left Tie
pure -- also called "return"
ソース: Haskell Programming from First Principles 、Chris AllenおよびJulie Moronuki