thể trùng lặp:
Currying subtractionTương đương với (+1) cho phép trừ là gì, vì (-1) được xem là số âm?
tôi bắt đầu dự án Haskell đầu tiên của tôi đó không phải là từ một hướng dẫn, và tất nhiên tôi vấp ngã vào những điều đơn giản nhất.
Tôi có đoạn mã sau:
moveUp y = modifyMVar_ y $ return . (+1)
moveDn y = modifyMVar_ y $ return . (-1)
Tôi đã mất một thời gian để hiểu tại sao mã của tôi sẽ không biên dịch: Tôi đã sử dụng (-1) được coi là một tiêu cực. Bracketting trừ đi không giúp ích khi nó tiền tố nó và làm cho 1 tham số đầu tiên của nó.
Tóm lại, phiên bản miễn phí điểm này là gì?
dec :: Num a => a -> a
dec x = x - 1
Xem http://stackoverflow.com/questions/4454559/currying-subtraction –