Wed 23 Oct 2024 16:00 - 16:25 at Pacific - Onward! Papers Chair(s): Stephen Kell

A day in the life of a developer often involves more time working with schemas, configurations, and data description systems than writing code and logic in a classical programming language. As more systems move into distributed worlds, e.g. cloud and microservices, and developers make increasing use of libraries and frameworks, the need to interact with a range of data formats and configuration mechanisms is only increasing. This is a treacherous world, where a misspelled property name or missing field can render an entire service inoperable, a mistake that a number in an API represents seconds instead of milli-seconds can lead to a message being set for delivery in several months instead of in an hour, a misconfigured schema can lead to public exposure of sensitive data, and corrupt or erroneous results from a misunderstood data format could result in massive financial and/or reputational damage.

To address these challenges this paper casts the problems of data and configuration descriptions, not as a problem of data representation, but as a programming language problem, that can be addressed with well understood and highly effective programming language and type system techniques! The novel challenge is that data representation and configuration are universal concerns in a system and, particularly in modern cloud or micro-service systems, these system may involve many programming languages. In the past this has led to specification systems that use a least-common-denominator set of data types, often little more than strings and numbers, and then rely on conventions or (out-of-date) documentation to ensure that the data is interpreted correctly. This paper shows that, with careful design, it is possible to create a rich universal system that can be used to express data and configuration specifications in a way that is human readable/writable and that can be produced/consumed, much like JSON, by a wide range of programming languages and systems. This paper presents a novel programming language for data and configuration, that provides a unified and powerful system with all of the high-value features, including type-safety, versioning, packaging, and IDE support, expected from a modern programming language.

Wed 23 Oct

Displayed time zone: Pacific Time (US & Canada) change

16:00 - 17:00
Onward! PapersOnward! Papers at Pacific
Chair(s): Stephen Kell King's College London

Please stay seated – an Onward! essay session will follow immediately: https://2024.splashcon.org/track/splash-2024-Onward-Essays

16:00
25m
Talk
A Programing Language for Data and Configuration!
Onward! Papers
Mark Marron University of Kentucky
DOI
16:30
25m
Talk
The Meerkat Vision: Language Support for Live, Scalable, Reactive Web Apps
Onward! Papers
João Costa Seco NOVA-LINCS; Nova University of Lisbon, Jonathan Aldrich Carnegie Mellon University
DOI