gpt4 book ai didi

haskell - 什么时候函数应该是独立的,什么时候应该在类型类中?这只是口味问题吗?

转载 作者:行者123 更新时间:2023-12-03 12:33:53 27 4
gpt4 key购买 nike

fromIntegral 为例功能:

fromIntegral :: (Integral a, Num b) => a -> b

要检查它是否:
  • 在类型类 Integral
  • 在类型类 Num
  • 在一些其他类型类
  • 独立,不属于任何类型类

  • 我们可以使用 :info fromIntegral找出答案。

    原来 它是独立的 .

    但为什么?为什么不让它成为 Integral 的一部分或 Num类型类(或其他一些类型类)?有什么好的理由吗,或者更多的是品味问题?

    这个例子的答案将帮助我在设计我自己的自定义类型类和函数时回答同样的问题。

    最佳答案

    fromIntegral被定义为

    fromIntegral = fromInteger . toInteger

    这两个函数在 NumIntegral分别上课。当你在一个类中包含一个函数时,你是说它可能对不同的类型有不同的定义。 fromIntegral才不是。

    关于haskell - 什么时候函数应该是独立的,什么时候应该在类型类中?这只是口味问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24972351/

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