Types SML中实数的强制相等
如中所述,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) 然而,这并不方便,因为
> 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来获得相关的答案。谢谢相关的答案。