我从一个这样开始的函数中提取了以下行(教科书示例不完整):
let rec unify (exp1:exp) (exp2:exp) (k:(subst -> subst)) (sub:subst) =
match checkmap exp1 sub,checkmap exp2 sub with
| Var a,Var b when a = b -> k sub
| Var a,Var b -> k (safeInput<|||((safeInput<|||(sub,a,Var(b))),b,Var(a)))
线:
Var a,Var b -> k (safeInput<|||((safeInput<|||(sub,a,Var(b))),b,Var(a)))
safeInput 引用“安全地”将类型输入到 Map 结构中......我只是想知道这里的操作员实际上在做什么?另外,是否有更直观的方式来构建上述行?