析取函数的并集类型?

时间:2019-03-23 21:39:50

标签: type-theory

给出两个功能:

f :: EvenInteger -> {0}
g :: OddInteger -> {1}

考虑功能

h = (x :: Integer) => {
    if(x is even)return f(x);
    return g(x);
}

T的最小类型为何

h :: T

我一直以为只是

h :: (typeof f) & (typeof g)

但是后来我也认为函数调用分布在联合上,即

x :: EvenInteger
h(x) :: (typeof f(x)) & (typeof g(x))

这引出了另一个问题:

什么是

(OddInteger -> {1})(EvenInteger)

0 个答案:

没有答案
相关问题