Access the full text.
Sign up today, get DeepDyve free for 14 days.
R. Harper, F. Honsell, G. Plotkin (1993)
A framework for defining logicsJ. ACM, 40
J. Eremondi (2016)
Improving Error Messages for Dependent Types with Constraint-based Unification
(2006)
Revised Selected Papers.
(2005)
Heeren quality type error messages Ph thesis Utrecht University Utrecht Netherlands Dissertation Series https dspace library uu nl handle
(2016)
u GNULinuxProgrammer agda https www reddit com r agda comments lq q Accessed
Danfeng Zhang, A. Myers, Dimitrios Vytiniotis, S. Jones (2017)
SHErrLocACM Transactions on Programming Languages and Systems (TOPLAS), 39
G. Huet (1975)
A Unification Algorithm for Typed lambda-CalculusTheor. Comput. Sci., 1
U. Norell (2009)
Dependently typed programming in Agda
(2013)
Type inference dependent types Ph thesis University of Strathclyde United Kingdom http adam gundry co uk pub thesis thesis
Zvonimir Pavlinovic, Tim King, Thomas Wies (2015)
Practical SMT-based type error localizationProceedings of the 20th ACM SIGPLAN International Conference on Functional Programming
Jesper Cockx, Dominique Devriese, Frank Piessens (2016)
Unifiers as equivalences: proof-relevant unification of dependently typed dataProceedings of the 21st ACM SIGPLAN International Conference on Functional Programming
Andres Löh, Conor McBride, Wouter Swierstra (2010)
A Tutorial Implementation of a Dependently Typed Lambda CalculusFundam. Informaticae, 102
Per Martin-Löuf (1975)
About Models for Intuitionistic Type Theories and the Notion of Definitional EqualityStudies in logic and the foundations of mathematics, 82
Haack (2003)
Type error slicing in implicitly typed higher - order languages of Special Issue th European Symposium on ProgrammingScience Computer Programming ESOP, 12
(2003)
Heeren Constraint based type inferencing in Helium Immediate Applications of Constraint Programming http www open ou nl bhr ConstraintBasedTI html
I. Cervesato, F. Pfenning (2003)
A Linear Spine CalculusJ. Log. Comput., 13
Jurriaan Hage, B. Heeren (2009)
Strategies for Solving Constraints in Type and Effect Systems
Titus Barik, Justin Smith, Kevin Lubick, Elisabeth Holmes, Jing Feng, E. Murphy-Hill, Chris Parnin (2017)
Do Developers Read Compiler Error Messages?2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)
(2013)
Idris, a general-purpose dependently typed programming language: Design and implementationJournal of Functional Programming, 23
Jinhai Yang, G. Michaelson, P. Trinder, J. Wells (2000)
Improved Type Error Reporting
Ulf Norell (2007)
Towards a practical programming language based on dependent type theory
Gundry (2012)
tutorial implementation of dynamic pattern unification Unpublished draft http adam gundry co uk pub pattern unify pattern unification pdf, 22
G. Huet (1973)
The Undecidability of Unification in Third Order LogicInf. Control., 22
Cockx (2014)
Pattern matching without In Proceedings of the th International Conference on Functional Programming New YorkUSA, 31
C. Haack, J. Wells (2003)
Type error slicing in implicitly typed higher-order languagesSci. Comput. Program., 50
R. Milner (1978)
A Theory of Type Polymorphism in ProgrammingJ. Comput. Syst. Sci., 17
Danfeng Zhang, A. Myers, Dimitrios Vytiniotis, S. Jones (2015)
Diagnosing type errors with classProceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation
Norell (2007)
Towards a practical programming language based on dependent type theory Ph thesis University of Technology http www cse chalmers se ulfn papers thesis pdf, 16
Jesper Cockx, Dominique Devriese (2018)
Proof-relevant unification: Dependent pattern matching with only the axioms of your type theoryJournal of Functional Programming, 28
Sheng Chen, Martin Erwig, Eric Walkingshaw (2014)
Extending Type Inference to Variational ProgramsACM Trans. Program. Lang. Syst., 36
(2017)
Helium Team Helium github repository https github com Helium helium
Norell (2009)
Dependently typed programming in In Proceedings of the th International Workshop on Types in Language Design and Implementation New YorkUSA, 4
Beta Ziliani, Matthieu Sozeau (2017)
A comprehensible guide to a new unifier for CIC including universe polymorphism and overloading*Journal of Functional Programming, 27
Jesper Cockx, Dominique Devriese, Frank Piessens (2014)
Pattern matching without KACM SIGPLAN Notices, 49
Adam Gundry (2013)
Type inference, Haskell and dependent types
Adam Gundry, Conor McBride (2012)
A tutorial implementation of dynamic pattern unification A dependently typed programming language implementation pearl
D. Miller (1992)
Unification Under a Mixed PrefixJ. Symb. Comput., 14
Campora (2018)
Migrating gradual types Proceedings of the ACM on Programming Languages Article, 15
Martin Erwig, Eric Walkingshaw (2011)
The Choice Calculus: A Representation for Software VariationACM Trans. Softw. Eng. Methodol., 21
Ziliani (2017)
comprehensible guide to a new unifier for CIC including universe polymorphism and overloading of FunctionalJournal Programming, 19
Sheng Chen, Martin Erwig (2014)
Counter-factual typing for debugging type errorsProceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
(2016)
Github repository: lambda-pi-constraint, tag thesis-final, 2016, https://github.com/JoeyEremondi/lambdapi-constraint
B. Heeren, Jurriaan Hage, S. Doaitse, Laura Schneider (2003)
Constraint Based Type Inferencing in Helium
(2015)
VytiniotisD., Peyton-JonesS., Diagnosing type errorswith
Miller (1992)
Unification under a mixed prefixSymb Comput, 14
J. Bergstra, J. Klop (1984)
Proving Program Inclusion Using Hoare's LogicTheor. Comput. Sci., 30
K. Watkins, I. Cervesato, F. Pfenning, D. Walker (2003)
A concurrent logical framework I: Judgments and properties
Eremondi (2016)
Improving error messages for dependent types with constraint - based unification Master s thesis Utrecht University Utrecht https dspace library uu nl handle
Abel (2011)
Higher - order dynamic pattern unification for dependent types and records and th International Conference SadTyped Lambda Calculi Applications, 15
Jurriaan Hage, B. Heeren (2006)
Heuristics for Type Error Discovery and Recovery
B. Heeren (2005)
Top quality type error Messages
Eremondi (2016)
repository lambda pi constraint tag thesis final https github com JoeyEremondi lambdapi constraint, 27
Andreas Abel, B. Pientka (2011)
Higher-Order Dynamic Pattern Unification for Dependent Types and Records
Sheng Chen, Martin Erwig, Eric Walkingshaw (2012)
An error-tolerant type system for variational lambda calculusProceedings of the 17th ACM SIGPLAN international conference on Functional programming
AbstractDependently-typed programming languages provide a powerful tool for establishing code correctness. However, it can be hard for newcomers to learn how to employ the advanced type system of such languages effectively. For simply-typed languages, several techniques have been devised to generate helpful error messages and suggestions for the programmer. We adapt these techniques to dependently-typed languages, to facilitate their more widespread adoption. In particular, we modify a higher-order unification algorithm that is used to resolve and type-check implicit arguments. We augment this algorithm with replay graphs, allowing for a global heuristic analysis of a unification problem-set, error-tolerant typing, which allows type-checking to continue after errors are found, and counter-factual unification, which makes error messages less affected by the order in which types are checked. A formalization of our algorithm is presented with an outline of its correctness. We implement replay graphs, and compare the generated error messages to those from existing languages, highlighting the improvements we achieved.
Open Computer Science – de Gruyter
Published: Jan 1, 2019
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.