Package interoperability showcases

Picking up on our discussion on nice packages of the Julia ecosystem, What packages are state of the art… I argued that naming isolated packages does the ecosystem disregard because things julia-magically work together and therefore packages do not only add to the ecosystem but multiply. For example you model a trebuchet with RigidBodyDynamics on one day and find the optimal proportions on the next day with ForwardDiff . I still (2020) owe you to do that actually.

What kind of short and nice examples with maybe surprising and creative use of package combinations can we come up?


  • ForwardDiff with anything, Zygote with a lot of things
  • various <: AbstractArray implementations with anything that uses, well, arrays
  • various packages implementing operations on numbers, eg Unitful.jl, with anything involving these operations

For reasonably complex projects, it is more or less inevitable to have examples of the unreasonable effectiveness of multiple dispatch.

But as for showcasing, especially to people who do not yet use Julia, I am not sure these things are useful. If someone has not used multiple dispatch before, it is difficult to imagine how nice it is.