On Tuesday, 6 May 2014 at 17:10:39 UTC, Ary Borenszweig wrote:
On 5/6/14, 10:41 AM, Chris wrote:
On Tuesday, 6 May 2014 at 13:25:56 UTC, Ary Borenszweig wrote:
On 5/6/14, 8:23 AM, bearophile wrote:
Paulo Pinto:
You can think of Julia as a dynamic language similar to
Python, with
optional typing and for such a young language, a quite good
JIT
compiler backed by the LLVM backend.
Unlike dynamic languages, at running time all variables are
strongly
typed.
What do you mean?
Just a wild guess: that the compiler infers the type of a
variable and
turns it into a static type. That would increase the security
during
runtime (plugins, libraries, crackers).
Julia doesn't have a compiler. There's no compile-time and
run-time distinction. But functions are jitted before execution.
I know. I was talking about JIT compilation. There must be some
kind of (jit) compiler.
I don't see how that means "variables are strongly typed". If
you mean that at runtime they carry their type information, so
do dynamic languages.
But are the types immutable at runtime (in other dynamically
typed languages) or can they be reassigned as in
x = "Hello"
x = 5
If yes, then I think this is what Julia is addressing, that a
module, library or malevolent cracker cannot reassign a different
type to a variable.
x = 5 // Error!
If so,