Language agnostic 有可能统一继承和参数多态性的概念吗?

Language agnostic 有可能统一继承和参数多态性的概念吗?,language-agnostic,programming-languages,types,polymorphism,variance,Language Agnostic,Programming Languages,Types,Polymorphism,Variance,我想知道是否通常可以统一继承和参数多态性(“泛型”)的概念,特别是关于差异,但也包括如何(“语法”)和在何处(使用站点/声明站点)定义它们 考虑一下这个观点: 分型e。gS通过协方差/反方差,通常指的是这一点。假设X,Y,Z是类型。进一步假设a→ b表示函数类型,其参数类型为a,结果类型为b谢谢你的书贴士,我还不知道那本书!我基本上想知道继承和pp是否有相同的基础概念,有不同的默认值,根据它们感知的用例进行调整和优化。我刚刚发现这个例子是一个很好很简单的例子,说明了这两个概念如何能够很好地相互

我想知道是否通常可以统一继承和参数多态性(“泛型”)的概念,特别是关于差异,但也包括如何(“语法”)和在何处(使用站点/声明站点)定义它们

考虑一下这个观点:


  • 分型e。g<代码>S通过协方差/反方差,通常指的是这一点。假设
    X
    Y
    Z
    是类型。进一步假设
    a→ b
    表示函数类型,其参数类型为
    a
    ,结果类型为
    b
    <代码>谢谢你的书贴士,我还不知道那本书!我基本上想知道继承和pp是否有相同的基础概念,有不同的默认值,根据它们感知的用例进行调整和优化。我刚刚发现这个例子是一个很好很简单的例子,说明了这两个概念如何能够很好地相互作用。我把措辞改了一点。我非常喜欢Scala,但我希望在实际的编译器中有几个健全的漏洞需要修复,但我缺乏自己做这件事所需的天赋。:-)
    class Foo extends Ordered[Foo]
    
    X <: Y ⇒ (Z → X) <: (Z → Y)
    X <: Y ⇒ (Y → Z) <: (X → Z)