Re:Julia Language Co-Creators Win James H. Wilkinson Prize f...
by lenticular on Wednesday January 23, 2019 @10:40AM
(#18979086)
There's pretty big differences in usage between multimethods in Clojure and Julia. I've used both a decent amount. All functions in Julia are multimethods by default. If you don't use type annotations, a new method will be generated whenever you call the function with new argument types. This explicit type specialization is a very important part of why Julia can have such a consistently fast JIT despite its dynamicity.
Errors from missing or conflicting methods tend to not happen much in practice.
Re:Julia Language Co-Creators Win James H. Wilkinson Prize f...
by nicoburns on Wednesday January 23, 2019 @11:28AM
(#18979655)
> If you don't use type annotations, a new method will be generated whenever you call the function with new argument types.
Damn. That's a pretty clever trade off between dynamic and static types.
Re:Julia Language Co-Creators Win James H. Wilkinson Prize f...
by vanderZwan on Wednesday January 23, 2019 @12:05PM
(#18980054)
I vaguely recall a talk by Stefan Karpinsky where he mentions meeting one of the big names in compiler land (working on V8 or something) and they said Julia's JIT is just a lazily evaluated AOT compiler, and as a result much simpler than the JITs typically seen in other languages.
Re:Julia Language Co-Creators Win James H. Wilkinson Prize f...
by tombert on Wednesday January 23, 2019 @10:59AM
(#18979306)
Forgive a bit of ignorance here, but that doesn't sound terribly different than overloading functions in C++. Am I way off on that?
Re:Julia Language Co-Creators Win James H. Wilkinson Prize f...
by KenoFischer on Wednesday January 23, 2019 @11:05AM
(#18979395)
The difference is run-time (semantically) vs compile time. If you had overloading at runtime in C++, you wouldn't need virtual functions or any of the thousands of OO "patterns" (visitor, factory, etc.), that are working around the lack of this capability.
I was unaware that Julia was homoiconic...I'm somewhat of a Lisp fanboy so I might need to give the language another chance.