Cách đây không lâu tôi đã phát hiện Natural
loại dữ liệu trong base
. Đó là nghĩa vụ phải được thực hiện (như nó có vẻ với tôi) khi bạn định sử dụng loại số nguyên không âm. Nhưng không rõ tại sao tôi nên thích Natural
đến Integer
. Cả hai loại có độ chính xác tùy ý, cả hai đều có đại diện thời gian chạy khá được tối ưu hóa - Integer
representation và Natural
representation. Nhưng Natural
can throw pure exceptions khi bạn trừ số tự nhiên và điều này không thực sự thêm nhiều loại an toàn hơn cho mã của bạn. Trong khi Integer
phổ biến hơn trên tất cả các gói.Khi nào nên chọn 'Tự nhiên' trên 'Số nguyên' trong Haskell?
Vậy khi nào và tại sao tôi nên sử dụng Natural
?
Điều này có thể là một chút ý kiến, nhưng tiêu chí của tôi sẽ là "nếu bạn muốn có lỗi thời gian chạy đến kết quả phủ định, hãy chọn 'Tự nhiên'" – chi
@chi Đồng ý. Trong khi chúng ta có 'negate' và' (-) 'bên trong lớp' Num' không nhiều, chúng ta có thể làm để không cho phép trừ đi. – Shersh