haskell - 如何定义像1这样的对象?

标签 haskell

在 haskell 中 1::Num a => a

我如何(如果以任何方式)复制这种行为,即 定义一个类型类 MyNum(可能是类型和实例) 和一个对象One,它是 输入 One::MyNum a => a?

最佳答案

class MyNum a where
  one :: a

现在one::MyNum a => a。然后你可以写

instance MyNum Int where
  one = 1

等等。

不确定您实际上想要实现什么,或者这是否只是一个玩具实验或其他什么。但我认为这回答了字面上提出的问题。

关于haskell - 如何定义像1这样的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249113/

相关文章:

haskell - 实现构建器模式以在 haskell 中生成测试用例

haskell - 如何在 ghc 中链接模块?

haskell - 错误 Monad Transformer 的使用或滥用

haskell - 根据数字用户输入构建反射域小部件/事件的动态列表

haskell - Data.Tree.Zipper 中 zipper 数据类型的冗余信息?

Haskell::递归中的递归 for 循环中的循环

Haskell 动态库

haskell - 在 Netwire 中切换

haskell - 如何在 Haskell 中产生无穷大?

haskell - 无法在 CentOS 服务器上安装和使用 Cabal (Haskell) - zlib-0.5.4.1 在构建阶段失败