【发布时间】:2017-03-04 17:48:28
【问题描述】:
正如REAL signature 中所解释的,SML 中定义的实类型不是相等类型,因此以下表达式不会归约
> 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)
但是,这并不方便,因为包含实数的数据类型和列表也会失去相等性。我需要用Real.== 重载多态相等=,这样它也可以近似地考虑实数。
这可能吗?
编辑:编辑问题更清楚
【问题讨论】: