有没有办法以这样的方式使用Data.Map,值的类型取决于键的类型?我需要确保我永远不会在地图中插入错误的类型值.
例如:假设我有类型KeyType a,ValType a
然后Map应该有类似的类型
Map (KeyType a) (ValType a)
但这显然不起作用,因为a没有约束.
小智 0
您可以使用类型同义词进行绑定,以便它对于您的anda必须相同:KeyTypeValType
type MapFor a = Map (KeyType a) (ValType a)
Run Code Online (Sandbox Code Playgroud)
现在您可以在您曾经使用过的任何地方使用MapFor a(对于某些特定的) 。aMap (KeyType a) (ValType a)