Haskell có một khái niệm về các chức năng chung của Cameron, có một số điểm tương đồng rõ ràng với lisp phổ biến không có kinh nghiệm với Haskell cũng như với lisp thông thường, tôi có thể rất gần đúng ở đây. Điều này có nghĩa là người ta có thể định nghĩa một to_string
cơ sở chung để xác định biểu diễn chuỗi cho tất cả các loại. Tất nhiên, cơ sở phải được xác định trong các trường hợp đặc biệt nhưng có một to_string
chức năng có chữ ký của nó α → string
.
Các loại có bị xóa trong Haskell, như chúng ở OCaml không? Nếu có, việc triển khai các chức năng chung của Wikipedia như thế nào trong Haskell khác với chức năng chung, trong đó các loại là động và do đó không bị xóa?
Tôi hiểu rằng chi tiết triển khai là cụ thể của trình biên dịch, nhưng có lẽ có các quy định chung cho nhiều hoặc tất cả các triển khai.
a -> String
. Bạn có nhiều khả năng sẽ có một ràng buộc kiểu, nhưShow a => a -> String
.