This is an interactive tutorial made in a Pluto.jl notebook
Multiple dispatch is arguably the defining feature of Julia which lets you write code which is as easy as Python but as fast as C. The goal of this tutorial is to show you just how powerful Multiple Dispatch is and why it's used in pretty much every single Julia library.
We'll be going over how Multiple Dispatch lets you write
- Game/Physics Engines
- Type Specialized Matrix Multiplication
- Dealing with Uncertainty in packages that don't support uncertainty
- Automatic Differentiation a Tweet long implementation
- Go to https://pluto-on-binder.glitch.me/
- Put in my notebook url https://github.com/msaroufim/multiple_dispatch/blob/master/src/multiple_dispatch.jl
- Push enter and give it a a minute or two, loading the Julia libraries takes a while
- using Pluto
- Pluto.run(1234)
- Navigate to
localhost:1234
in your browser and open up the file
One of the many pretty pictures in this article showing how you can get error bars for free in a differential equation solver that doesn't natively support uncertainty using multiple dispatch.