Types SML中实数的强制相等

Types SML中实数的强制相等,types,sml,mlton,Types,Sml,Mlton,如中所述,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) 然而,这并不方便,因为

如中所述,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的数据类型和列表也会失去相等性。我需要重载多态性等式<代码>=<代码> > <代码>实然.==/COD>。因此也可以大致考虑Reals。

可能吗


<>编辑:编辑问题要更清楚,

你是否读过并考虑了<代码> Real.=运算符或执行ε检验?你是否考虑过一个像Haskell的类型(其中尾数和指数被处理成一对整数)?

你读过并考虑了<代码>实数。==< /代码>运算符或执行ε检验吗?你有没有考虑过像Haskell的类型(尾数和指数作为一对整数处理)?

简单的答案是:不,你不能。

简单的答案是:不,你不能。

是的,我已经读过堆栈溢出帖子。我的问题是“我可以用
真的来重载
=
。==
”?因为我需要在数据类型和列表中使用real,所以我已经阅读了堆栈溢出文章。我的问题是“我可以用
真的来重载
=
。==
”?因为我需要在数据类型和列表中使用reals来获得相关的答案。谢谢相关的答案。