私は、Yesodの次のタイプ同義語が何をしているのか理解しようとしています。ハスケル型同義語
type HtmlUrlI18n msg url = Translate msg -> Render url -> Html
私はあなたにいくつかのHaskellのか->
存在と型シノニムのHaskellのwikibookを学ぶの例を見つけることができませんでした。リンクや説明は大変ありがとうございます。ありがとう。
私は、Yesodの次のタイプ同義語が何をしているのか理解しようとしています。ハスケル型同義語
type HtmlUrlI18n msg url = Translate msg -> Render url -> Html
私はあなたにいくつかのHaskellのか->
存在と型シノニムのHaskellのwikibookを学ぶの例を見つけることができませんでした。リンクや説明は大変ありがとうございます。ありがとう。
これはちょうどa(long to write down)関数型の同義語です。例えば、以下のものが有効でなければなりません。
--Example of a function type synonym
type StrFn = String -> String
foo :: StrFn
foo s = s ++ "!"
--Example of a function type synonym with type parameters
type Fn a = a -> a
bar :: Fn String
bar s = s ++ "?"
これは、関数型の単なる同義語です。 –
'HtmlUrlI18n msg url'はどこでも' Translate msg - > Render url - > Html'と置き換えられます。 – sdcvvc
猫が言ったことに追加する:右手型の署名がやや扱いにくく、おそらく覚えがたいので、これが行われます。多くの引数の1つとして 'Translate msg - > Render url - > Html'を取る関数があるとします。それはすぐに判読不能になり、おそらく不明瞭になりますが、 'HtmlUrlI18n msg url'を取ることはずっと良いです。 – gspr