Artificial intelligence: a modern approach
Artificial intelligence: a modern approach
Science of Computer Programming
Proofs about a folklore let-polymorphic type inference algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Finding the source of type errors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A maximum-flow approach to anomaly isolation in unification-based incremental type inference
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
JastAdd: an aspect-oriented compiler construction system
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
How to repair type errors automatically
Trends in functional programming
Explaining Type Errors by Finding the Source of a Type Conflict
SFP '99 Selected papers from the 1st Scottish Functional Programming Workshop (SFP99)
On the Unification of Substitutions in Type Interfaces
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
Interactive type debugging in Haskell
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Scripting the type inference process
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Adding wildcards to the Java programming language
Proceedings of the 2004 ACM symposium on Applied computing
Improving type error diagnosis
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Seminal: searching for ML type-error messages
Proceedings of the 2006 workshop on ML
The jastadd extensible java compiler
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Java type inference is broken: can we fix it?
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Improving type error messages for generic java
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Strategies for Solving Constraints in Type and Effect Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Corrective hints for type incorrect generic Java programs
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Heuristics for type error discovery and recovery
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Type error slicing in implicitly typed higher-order languages
ESOP'03 Proceedings of the 12th European conference on Programming
A case study of a slicing-based approach for locating type errors
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
Security type error diagnosis for higher-order, polymorphic languages
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Precise explanation of success typing errors
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Scalad: an interactive type-level debugger
Proceedings of the 4th Workshop on Scala
Hi-index | 0.00 |
Since version 1.5, generics (parametric polymorphism) are part of the Java language. However, the combination of parametric polymorphism and inclusion polymorphism is complicated, particularly so for Generic Java. Indeed, the main Java compilers, Eclipse's ejc and Sun's javac, do not even accept the same set of programs. Moreover, experience with these compilers shows that the error messages provided by them leave more than a little to be desired.To alleviate the latter problem, we describe how to adapt the type inference process of Java to obtain better error diagnostics for generic method invocations. Although the extension by itself already helps to improve type error messages to some extent, another major advantage of the new type inference process is that it also paves the way for further heuristics can provide additional diagnostic information. The extension has been implemented into the JastAdd Extensible Java Compiler.