Im new to Julia but this whole world of dynamic and static typing is becoming very disconcerning. Take a look at this:
Regardless what i do i get:
Locals #15::var"#15#17"{String, Int64, Int64, Int64} n_markets::Core.Box current_files::Core.Box current_sizes::Core.Box market_data::Core.Box market_dates::Core.Box
Theres no reason those to be boxed whatsover from what i can tell from this code.
Bigger picture Q is there a compiler flag or mode where i can just opt out of dynamic types altogether? So when the compiler tries to convert something to Any etc instead of doing it transparently or having to look every type at the code_warntype it just fails for me ? Even better if the language server did it, essentially treat my deployment as static typed and warn for everything where the type cant be deduced by static analysis, Im not sure who uses Julia in the opposite way really).
As an added bonus the debugger doesnât work in open do
blocks, it just skips over them, for which i opened a different Q.
Another suble issue that arises only in Julia and not Rust or C++ is how floats are parsed:
20110628,63.73093027151999,63.99925613403319,63.58644751856259,63.9992561340332
This line represents date, Open, high, low, close and this is the check:
if high < open || high < close || low > open || low > close
println("\nERROR... Open or close outside high/low bounds in market file $file_path line $(line_number)")
return
end
this check passes in C++ and Rust but not in Julia and technically Julias behavior is correct, but what i dont get is how if they all implement the same floating point standard?