我得到什麼似乎是一個優先發布中調用一個函數SML,替補: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 Error: operator and operand don't agree [tycon mismatch] operator domain: type_exp operand: unit -> string in expression: (substitute v) new_var
這似乎表明,它試圖調用(替代v),一然後用參數new_var調用該調用的結果。
我已經嘗試在整個事物中添加括號,但這沒有幫助,並且當我在(v new_var...)
之類的參數周圍添加括號時,認爲v是new_var上的函數應用程序。這個函數調用發生了什麼?