【问题标题】:What does '+' in abstract type definition mean?抽象类型定义中的“+”是什么意思?
【发布时间】:2014-09-05 23:25:04
【问题描述】:

我看到一个看起来像抽象类型的声明:

 type +'a io

那里的“+”表示什么?

【问题讨论】:

    标签: ocaml


    【解决方案1】:

    它表示该类型具有相对于参数类型的协变子类型。所以如果TU 的子类型,那么T ioU io 的子类型。

    【讨论】:

    • 实际上,这意味着什么?为什么要(或应该)用“+”来声明,而不是仅仅:输入“a io”?
    • co-/contr-variance 无法推断,所以你必须声明它。首先声明它的原因很微妙,@gasche 在这里解释:stackoverflow.com/questions/15561714/…
    猜你喜欢
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2019-12-05
    相关资源
    最近更新 更多