作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
直到今天我还假设 fromInteger
在 Num
类是环同态。我假设这是因为整数是共终结的,所以每个环都必须具有来自整数的唯一同态,所以 Num
是有道理的。 ,它基本上是标准库的环类,将包括同态。
然而今天我正在阅读 Num
的法律。看到了fromInteger
不需要是同态,而只需要保持恒等式。例如,我们可以实现 Klein 4 组,并有 fromInteger
map 1
乘法身份和加法身份的所有其他内容,结果是合法的Num
实例但不是同态。
type Klein4
= ( Bool
, Bool
)
instance
(
)
=> Num Klein4
where
( a, b ) + ( c, d )
= ( a /= c
, b /= d
)
( a, b ) * ( c, d )
= ( a && b
, b && d
)
negate
= id
fromInteger x
= ( x == 1
, x == 1
)
这对我来说有点令人惊讶。所以我的问题是为什么会这样?是打算
fromInteger
是一个环同态,我只是在迂腐,或者有一个很好的用例,你可能想定义
fromInteger
在某种程度上它不是同态(并且仍然遵循
Num
定律)?
最佳答案
就个人而言,我希望 fromInteger
是一个环同态,并且会非常惊讶和恼火地找到一个不具有该属性的实例。
当然,Float
和 Double
必须是异常(exception),对于每一个好的属性(property)。可以说我对此感到非常惊讶和恼火:
> fromInteger (2^64) + fromInteger (-1) == (fromInteger (2^64-1) :: Double)
False
其他大多数建议
Num
属性被
Float
破坏和
Double
, 也。
Num
法律但不是
fromInteger x + fromInteger y == fromInteger (x+y)
.
关于haskell - fromInteger 应该是环同态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65901824/
我来自 Asp.Net 世界,试图理解 Angular State 的含义。 什么是 Angular 状态?它类似于Asp.Net中的ascx组件吗?是子页面吗?它类似于工作流程状态吗? 我听到很多人
我一直在寻找 3 态拨动开关,但运气不佳。 基本上我需要一个具有以下状态的开关: |开 |不适用 |关 | slider 默认从中间开始,一旦用户向左或向右滑动,就无法回到N/A(未回答)状态。 有人
我是一名优秀的程序员,十分优秀!