Multiple Dispatch in Julia
opensourc.es
Multiple Dispatch in Julia
1–10 of 16 posts
Re: Multiple Dispatch in Julia
#2It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
Re: Multiple Dispatch in Julia
#3You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
Re: Multiple Dispatch in Julia
#4You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
Others mention CLOS, which I don't know too much about. MIT Scheme also supports multiple dispatch (https://www.gnu.org/software/mit-scheme/documentation/stable...). IIRC this is widely used in ScmUtils, the software library used in SICM (https://mitpress.mit.edu/books/structure-and-interpretation-...).
Re: Multiple Dispatch in Julia
#5You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
Doesn't CLOS count? That was a lot earlier.
Re: Multiple Dispatch in Julia
#6You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
I don't think Julia is (or has ever claimed to be) the first system to make extensive use of multiple dispatch. But it seems to be first one to have gotten attention, if not widespread adoption, from the broader community beyond its first intended audience, i.e., scientific computing. Others mention CLOS, which I don't know too much about. MIT Scheme also supports multiple dispatch ( https://www.gnu.org/software/mit-…
Re: Multiple Dispatch in Julia
#7You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
I don't think Julia is (or has ever claimed to be) the first system to make extensive use of multiple dispatch. But it seems to be first one to have gotten attention, if not widespread adoption, from the broader community beyond its first intended audience, i.e., scientific computing. Others mention CLOS, which I don't know too much about. MIT Scheme also supports multiple dispatch ( https://www.gnu.org/software/mit-…
Re: Multiple Dispatch in Julia
#8You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
Doesn't CLOS count? That was a lot earlier.
Common Lisp had multiple dispatch through the CLOS, but functions which needed to be fast were not multiple dispatch. For instance, you can't overload multiplication or additional in Common Lisp, you instead need to shadow them and replace them with generic functions, but doing so incurs a runtime performance overhead. This is (usually) not the case in Julia because it's JIT compiler was designed around multiple dispatch and it's multiple dispatch semantics were designed around it's JIT compiler (this is a big reason why static compilation in Julia has been such a hard problem to solve!).
Because Julia can have MD without additional overhead, it's use is absolutely ubiquitous throughout the ecosystem and Julia's own internals. This ubiquity is what confers most of the benefit because you can patch into the gigantic space of method combinations just about anywhere to override behaviour.
Re: Multiple Dispatch in Julia
#9You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.