Heuristics-based Type Error Diagnosis for Haskell: The case of GADTs and local reasoning
Burgers, Joris; Hage, Jurriaan; Serrano, Alejandro
(2020)
IFL 2020: Proceedings of the 32nd Symposium on Implementation and Application of Functional Languages, pp. 33 - 43
ACM International Conference Proceeding Series, pp. 33 - 43
32nd Symposium on Implementation and Application of Functional Languages, IFL 2020, pp. 33 - 43
(Part of book)
Abstract
Helium is a Haskell compiler designed to provide programmer friendly type error messages. It employs specially designed heuristics that work on a type graph representation of the type inference process. In order to support existentials and Generalized Algebraic Data Types (GADTs) in Helium, we extend the type graphs of Helium
... read more
with facilities for local reasoning. We have translated the original Helium heuristics to this new setting, and define a number of GADT-specific heuristics that help diagnose Helium programs that employ GADTs.
show less
Download/Full Text
Keywords: generalized algebraic data types, Haskell, type error diagnosis, type graphs, Taverne, Human-Computer Interaction, Computer Networks and Communications, Computer Vision and Pattern Recognition, Software
ISBN: 978-1-4503-8963-1
Publisher: Association for Computing Machinery (ACM)
Note: Funding Information: From the Departments of Pediatric Surgery, Clinical Biochemistry, and Experimental Surgery, The Faculty of Medicine, Institute of Technology, Technion, Haifa, Israel Presented at the 41st Annual International Congress of the British Association of Paediatric Surgeons, Rotterdam, The Netherlands, June 29-July 1, 1994. Supported in part by the Hirschenstrauss-Gutman Medical Research Fund. Address reprint requests to G. Shoshany, MD, Department of Pediatric Surgery, Rambam Medical Center, Haifa 31096, Israel Copyright © 1995 by W.B. Saunders Company 0022-3468/95/3003-0006503. 00/0 Publisher Copyright: © 2020 ACM.
(Peer reviewed)