Haskell 数据构造函数中的多态回调
我刚开始学哈斯克尔。我有定制课程Haskell 数据构造函数中的多态回调,haskell,Haskell,我刚开始学哈斯克尔。我有定制课程 class MyClass a where doSomething :: a -> () 我可以在构造函数中使用多态回调编写数据吗 data MyData = MyConstructor { callback :: (MyClass m) => m -> () -- error } 我想对函数参数进行约束。简而言之,是的,您可以使用Rank2Types或RankNTypespragma 因为您的数据类型是存在量化的。实际上是 dat
class MyClass a where
doSomething :: a -> ()
我可以在构造函数中使用多态回调编写数据吗
data MyData = MyConstructor {
callback :: (MyClass m) => m -> () -- error
}
我想对函数参数进行约束。简而言之,是的,您可以使用
Rank2Types
或RankNTypes
pragma
因为您的数据类型是存在量化的。实际上是
data MyData = MyConstructor (forall m. MyClass m => m -> ())
您需要更高级别的扩展