首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SML中实数的力相等

SML中实数的力相等
EN

Stack Overflow用户
提问于 2017-03-02 23:18:42
回答 2查看 649关注 0票数 1

正如在REAL signature中解释的那样,在SML中定义的实数类型不是相等类型,因此以下表达式不会减少

代码语言:javascript
复制
> 1.0 = 1.0;
poly: : error: Type error in function application.
   Function: = : ''a * ''a -> bool
   Argument: (1.0, 1.0) : real * real
   Reason: Can't unify ''a to real (Requires equality type)

然而,这并不方便,因为数据类型和包含reals的列表也会失去相等性。我需要用Real.==重载多态相等=,这样它也可以近似地考虑reals。

这有可能吗?

编辑:编辑后的问题更清晰

EN

回答 2

Stack Overflow用户

发布于 2017-03-02 23:33:33

您是否阅读了Why can't I compare reals in Standard ML并考虑使用Real.==运算符或执行epsilon测试?你有没有考虑过像哈斯克尔的Data.Decimal这样的类型(其中尾数和指数是作为一对整数处理的)?

票数 3
EN

Stack Overflow用户

发布于 2017-03-04 17:48:28

答案很简单:不,你不能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42559221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档