Live Coding systems encourage us to think extremely differently about programming languages. Live Coders not only run and modify our code live - we often perform with it live on stage in front of large crowds of people who really don't want the code to miss a beat.
In this code and demo-heavy talk we will take a deep technical dive into the internal ideas and innovations of Sonic Pi - a system designed specifically for live coding. We will explore Sonic Pi's novel temporal semantics which allow multiple concurrent threads to execute in synchronisation whilst still allowing live hot-swapping of code. For example, we will examine cue and sync, techniques which allow users to coordinate, manipulate and synchronise threads whilst they're still running.
Ultimately, we will uncover an exciting area of programming language research in an approachable and instructive manner all whilst making some sick beats and drops.