正如REAL 签名中所解释的,在 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.==
因此它也可以近似地考虑实数。
那可能吗 ?
编辑:编辑问题更清楚