PLDI 2025
Mon 16 - Fri 20 June 2025 Seoul, South Korea

This program is tentative and subject to change.

Tue 17 Jun 2025 16:10 - 16:40 at Tulip - Language Design & Type Safety

Static type systems help prevent errors, improve abstractions, and enable optimisations. There is a whole spectrum of type systems for general-purpose languages, covering a wide range of safety guarantees and expressivity. Despite this, type systems for array programming languages are usually at one of two extremes. In the majority of cases they are nearly untyped, only distinguishing array types by element type or number of dimensions. Otherwise, they tend to reach for powerful dependent types. However, it is difficult to extend existing solutions with a dependent type system, and some problems become undecidable when we do so. Practical array programming – in data science, machine learning and the like – sticks to the bliss of dynamic typing.

We propose a novel calculus for array programming: Star. Array indices and shapes in Star make use of structural record and variant types equipped with subtyping. We prevent indexing errors not by resolving arithmetic problems, but by enabling richer types for arrays, allowing programmers to capture their structure explicitly. While we present Star with only subtype polymorphism, we sketch how algebraic subtyping promises efficient ML-style polymorphic type inference.

This program is tentative and subject to change.

Tue 17 Jun

Displayed time zone: Seoul change

15:40 - 17:00
Language Design & Type SafetyARRAY at Tulip
15:40
30m
Talk
Kuiper: verified and efficient GPU programming
ARRAY
Guido Martínez Microsoft Research, Jonas Fiala ETH Zürich, Abhinav Jangda Microsoft Research, Angelica Moreira Microsoft Research, Nikhil Swamy Microsoft Research, Tyler Sorensen Microsoft Research
16:10
30m
Talk
Structuring Arrays with Algebraic Shapes
ARRAY
Jakub Bachurski University of Cambridge, Alan Mycroft University of Cambridge, Dominic Orchard University of Cambridge; University of Kent
DOI
Hide past events