Tôi khá mới đối với Haskell nhưng có được hầu hết các khái niệm cơ bản. Tuy nhiên có một điều mà tôi không thể hiểu được. Hãy xem xét ví dụ của tôi dưới đây:Tại sao hàm Haskell của tôi không chấp nhận số âm?
example :: Int -> Int
example (n+1) = .....
Phần (n +1) của ví dụ này bằng cách nào đó ngăn đầu vào số âm nhưng tôi không thể hiểu được. Ví dụ .. Nếu đầu vào là (-5) tôi mong đợi n chỉ là (-6) vì (-6 + 1) là (-5). Đầu ra khi thử nghiệm như sau:
Program error: pattern match failure: example (-5)
Bất cứ ai có thể giải thích cho tôi tại sao điều này không chấp nhận số âm?
Lưu ý rằng các mẫu 'n + k' sẽ bị xóa khỏi phiên bản tiếp theo của đặc tả ngôn ngữ Haskell (Haskell 2010). Theo như tôi biết, chúng hiếm khi được sử dụng trong thực tế (mặc dù tôi chắc chắn ai đó sẽ tìm thấy một ví dụ giai thoại). Vì vậy, tôi sẽ đề nghị không sử dụng chúng. –