ACM Home Page
Please provide us with feedback. Feedback
Operational semantics for multi-language programs
Full text PdfPdf (584 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Nice, France
SESSION: Session 1 table of contents
Pages: 3 - 10  
Year of Publication: 2007
ISBN:1-59593-575-4
Also published in ...
Authors
Jacob Matthews  University of Chicago
Robert Bruce Findler  University of Chicago
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 81,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1190216.1190220
What is a DOI?

ABSTRACT

Inter-language interoperability is big business, as the success of Microsoft's .NET and COM and Sun's JVM show. Programming language designers are designing programming languages that reflect that fact --- SML#, Mondrian, and Scala, to name just a few examples, all treat interoperability with other languages as a central design feature. Still, current multi-language research tends not to focus on the semantics of interoperation features, but only on how to implement them efficiently. In this paper, we take first steps toward higher-level models of interoperating systems. Our technique abstracts away the low-level details of interoperability like garbage collection and representation coherence, and lets us focus on semantic properties like type-safety and observable equivalence.Beyond giving simple expressive models that are natural compositions of single-language models, our studies have uncovered several interesting facts about interoperability. For example, higher-order contracts naturally emerge as the glue to ensure that interoperating languages respect each other's type systems. While we present our results in an abstract setting, they shed light on real multi-language systems and tools such as the JNI, SWIG, and Haskell's stable pointers.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
E. Barzilay and D. Orlovsky. Foreign interface for PLT Scheme. In Workshop on Scheme and Functional Programming, 2004.
 
4
D. Beazley. Pointers, constraints, and typemaps. In SWIG 1.1 Users Manual. Available online: http://www.swig.org/Doc1.1/HTML/Typemaps.html.
 
5
D. Beazley. SWIG: An easy to use tool for integrating scripting languages with C and C++. In 4th Tcl/Tk Workshop, pages 129--139, 1996. Available online: http://www.swig.org/papers/Tcl96/tcl96.html.
 
6
7
8
 
9
M. Blume. No-longer-foreign: Teaching an ML compiler to speak C "natively". In Workshop on Multi-Language Infrastructure and Interoperability (BABEL), 2001.
 
10
 
11
 
12
M. M. T. Chakravarty. The Haskell 98 foreign function interface 1.0, 2002. Available online: http://www.cse.unsw.edu.au/~chak/haskell/ffi/.
 
13
C. Chambers and The Cecil Group. The Cecil language: Specification and rationale, version 3.2. Technical report, Department of Computer Science and Engineering, University of Washington, February 2004. Available online: http://www.cs.washington.edu/research/projects/cecil/pubs/cecil-spec.html.
 
14
 
15
M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 102:235--271, 1992. Original version in: Technical Report 89--100, Rice University, June 1989.
 
16
R. B. Findler and M. Blume. Contracts as pairs of projections. In International Symposium on Functional and Logic Programming (FLOPS), 2006.
17
18
 
19
K. Fisher, R. Pucella, and J. Reppy. A framework for interoperability. In Workshop on Multi-Language Infrastructure and Interoperability (BABEL), 2001.
20
21
22
23
 
24
25
 
26
 
27
Jython. http://www.jython.org/.
 
28
A. Kennedy. Securing the .NET programming model. Theoretical Computer Science, To appear. http://research.microsoft.com/~akenn/sec/.
 
29
L. Kornstaedt. Alice in the land of Oz - an interoperability-based implementation of a functional language on top of a relational language. In Workshop on Multi-Language Infrastructure and Interoperability (BABEL), 2001.
 
30
J. Matthews and R. B. Findler. An operational semantics for R5RS Scheme. In Workshop on Scheme and Functional Programming, 2005.
 
31
J. Matthews, R. B. Findler, M. Flatt, and M. Felleisen. A visual en-vironment for developing context-sensitive term rewriting systems. In Proceedings of the International Conference on Rewriting Techniques and Applications (RTA), 2004.
 
32
 
33
P. Meunier and D. Silva. From Python to PLT Scheme. In Proceedings of the Fourth Workshop on Scheme and Functional Programming, pages 24--29, 2003.
 
34
M. Odersky, P. Altherr, V. Cremet, B. Emir, S. Micheloud, N. Mihaylov, M. Schinz, E. Stenman, and M. Zenger. An Introduction to Scala. http://scala.epfl.ch/docu/files/ScalaIntro.pdf, 2005.
35
 
36
P. Pinto. Dot-Scheme: A PLT Scheme FFI for the .NET framework. In Workshop on Scheme and Functional Programming, November 2003.
 
37
G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, pages 223--255, 1977.
38
39
40
 
41
 
42
 
43
A. Wright and M. Felleisen. A syntactic approach to type soundness. Information and Computation, pages 38--94, 1994. First appeared as Technical Report TR160, Rice University, 1991.
44

CITED BY  10

Collaborative Colleagues:
Jacob Matthews: colleagues
Robert Bruce Findler: colleagues