Tôi có hàm haskell để tính toán kích thước của danh sách Ints hữu hạn. Tôi cần loại đầu ra là một Integer vì giá trị thực sự sẽ được lớn hơn mức tối đa bị ràng buộc của Int (kết quả sẽ là -1 để được chính xác nếu loại đầu ra là một Int)Lỗi Haskell: Không thể khớp với loại được mong đợi `Số nguyên 'với loại được suy ra` Int'
size :: a -> Integer
size a = (maxBound::Int) - (minBound::Int)
Tôi hiểu sự khác biệt giữa Ints (bounded) và Integers (unbounded) nhưng tôi muốn tạo một Integer từ Int. Tôi đã tự hỏi nếu có một chức năng như fromInteger, điều đó sẽ cho phép tôi chuyển đổi một Int thành một kiểu Integer.
Bạn không sử dụng 'a'. – kennytm
(trong re. @dons câu hỏi cuối cùng :) Bởi "kích thước của danh sách các Ints hữu hạn" bạn có nghĩa là, các yếu tố số sẽ có trong một danh sách có chứa tất cả các Ints có thể? – MtnViewMark
@KennyTM, Có, tôi biết :) Hàm kích thước là thuộc tính của loại lớp hữu hạn bị quá tải cho các kiểu con riêng biệt (Int, Product of Finites, v.v. vì vậy 'a' được sử dụng để xác định tình trạng quá tải sử dụng – Fry