Нет, этого нет, потому что вся идеология Джулии построена на JIT. Хотя с другой стороны, так как весь код можно записать как Expression, то наверное можно написать какой-нибудь парсер, который будет пытаться вычислить типы результирующего выражения, но работать это будет скорее всего только в простейших случаях.
Я могу ошибаться, но одна из проблем в том, что в Джулии нельзя построить маппинг между входными и выходными типами, то есть она позволяет писать type unstable функции. Это иногда плохо, иногда хорошо.
function f(i::Int)
if i == 1
x = 1
elseif i == 2
x = ""
else
x = 1.0
end
return x*x
end
У такой функции нет маппинга между входными и выходными типами. Можно конечно сказать, что на выходе
Union{Int, Float64, String}, но это тоже не совсем правильно.
Или можно так
function f()
if rand() < 2
x = 1
else
x = ""
end
x * x
end
Формально здесь должен быть
Union{Int, String}, но мы то знаем, что выходным типом всегда будет
Int.