Dependent interoperability
Author(s) -
Peter-Michael Osera,
Vilhelm Sjöberg,
Steve Zdancewic
Publication year - 2012
Publication title -
scholarlycommons (university of pennsylvania)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/2103776.2103779
Subject(s) - programming language , computer science , interoperability , marshalling , operational semantics , semantics (computer science) , modulo , dependent type , term (time) , lambda calculus , mathematics , discrete mathematics , world wide web , physics , quantum mechanics
In this paper we study the problem of interoperability --- combining constructs from two separate programming languages within one program --- in the case where one of the two languages is dependently typed and the other is simply typed.We present a core calculus called SD, which combines dependently- and simply-typed sub-languages and supports user-defined (dependent) datatypes, among other standard features. SD has "boundary terms" that mediate the interaction between the two sub-languages. The operational semantics of SD demonstrates how the necessary dynamic checks, which must be done when passing a value from the simply-typed world to the dependently typed world, can be extracted from the dependent type constructors themselves, modulo user-defined functions for marshaling values across the boundary.We establish type-safety and other meta-theoretic properties of SD, and contrast this approach to others in the literature.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom