哪些静态类型的语言支持函数返回值的交集类型?
初步说明: 经过几次修改后,这个问题才得以解决,因为我缺乏适当的术语来准确说明我要寻找的内容。然后,Sam Tobin-Hochstadt发表了一条评论,这使我确切地知道了这是什么:支持函数返回值的交集类型的编程语言。 既然问题已经重新提出,我已经决定通过(希望)更精确的方式重写它来改进它。因此,下面的某些答案和注释可能不再有意义,因为它们是指先前的编辑。(在这种情况下,请参阅问题的编辑历史记录。) 是否有支持功能返回值的交集类型的流行的静态和强类型编程语言(例如Haskell,通用Java,C#,F#等)?如果是这样,那又如何? (老实说,我真的很希望看到有人演示一种如何使用主流语言(例如C#或Java)来表示交集类型的方法。) 我将使用一些类似于C#的伪代码给出一个简短的示例,说明交集类型的外观: interface IX { … } interface IY { … } interface IB { … } class A : IX, IY { … } class B : IX, IY, IB { … } T fn() where T : IX, IY { return … ? …