Learning Julia: Abstract, Concrete, and Parametric Types

Book description

What you’ll learn—and how you can apply it

In this lesson we'll explore some of the more advanced features of Julia's type system and how these tools enable more expressive and higher-performance code. We'll examine how abstract and concrete types relate to each other in the type hierarchy, and how to effectively use Julia's multiple dispatch mechanism. We'll also explore parametric types which enable maximally generic code without sacrificing performance.

This lesson is for you because

You are a programmer with some Julia experience looking to level-up your code by reducing duplication and maximize performance.

Prerequisites: Learning Julia: Intro to Types

  • Basic-level Julia skills

Materials or downloads needed:

  • Julia 0.6

About the instructors

Spencer Russell is a researcher and PhD candidate at the MIT Media Lab, where his work has ranged from wireless mesh networks and sensor infrastructure to audio spatialization and augmented musical instruments. He holds a BA from Oberlin College, a BS in Electrical Engineering from Columbia University, and an MA from the MIT Media Lab. He is the primary author and maintainer of several core audio-related Julia packages and the JuliaAudio organization on GitHub. In previous lives he has sound-designed sold-out theater performances in New York, toured throughout the US and Europe as a double-bassist, and ran a software and hardware development team that deployed multi-thousand unit building automation systems. He lives with his wife Kate and dog Eleanor Roosevelt in Jamaica Plain, MA, but longs for the rainy Pacific Northwest.

Publisher resources

View/Submit Errata

Product information

  • Title: Learning Julia: Abstract, Concrete, and Parametric Types
  • Author(s): Spencer Russell, Leah Hanson
  • Release date: September 2017
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491999578