The recordings from the 3rd ACM Programming for the Planet (PROPL) workshop have gone live on PLDI's YouTube playlist. As usual I've mirrored them onto our self-hosted Watch EEG instance. I attended remotely this year as I couldn't make it across the ocean, and enjoyed rewatching the talks.
This was the third outing of PROPL after London in 2024 and Singapore last year. We decided to split the workshop into two halves this year: a morning of position talks followed by an afternoon of working groups aimed at action items for the community.
The morning talks are what's recorded below, and Cyrus Omar, Dominic Orchard, KC Sivaramakrishnan and I will be working on summarising the living document, (which covers a wide gamut of user experience, interoperability, scaling, AI and sociotechnical challenges) over the coming months. I'm also delighted that Cyrus Omar, who chaired this year's workshop, will be spending his sabbatical year in Cambridge from October 2026 as an Associate Scholar at Pembroke College as well as a visiting academic at the Computer Lab, hosted by me!
For those curious, the entire talk series from all three PROPLs is an interesting watch. I'm very much looking forward to distilling them into something actionable among the PL community (especially given enthusiastic followups from bright sparks like Manuel Rigger and Aadi Seth who I really want to do more projects with!). Ideas for the next PROPL are very welcome from anyone else who fancies joining in and/or contributing to organisation ideas.
1 Onto the PROPL talks
Cyrus Omar opens by arguing that a future digital commons for science must not merely store data under FAIR principles, but also compute over it, with provenance and reproducibility as first-class concerns rather than things we bolt on afterwards.
2 Marrying engineering rigor and scientific rigor for the planet
Deepak Cherian of Earthmover discusses what Earth science could usefully steal from the database community, by way of Icechunk. This is a cloud-native chunked array store with version control, isolated transactions and snapshots. As Deepak notes, "the pile-of-files model severely lacks rigor", which anyone reading mine or Mark Elvers weeknotes about managing TESSERA embeddings between machines will no doubt agree with.
3 A compiler-first planetary compute engine
Billy Moses and a big cast had the most ambitious project I've seen in a while. They're working on making Earth system models end-to-end differentiable and hardware-portable at the compiler level, rather than by asking scientists to rewrite a million lines of Fortran.
Enzyme is a project that does the automatic differentiation down at the LLVM IR, and a Reactant frontend lowers to StableHLO. This means that the same ocean and atmosphere models run on AMD, NVIDIA and TPU hardware. Differentiable models make calibration, sensitivity analysis and uncertainty quantification tractable.
As a followup, Yossi Frenkel then noticed that Rust is proposing integrating an auto-differentiation module into the standard library as std::autodiff. So it looks like Enzyme is being adopted more widely.
4 Mind the (semantic) gap
Dominic Orchard then spoke about the semantic chasm between the equations in a paper and the code that attempts to implement them. He makes the case for languages whose types carry "domain meaning": units, physical structure, and other invariants scientific computing code needs to enforce statically and avoid misuse. This tracks his Camfort units-of-measure line of thinking, but far more baked into a fresh type system rather than retrofitted.
5 The Basic Model Interface
Mark Piper then talked about the BMI, a (deliberately) minimal language-agnostic spec of about thirty functions for coupling numerical models. It has been crowdsourced over years through the CSDMS community. I found this talk to be a useful counterweight to the grander architectural proposals, as it covered essential nitty gritty data management tasks (which is about 90% of the work involved in most of this research!). It's also a useful reminder that simplicity in interfaces makes them much more likely to survive and be implemented in a community that's distributed around different toolchains and languages.
Stay tuned for further updates, and thank to Yossi Frenkel for alerting to me to the PLDI videos being published!

