Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Proc. of the thirteenth spring school of the LITP on Combinators and functional programming languages
Dynamic typing in a statically typed language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Strongtalk: typechecking Smalltalk in a production environment
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Dynamic typing for distributed programming in polymorphic languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Embedding an interpreted language using higher-order functions and types
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators
Journal of Functional Programming
Fine-grained interoperability through mirrors and contracts
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Interlanguage migration: from scripts to programs
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Operational semantics for multi-language programs
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Groovy in Action
ECOOP '07 Proceedings of the 21st European conference on ECOOP 2007: Object-Oriented Programming
Reconciling method overloading and dynamically typed scripting languages
Computer Languages, Systems and Structures
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Gradual typing for first-class classes
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Contracts for First-Class Classes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
Inheritance is a standard means for reuse and for interfacing with external libraries. In a multi-language software product, extending a class written in a statically-typed language with a dynamically-typed class can require a significant number of manual indirections and other error-prone complications. Building on our previous interoperability work, we introduce a technique that allows safe, easy inheritance across languages. We demonstrate our technique for cross-language inheritance with a statically-typed object calculus and a dynamically-typed object calculus, where a statically-typed class can extend a dynamically-typed one and vice versa. We provide a proof sketch of soundness, as well as a guarantee that dynamic type errors do not arise due to statically-typed expressions.