TY - GEN
T1 - Operational semantics for multi-language programs
AU - Matthews, Jacob
AU - Findler, Robert Bruce
PY - 2007
Y1 - 2007
N2 - 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.
AB - 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.
KW - Interoperability
KW - Multi-language systems
KW - Operational semantics
UR - http://www.scopus.com/inward/record.url?scp=34548269984&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34548269984&partnerID=8YFLogxK
U2 - 10.1145/1190216.1190220
DO - 10.1145/1190216.1190220
M3 - Conference contribution
AN - SCOPUS:34548269984
SN - 1595935754
SN - 9781595935755
T3 - Conference Record of the Annual ACM Symposium on Principles of Programming Languages
SP - 3
EP - 10
BT - Conference Record of POPL 2007
T2 - 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Y2 - 17 January 2007 through 19 January 2007
ER -