相关疑难解决方法(0)

在Haskell中重载内置函数

在Haskell中,如何重载内置函数,例如!!

我最初试图弄清楚如何重载内置函数!!以支持自己的数据类型.具体来说,!!是这样的类型:

[a] -> Int -> a
Run Code Online (Sandbox Code Playgroud)

我想保留它现有的功能,但也可以在类型签名看起来更像的地方调用它

MyType1 -> MyType2 -> MyType3
Run Code Online (Sandbox Code Playgroud)

我原本想要这样做,因为MyType1就像一个列表,我想使用!!运算符,因为我的操作非常类似于从列表中选择一个项目.

如果我重载了类似的东西,+我可以将我的函数实例添加到适用的类型类中,但我不认为这是一个选项.

我不相信我实际上甚至想要重载这个函数,但我仍然对它将如何完成感兴趣.实际上,关于是否超载运营商的评论!!甚至是一个好主意也将受到赞赏.

haskell overloading operator-overloading

3
推荐指数
2
解决办法
1276
查看次数