Может ли код Julia (julia-lang) статически анализироваться, чтобы избежать ошибок типа времени выполнения?

Недавно я портировал одно из моих симуляций на Julia, и я обнаружил несколько ошибок типа только во время выполнения. Я хочу статически анализировать код Юлии. У MATLAB есть аналогичная проблема только при обнаружении многих ошибок во время выполнения.

Единственный инструмент, который я нашел (TypeCheck.jl), выполняет небольшое подмножество статического анализа, которое я ожидаю от компилятора.

Есть ли статический анализатор для сценариев Julia, поэтому я могу избежать многих из ошибок времени выполнения?

Есть ли что-то, что я мог бы использовать с компилятором LLVM JIT? (Я не знаю много о том, как компилируется Julia, а что есть и что не возможно)

Возможно ли это из-за характера Джулии?

Ответ 1

Я думаю, что ответ зависит от того, какой тип ошибки времени выполнения вы хотите, поскольку время компиляции Julia происходит в тот момент времени, когда большинство компилируемых языков вызывали время выполнения.

Если вы введете входы всех своих функций, а также введите все переменные во всех своих функциях, вы сможете получить много ошибок типа во время компиляции Julia.