我正在搞HashMap
並嘗試使用Data.Bson.ObjectId
作爲關鍵。當然,我發現這個結構沒有一個Hashable
實例。沒關係,因爲寫一個是微不足道的。我可以在GHCi中添加實例聲明
instance Hashable ObjectId where hash (Oid x y) = hash (x,y)
我輸入這行到GHCI,被告知「上輸入'實例「解析錯誤」。這實際上是有意義的,因爲GHCi提示符的操作就像在IO monad中輸入到do塊一樣,並且在這種情況下不能定義實例。
我的問題是,有沒有辦法在GHCi中定義一個新的實例?
爲什麼不是由庫提供的這種情況是另一回事。我相信答案是限制依賴關係,除了bson包已經取決於太陽下的所有東西。