ACM Transactions on Programming Languages and Systems (TOPLAS)
Intersection and union types: syntax and semantics
Information and Computation
Coinductive axiomatization of recursive type equality and subtyping
Fundamenta Informaticae - Special issue: typed lambda-calculi and applications, selected papers
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
True separate compilation of Java classes
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Coinductive Axiomatization of Recursive Type Equality and Subtyping
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
The Cartesian Product Algorithm: Simple and Precise Type Inference Of Parametric Polymorphism
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Principal typings for Java-like languages
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphic bytecode: compositional compilation for Java-like languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
RPython: a step towards reconciling dynamically and statically typed OO languages
Proceedings of the 2007 symposium on Dynamic languages
Static type inference for Ruby
Proceedings of the 2009 ACM symposium on Applied Computing
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Co-logic programming: extending logic programming with coinduction
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
Complete coinductive subtyping for abstract compilation of object-oriented languages
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Coalgebraic semantics for parallel derivation strategies in logic programming
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Exploiting Parallelism in Coalgebraic Logic Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We propose a novel approach to constraint-based type inference based on coinductive logic. Constraint generation corresponds to translation into a conjunction of Horn clauses P , and constraint satisfaction is defined in terms of the coinductive Herbrand model of P . We illustrate the approach by formally defining this translation for a small object-oriented language similar to Featherweight Java, where type annotations in field and method declarations can be omitted. In this way, we obtain a very precise type inference and provide new insights into the challenging problem of type inference for object-oriented programs. Since the approach is deliberately declarative, we define in fact a formal specification for a general class of algorithms, which can be a useful road map to researchers. Furthermore, despite we consider here a particular language, the methodology could be used in general for providing abstract specifications of type inference for different kinds of programming languages.