Proceedings of the Sixth Workshop on Programming Languages Meets Program Verification 2012
DOI: 10.1145/2103776.2103779
|View full text |Cite
|
Sign up to set email alerts
|

Dependent interoperability

Abstract: 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 dependentlyand 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 semantic… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
19
0

Year Published

2016
2016
2019
2019

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 17 publications
(19 citation statements)
references
References 27 publications
0
19
0
Order By: Relevance
“…Tanter and Tabareau [2015] develop a cast framework for subset types in Coq, allowing one to assert a term of type A to have the subset type {a : A | P a} for any decidable (or checkable) property P. They use an axiom to represent cast errors. Osera et al [2012] present dependent interoperability as a multi-language approach to combine both typing disciplines, mediated by runtime checks. Building on the subset cast framework (reformulated in a monadic setting instead of using axiomatic errors), Dagand et al [2016Dagand et al [ , 2018 revisit dependent interoperability in Coq via typetheoretic Galois connections that allow automatic lifting of higher-order programs.…”
Section: Related Workmentioning
confidence: 99%
“…Tanter and Tabareau [2015] develop a cast framework for subset types in Coq, allowing one to assert a term of type A to have the subset type {a : A | P a} for any decidable (or checkable) property P. They use an axiom to represent cast errors. Osera et al [2012] present dependent interoperability as a multi-language approach to combine both typing disciplines, mediated by runtime checks. Building on the subset cast framework (reformulated in a monadic setting instead of using axiomatic errors), Dagand et al [2016Dagand et al [ , 2018 revisit dependent interoperability in Coq via typetheoretic Galois connections that allow automatic lifting of higher-order programs.…”
Section: Related Workmentioning
confidence: 99%
“…As far as we know, the term dependent interoperability was originally coined by Osera et al (2012) as a particularly challenging case of multi-language semantics between a dependently-typed and a simply-typed language. The concept of multi-language semantics was initially introduced by Findler and Felleisen (2007) to capture the interactions between a simply-typed calculus and a uni-typed calculus (where all closed terms have the same unique type).…”
Section: Related Workmentioning
confidence: 99%
“…Compared to previous work on gradual typing, dependent interoperability is challenging because the properties captured by type indices can be semantically complex. Also, because indices are strongly tied to specific constructors, coercion requires marshaling (Osera et al, 2012). This contrasts with casts, which typically only check tags at first-order types and produce wrappers for function types.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Our multi-language semantics builds on the seminal work by Matthews and Findler [2009], who gave a formal semantics of interoperability between a dynamically and a statically typed language. Others have followed the Matthews-Findler approach of designing multi-language systems with fine-grained boundaries-for instance, formalizing interoperability between a simply and dependently typed language [Osera, Sjöberg, and Zdancewic, 2012]; between a functional and typed assembly language [Patterson, Perconti, Dimoulas, and Ahmed, 2017]; between an ML-like and an affinely typed language, where linearity is enforced at runtime on the ML side using stateful contracts [Tov and Pucella, 2010]; and between the source and target languages of compilation to specify compiler correctness [Perconti and Ahmed, 2014]. However, all these papers address only the question of soundness of the multi-language; we propose a formal treatment of usability and absence of abstraction leaks.…”
Section: Related Workmentioning
confidence: 99%