I noticed that the Base Julia code defines some primitive types, but not others, and I’m curious if somebody could explain this. Specifically it seems that
UInt64 are defined in the C code, while the other primitive types are defined in the Julia code.
I guess that
Int64 being defined in the C code has something to do with the fact that either one or the other is aliased to
Int depending on architecture, but I’ve got no clue on the others.
It’s especially puzzling how
Int8 is defined in Julia, but
Bool are defined in C, seeing as they’re all “just bytes”.
Note that I almost surely won’t be reading the C code, so I’m hoping for some simple explanation, if possible
This is the relevant Julia file, BTW: julia/boot.jl at master · JuliaLang/julia · GitHub