Keynote Talk: Generalising Abstraction
A good abstraction or two can be invaluable for programming, enabling reasoning, performance, and maintainability. We build abstractions by erecting barriers to the flow of information between implementations and their clients.
John Reynolds’ theory of relational parametricity seeks to explain abstraction in terms of invariance under change. Reynolds’ original theory explains abstract types by modelling change of representation types by mathematical relations. In essence, we have successfully maintained a barrier to information flow if the program is invariant under all changes of representation that act identically given the information they are permitted to have.
In this talk, I’ll present some ways of generalising Reynolds’ theory to novel applications by considering alternative notions of change. Change in space and time yields applications to geometry and classical mechanics. Considering changes as distances affords quantitative accounting of information flow. Indexed and dependent types allow programmers more precision in describing changes and so more precision is defining abstractions.
Sat 23 JanDisplayed time zone: Guadalajara, Mexico City, Monterrey change
14:00 - 15:35 | Session ThreeOff the Beaten Track at Room St Petersburg I Chair(s): Limin Jia Carnegie Mellon University | ||
14:00 45mTalk | Keynote Talk: Generalising Abstraction Off the Beaten Track | ||
14:45 25mTalk | The Semantics of Syntax: Applying Denotational Semantics to Hygienic Macro Systems Off the Beaten Track Pre-print | ||
15:10 25mTalk | Affine Functional Programs as Higher-order Boolean Circuits Off the Beaten Track Pre-print |