如果我有一个MultiParamTypeClass,说Dictionary a k v(无论什么,它的类型是什么* -> * -> *),我想为列表(即[(k,v)])创建一个实例,这可能吗?
我得知编译器抱怨这[(k,v)]只是一种,*但有可能使这个列表(在这个例子中是一个关联列表)表现得像Pair k v但仍然能够使用Haskell的列表类型?
在代码中,
class Dictionary a where
method :: Thing k v -> a k v
Run Code Online (Sandbox Code Playgroud)
我想形成
instance Dictionary [(k,v)] where
method = ...
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?我意识到有OverloadedLists扩展,但我想要的东西比文字更有效.