【问题标题】:What does '+' in abstract type definition mean?抽象类型定义中的“+”是什么意思? 【发布时间】:2014-09-05 23:25:04 【问题描述】: 我看到一个看起来像抽象类型的声明: type +'a io 那里的“+”表示什么? 【问题讨论】: 标签: ocaml 【解决方案1】: 它表示该类型具有相对于参数类型的协变子类型。所以如果T 是U 的子类型,那么T io 是U io 的子类型。 【讨论】: 实际上,这意味着什么?为什么要(或应该)用“+”来声明,而不是仅仅:输入“a io”? co-/contr-variance 无法推断,所以你必须声明它。首先声明它的原因很微妙,@gasche 在这里解释:stackoverflow.com/questions/15561714/…