重複の可能性:
カリー化減算
私はチュートリアルからではない最初の haskell プロジェクトを開始しましたが、もちろん、最も単純なことに出くわしました。
次のコードがあります。
moveUp y = modifyMVar_ y $ return . (+1)
moveDn y = modifyMVar_ y $ return . (-1)
コードがコンパイルされない理由を理解するのに少し時間がかかりました。負の値として認識される (-1) を使用していました。マイナスを括弧で囲んでも、先頭に付けて最初のパラメーターを 1 にするため、役に立ちません。
要するに、これのポイント無料版とは何ですか?
dec :: Num a => a -> a
dec x = x - 1