Sml 标准ML中的eqtype是什么?

Sml 标准ML中的eqtype是什么?,sml,Sml,在以下给定代码中,eqtype是什么意思?我知道SML中存在一个type关键字,它可以让您为类型别名,但eqtype对我来说是新事物 signature SYMBOL = sig eqtype symbol val symbol : string -> symbol val name : symbol -> string type 'a table val empty : 'a table val enter : 'a table * symbol * 'a

在以下给定代码中,
eqtype
是什么意思?我知道SML中存在一个
type
关键字,它可以让您为类型别名,但eqtype对我来说是新事物

signature SYMBOL =
sig
  eqtype symbol
  val symbol : string -> symbol
  val name : symbol -> string
  type 'a table
  val empty : 'a table
  val enter : 'a table * symbol * 'a -> 'a table
  val look  : 'a table * symbol -> 'a option
end
我试图在文档中找到解释,但找不到任何相关内容。有人能给我解释一下吗?谢谢


直观地说,
eqtype
让我们来声明一种类型,我们在创建此签名的结构时需要指定这种类型。

一种定义了等式的类型。我是@L3viathan的初学者。请您解释一下定义平等是什么意思?要了解平等类型和非质量类型之间的区别,请评估
1=1
1.0=1.0
。int是相等类型。浮点数不是。这是否也意味着我不能将我的
eqtype符号
设置为浮点数?请参阅real为何以这种方式工作。SML旨在证明正确的代码。检查real是否相等通常是一个bug(是堆栈溢出中重复最多的问题之一)。SML甚至不允许编译这样的bug。