在 sml 中获取 ''a 类型而不是 'a

getting ''a type instead of 'a in sml

我已经为 sml 赋值写了一个散列-table。 我为 hashtable 创建了一个多态生成器,但是当我使用我创建的插入函数时, 我得到了一个可比较的类型(''a 而不是 'a),尽管我没有进行任何包含该类型的比较。 有没有人知道为什么? 如果我的代码有点乱,我很抱歉我已经突出显示了重要的部分,其余的只是辅助函数。

代码和签名

解决方案是使用 switch case 而不是“if”比较,这样编译器可能会混淆并假设一个类型需要可比较,尽管它不需要。