5
"15"を整数に変換して結果を出力するには、次のコードが期待しますが、エラーが発生します。
main = print $ read "15" :: Integer
Couldn't match expected type `Integer' with actual type `IO()'
しかし、ちょうどmain = print (read "15" :: Integer)
がうまく動作します。私は括弧内の行の残りの部分を効果的に取り囲んでいるという印象を受けました。 この場合、$がなぜ機能しないのですか?
簡潔に言えば(ただし、正しくはありません)、 '::'は '$'よりも優先順位が低くなります。 –
ハスケルの_is_構文砂糖。さもなければ、それはrank-N型付き引数では機能しません。これはPureScriptの関数です。 –