Namaran

Code daily. Without assist.

2026-08-22

Dollar.hs

double :: Int -> Int
double x = x * 2

main :: IO ()
main = print $ double $ 3 + 4

これは何を出力するでしょうか?

Answer

14$は最も優先順位が低い右結合の関数適用演算子で、print $ double $ 3 + 4print (double (3 + 4))、つまりprint (double 7)と同じ意味になります。double 714なので、それが出力されます。$のおかげで、深い括弧のネストを避けられます。