首页 > 解决方案 > 在 sml 中获取 ''a 类型而不是 'a

问题描述

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

代码和签名 在此处输入图像描述

标签: polymorphismsmlbuildermetalanguage

解决方案


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


推荐阅读