ドット演算子について少し混乱しています。私は次のコードを持っています(テスト用):
test :: Int -> Int -> Int
test x y = f1 . f2 x y
where f1 n = n+1
f2 x' y' = x' * y'
そして、最初に (f2 xy) を実行し、次にその結果に対して f1 を実行すると考えましたが、代わりにエラーがスローされます。ドット演算子の正確な定義とf1 に等しいものを教えてください。f2xy ? (ドット演算子なしで記述した場合)
よろしく、スカイフ。
編集:ドット演算子が完全な新しい関数を生成する場合、次のコードが機能するはずだと考えました:
test :: Int -> Int -> Int
test x y = f1 . f2 x
where f1 n = n+1
f2 x' y' = x' + y'
しかし、そのコードもエラーを返します。