JuliaCon 2025

Cody Tapscott

A compiler engineer at JuliaHub.


Sessions

07-23
16:00
30min
State of --trim
Cody Tapscott, Jeff Bezanson, Gabriel Baraldi

With Julia 1.12, experimental support for statically compiled executables is here, but for many the --trim feature is still a mystery. How does it work? What are its limitations? What might it look like in the future?

To answer those questions, we'll dive deep into specialized inference support, challenging language semantics, and sharp corners in workflows today. Looking to the future, we'll talk about the tooling we might need to make --trim accessible for everyday Julia programmers.

Developer tools
David Lawrence Hall Room 120 (Main stage)
07-23
16:50
10min
Can we achieve "invalidation freedom" for Julia?
Cody Tapscott

What's the cost of invalidation freedom?

This talk will dive into the invalidation problem from its fundamentals, viewing these as a failed speculative optimization in the compiler. Why do we perform this speculation, despite its costs? What can be done to make it succeed?

General
David Lawrence Hall Room 120 (Main stage)
07-25
10:00
30min
An Intersection of Concerns: Extended Types for Julia
Cody Tapscott

What if Julia types were more than struct, Tuple, Union{} and where T?

In this talk, I'll dare to dream of an extension of Julia with powerful type features like intersection types (TypeScript), sum types (Rust), interface types (many languages), etc.

What are the implications for a user, and for the compiler? Building on the intuition of types-as-sets, we'll build a simple subtyping algorithm, explore the consequences for inference, and show how this all connects to real Julia code.

General
David Lawrence Hall Room 120 (Main stage)