I was not aware that this was a Julia neologism. It seems like such an appropriate term for discussing how to make code make the most out of JIT-compilation.
I was not aware that this was a Julia neologism. It seems like such an appropriate term for discussing how to make code make the most out of JIT-compilation.
http://blogs.perl.org/users/ovid/2010/08/what-to-know-before...
You probably mean "static typing" versus "dynamic typing" which I wrote a bit about in the context of Julia here:
http://stackoverflow.com/questions/28078089/is-julia-dynamic...
Basically, I think "type stability" hasn't really been a thing in the past because in dynamic languages, people have traditionally not cared about ensuring that return types are predictable based on argument types, and in static languages, a program is incorrect if that's not the case. As people care more and more about being able to statically predict the behavior of programs in dynamic languages, the concept of type-stability in dynamic languages becomes increasingly important.
Both JavaScript and Python prohibit operations on types that don't support them. They both have TypeErrors (or something similar) that are thrown at runtime for certain operations, while others produce a result.
The difference is just that JavaScript allows a bunch of operations that Python prohibits, including several that serve almost no purpose.
Is allowing 1 + "1" allowing an operation on a type that doesn't support it, or does your language just allow adding numbers and strings? There is no principled way to answer that question.
That litmus test is probably not enough to make a true formal definition, but does allow you to make objective comparisons between languages for certain operations.
http://docs.julialang.org/en/latest/manual/conversion-and-pr...
"Programming Languages: Application and Interpretation" Shriram Krishnamurthi, 2003.
As for Julia, I'm not sure how strongly or weakly typed it is, but I would probably put it at around the same level as Java.
With that in mind, shouldn't we expect it to be a good base case for describing the "weakest typed" language?
"Programming Languages: Application and Interpretation" Shriram Krishnamurthi, 2003.