MPI-INF Logo
Campus Event Calendar

Event Entry

What and Who

Non-Reformist Reform for Haskell Modularity

Scott Kilpatrick
MMCI
SWS Student Defense Talks - Thesis Defense
SWS  
Public Audience
English

Date, Time and Location

Tuesday, 15 October 2019
15:00
60 Minutes
E1 5
029
Saarbrücken

Abstract

Module systems like that of Haskell permit only a weak form of modularity in which module implementations depend directly on other implementations and must be processed in dependency order. Module systems like that of ML, on the other hand, permit a stronger form of modularity in which explicit interfaces express assumptions about dependencies and each module can be typechecked and reasoned about independently.



In this thesis, I present Backpack, a new language for building separately-typecheckable packages on top of a weak module system like Haskell’s. The design of Backpack is the first to bring the rich world of type systems to the practical world of packages via mixin modules. It’s inspired by the MixML module calculus of Rossberg and Dreyer but by choosing practicality over expressivity Backpack both simplifies that semantics and supports a flexible notion of applicative instantiation. Moreover, this design is motivated less by foundational concerns and more by the practical concern of integration into Haskell. The result is a new approach to writing modular software at the scale of packages.


The semantics of Backpack is defined via elaboration into sets of Haskell modules and binary interface files, thus showing how Backpack maintains interoperability with Haskell while retrofitting it with interfaces. In my formalization of Backpack I present a novel type system for Haskell modules and I prove a key soundness theorem to validate Backpack’s semantics.

Contact

--email hidden

Video Broadcast

Yes
Kaiserslautern
G26
111
6747
passcode not visible
logged in users only

Maria-Louise Albrecht, 09/24/2019 14:49 -- Created document.