Talk Proposal: Structure-Shy Programming Revisited

Speaker: Karl Lieberherr, Northeastern University

Adaptive Programming (AP), developed as an extension to OO in the 90s, separates the concern of where to navigate on objects (WHERE-TO-GO) from the concern of what to do during the navigation (WHAT-TO-DO). The history-based navigation abstractions provided by AP allow modifications to the underlying object topology without affecting its associated computation. We call such programs structure-shy because they withstand some changes to the underlying data-structure.

Structure-shy programming (SSP), in different incarnations, has recently gained widespread acceptance. The XML community has applied these ideas to XPath and the Haskell community, through SYB, has studied structure-shyness in the context of a modern statically typed, purely functional, programming language.

In this talk we present four recent developments in SSP all geared towards making SSP safer and more modular: (1) Demeter Interfaces, (2) Functional Visitors, (3) a simpler semantics, called Target Guarantee Semantics and (4) perobject and pertraversal variables to improve the expressiveness of visitors. We will discuss the four developments and sketch their efficient implementation with applications to C# programming and schema-aware XML processing.

Joint work with: Bryan Chadwick, Therapon Skotiniotis and Ahmed Abdelmeged