gpt4 book ai didi

haskell - 在 Num 或 Rational 中的 Haskell 中的环的单位

转载 作者:行者123 更新时间:2023-12-04 03:01:21 25 4
gpt4 key购买 nike

Haskell 的 Num 类允许非常通用的代数结构,看起来它是用来制作环的。但是,当谈到环时,能够明确提及它的附加和乘法单位(可能是 Num.Zero 和 Num.One)很方便,Num 是否存在这样的东西,另一个包含单位的类或其他方式完毕?

最佳答案

如果您的 Num 实例是一个环,一个期望 fromInteger是一个环同态,因此01会工作的。这可能并不总是成立。 Num早于具有代数定律的类型类成为规范。此外,不幸的是,Num 的许多实例不是环(例如浮点数)。
Num不是真正的环形结构,因为它还有“其他东西”,如 abs , signum和(希望)环同态fromInteger .我倾向于将其视为“可能与其他一些东西混在一起”。

示例:Gaussian rationals 的戒指

import Data.Ratio
import Data.Complex

type GaussianRational = Complex Rational

zero :: GaussianRational
zero = 0

one :: GaussianRational
one = 1

编辑:由于 Z 在 Ring 中是初始的,因此使用 fromInteger 的想法这种方式实际上很有意义。

关于haskell - 在 Num 或 Rational 中的 Haskell 中的环的单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16657208/

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