ICFP/SPLASH 2025
I attended the co-located International Conference on Functional Programming (ICFP) and International Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH) as a co-author of a couple of papers, and was presenting ‘Spatial Programming for Environmental Monitoring’ at the International Workshop on Programming for the Planet (PROPL 2025). While a lot of the type-theory papers are beyond my ken ICFP is a great gathering place for a lot of like-minded individuals interested in programming languages from a range of perspectives including the practical side. As Patrick says, ‘the best track is hallway track’. As such, there were too many conversation to document here but I’ve tried to recall some highlights.
§The Hike
Straight after arriving to Singapore having been awake for ~30hrs Patrick and I had the ill-conceived idea to join a 13km hike through the hot and humid Singaporean jungle.

We did see some long-tailed macaques though!

§Geowiki Datastructure
I had a great chat with Aadi after our respective talks at PROPL on how Brigraphs might just be the foundation for a datastructure behind a unified view of physical world. I’ve typed up my thoughts on this below.
The vast about of data about our physical world lies in isolated silos. In order to use this data across administrative domains and organisations, from a plurality of sources, with real-time updates and monitoring, we need a shared model of the world. A bigraph-like structure with a spatial hierarchy with connections between nodes is a natural fit for such a model.
For example, watershed datasets naturally describes a hierarchy from raster data, water bodies and farm plots, micro water sheds, to water sheds. Irrigation, flow, and aquifer data connects these nodes. Different use cases may call for different hierarchies in parallel, such as forestry stands and administrative boundaries (reminiscent of bigraphs with sharing).
These nodes can be associated with static data (e.g. polygons) and temporal data (e.g. water levels over time). With a unified view of this world, we can make inferences using data from across the board, e.g. what happens to the watershed here if there’s reforestation there. We can aggregated data from a variety of sources, like as remote earth observation, ground source observation, and sensors in the environment. Changes can be peer reviewed up the spatial hierarchy, with access control based on roles and membership organisation.
This enables a unified space for real-time monitoring. So one organisation can publish remote sensing data to the structure, another can publish sensor data, and this can be aggregated by authorities to provide real-time flood warnings to a spatial domain in a pub-sub system. This requires code to live alongside the data in a processing pipeline with incremental computation.
An open question I have is what the architecture of this system would be: centralized like Wikipedia? Federated like ActivityPub? Delegated like the DNS? Given the intrinsic spatial hierarchy, and countries strict regulation around this data, the latter seems the most appropriate.
§Pac
People were excited to hear about the work behind Pac.
WIP