私は一日飽きて脳を鍛えたかったので、99 Haskell Problemsをやることにしましたが、ポイントフリーのスタイルでやっていました。私がポイントフリーのスタイルでやっているときに大した問題となる問題は次のとおりです。それぞれの結果を独立したエンティティとして保持しながら、同じ値に複数の関数を適用するにはどうすればよいですか?ハスケルで同じ値のポイントフリースタイルに複数の関数を適用する
foobar x = [id x, reverse x]
そして、私はポイントなしの表記で、これまでに作ってみた:先の尖った表記を使用すると、
foobar' = `map` [id, reverse] ($ x)
私はそこの末尾からx
ことを得るように見えることはできません。
liftA2 (+) sin cos 3
ここ
sin
とcos
は、両方の受信機能、次のとおりです。あなたは簡単に引数を配布することができ、それを使用して
instance Applicative (e ->)
:
。これはすべての用途では機能しません。 –
@ ThomasM.DuBuisson:どのような制約? –
@BenMillwood私はtypeclassの制約について言及しています。 JohnLの答えは 'a - > [a]'です。 –