2005
DOI: 10.1145/1103845.1094830
|View full text |Cite
|
Sign up to set email alerts
|

Fine-grained interoperability through mirrors and contracts

Abstract: As a value flows across the boundary between interoperating languages, it must be checked and converted to fit the types and representations of the target language. For simple forms of data, the checks and coercions can be immediate; for higher order data, such as functions and objects, some must be delayed until the value is used in a particular way. Typically, these coercions and checks are implemented by an ad-hoc mixture of wrappers, reflection, and dynamic predicates. We observe that 1) the wrapper and re… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
24
0

Year Published

2006
2006
2021
2021

Publication Types

Select...
4
3
2

Relationship

2
7

Authors

Journals

citations
Cited by 21 publications
(25 citation statements)
references
References 21 publications
1
24
0
Order By: Relevance
“…Cecil [8] and the Bigloo variant of Scheme [24] allow optional type annotations, but do not encode runtime checks between static and dynamic code. Gray et al [13] extended Java with contracts to allow interoperability with Scheme.…”
Section: Related Workmentioning
confidence: 99%
“…Cecil [8] and the Bigloo variant of Scheme [24] allow optional type annotations, but do not encode runtime checks between static and dynamic code. Gray et al [13] extended Java with contracts to allow interoperability with Scheme.…”
Section: Related Workmentioning
confidence: 99%
“…Virtual values are motivated by the rich proliferation of research on various kinds of wrappers and proxies, including higher-order contracts [6,5], language interoperation via proxies [12], and hybrid and gradual typing [23,7] and space-efficient gradual typing [24]. We conjecture that virtual values may allow some of this research to be performed by experimenting within a language with virtual values, rather than by designing new languages and implementations.…”
Section: Future Workmentioning
confidence: 99%
“…Evaluating the performance impact of blame tracking and its practical impact on the ability to debug gradually typed programs has not yet been investigated. We use the term gradual typing to refer to a family of approaches that includes hybrid typing [15] and that have their roots in a contract-based approach of [14,18].…”
Section: Background and Motivating Examplementioning
confidence: 99%