Tôi đã rối tung xung quanh với HashMap
và cố gắng sử dụng một mã khóa Data.Bson.ObjectId
. Tôi, tất nhiên, phát hiện ra rằng không có một cá thể Hashable
cho cấu trúc đó. Đó là ok, bởi vì viết một là tầm thường.Tôi có thể thêm tuyên bố thể hiện trong GHCi
instance Hashable ObjectId where hash (Oid x y) = hash (x,y)
Tôi gõ dòng vào GHCi và được cho biết "phân tích lỗi trên đầu vào 'dụ'". Điều này thực sự có ý nghĩa khi lời nhắc GHCi hoạt động như thể các dòng đã được nhập vào một khối làm trong đơn nguyên IO và một thể hiện không thể được định nghĩa trong ngữ cảnh này.
Câu hỏi của tôi sau đó, có cách nào để xác định một cá thể mới trong GHCi không?
Tại sao trường hợp này không được cung cấp bởi thư viện là một vấn đề khác. Tôi tin rằng câu trả lời là để hạn chế sự phụ thuộc ngoại trừ việc gói bson đã phụ thuộc vào mọi thứ dưới ánh mặt trời.