gpt4 book ai didi

haskell - 数据构造函数中的多态回调

转载 作者:行者123 更新时间:2023-12-02 15:25:56 26 4
gpt4 key购买 nike

我刚刚开始学习haskell。我有自定义类

class MyClass a where
doSomething :: a -> ()

我可以在构造函数中编写具有多态回调的数据吗?

data MyData = MyConstructor {
callback :: (MyClass m) => m -> () -- error
}

我想对函数参数进行约束。

最佳答案

简而言之,是的,您可以使用 Rank2TypesRankNTypes pragma。

因为您的数据类型是存在量化的。其实是

data MyData = MyConstructor (forall m. MyClass m => m -> ())

您需要更高的等级扩展。

关于haskell - 数据构造函数中的多态回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12991261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com