【发布时间】:2010-10-20 00:45:12
【问题描述】:
我在调用 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 上的函数应用程序。这个函数调用是怎么回事?
【问题讨论】: