Types &引用;“Eta转换”;类型应用

Types &引用;“Eta转换”;类型应用,types,julia,Types,Julia,在Base、Core、Core.Compiler等中,是否存在将类型应用程序转换为函数应用程序的现有方法?换句话说,以下表达式中的lambda的无点替换: julia> ((T, U) -> Union{T, U})(Int, Bool) Union{Bool, Int64} 我预料 Base.Fix1(Core.apply_type, Union)(Int, Bool) 但不幸的是,Fix1没有varargs方法。伪运算符只是创建匿名函数的一种方法。 也许您需要一个非匿名函数来

在Base、Core、Core.Compiler等中,是否存在将类型应用程序转换为函数应用程序的现有方法?换句话说,以下表达式中的lambda的无点替换:

julia> ((T, U) -> Union{T, U})(Int, Bool)
Union{Bool, Int64}
我预料

Base.Fix1(Core.apply_type, Union)(Int, Bool)

但不幸的是,
Fix1
没有varargs方法。

伪运算符只是创建匿名函数的一种方法。
也许您需要一个非匿名函数来做同样的事情

f(T, U) = Union{T, U}
可能是一个。这取决于您希望函数返回什么。 上面的函数返回您给出的->示例的功能:

julia> f(Int, Bool)
Union{Bool, Int64}

->
伪运算符只是创建匿名函数的一种方法。
也许您需要一个非匿名函数来做同样的事情

f(T, U) = Union{T, U}
可能是一个。这取决于您希望函数返回什么。 上面的函数返回您给出的->示例的功能:

julia> f(Int, Bool)
Union{Bool, Int64}