【发布时间】:2011-07-15 00:30:22
【问题描述】:
所以我用标准 ML 编写了一些代码,并尝试用 smlnj 编译它。我收到以下错误:
Error: operator and operand don't agree [tycon mismatch]
operator domain: unit -> Absyn.fundec
operand: unit
-> (pos * pos) *
((string * int) * (string * int) * Absyn.tp * Absyn.tp
* Absyn.exp)
现在,根据我对类型的粗略检查,这看起来应该是类型匹配。我不会告诉你,因为我想要一个通用的解决方案,而不是我的代码中的错误。
是否可以将这两种类型扩展为基本数据类型,以便弄清楚它们有何不同?由于所有这些 typedef 漂浮在周围,事情变得令人困惑,并且在 .sml 文件中挖掘所有定义并在纸上编写扩展似乎是一个乏味的解决方案。
我很想说:
typeof Absyn.fundec
并弄清楚到底什么样的表达式可能会产生有效的fundec。
【问题讨论】: