我在调用 SML 函数时遇到了一个优先问题,替代:
fun substitute v new (typevar q) = ...
我从另一个函数调用它:
fun new_type_vars (typevar v) non_gens =
substitute v new_var() (typevar v)
但我收到一个错误:
C:/sml/type_checker.sml:22.48-23.44 错误:运算符和操作数不一致 [tycon mismatch] 运算符域:type_exp 操作数:单位 -> 字符串 表达: (替代 v)new_var
这似乎表明它正在尝试调用(替换 v),然后使用参数 new_var 调用该调用的结果。
我尝试在整个内容周围添加括号,但这没有帮助,当我在参数周围添加括号时,(v new_var...)
它认为 v 是 new_var 上的函数应用程序。这个函数调用是怎么回事?