POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic typing in a statically typed language
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
ESOP'92 Symposium proceedings on 4th European symposium on programming
Strongtalk: typechecking Smalltalk in a production environment
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
A syntactic approach to type soundness
Information and Computation
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parametric polymorphism in Java: an approach to translation based on reflective features
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Contracts for higher-order functions
Proceedings of the seventh ACM SIGPLAN international conference on 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
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Variant parametric types: A flexible subtyping scheme for generics
ACM Transactions on Programming Languages and Systems (TOPLAS)
ECOOP '07 Proceedings of the 21st European conference on ECOOP 2007: Object-Oriented Programming
Safe Cross-Language Inheritance
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Static type inference for Ruby
Proceedings of the 2009 ACM symposium on Applied Computing
Well-Typed Programs Can't Be Blamed
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Towards gradual typing for generics
Proceedings for the 1st workshop on Script to Program Evolution
Thorn: robust, concurrent, extensible scripting on the JVM
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Effective and Efficient Compilation of Run-Time Generics in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
Integrating typed and untyped code in a scripting language
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parametric polymorphism through run-time sealing or, theorems for low, low prices!
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 25th European conference on Object-oriented programming
Towards a type system for analyzing javascript programs
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Cast insertion strategies for gradually-typed objects
Proceedings of the 9th symposium on Dynamic languages
Gradual typing embedded securely in JavaScript
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
Gradual typing is a framework to combine static and dynamic typing in a single programming language. In this paper, we develop a gradual type system for class-based object-oriented languages with generics. We introduce a special type to denote dynamically typed parts of a program; unlike dynamic types introduced to C# 4.0, however, our type system allows for more seamless integration of dynamically and statically typed code. We formalize a gradual type system for Featherweight GJ with a semantics given by a translation that inserts explicit run-time checks. The type system guarantees that statically typed parts of a program do not go wrong, even if it includes dynamically typed parts. We also describe a basic implementation scheme for Java and report preliminary performance evaluation.