Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Thu 27 Aug 2020 12:20 - 12:45 at ML - Session 1

Modules are one of the most complex features of ML languages. This complexity is reflected in error messages. Whenever two module types are mismatched, it is hard to identify and report the exact source of the error. Consequently, typecheckers often resort to printing the whole module types, and hope that the human user will navigate the sea of definitions. We propose to improve module error messages by coupling classical typechecking with a diffing algorithm. The typechecker deals with the gritty details of the ML module system whereas the diffing algorithm summarizes the error through a higher level view. The large literature on diffing algorithms allows us to pick and choose the exact algorithm adapted for signatures, functors applications, submodules, etc.

High-level error messages for modules through diffing (ml2020-paper75.pdf)134KiB

Thu 27 Aug
Times are displayed in time zone: (GMT-04:00) Eastern Time (US & Canada) change

mlfamilyworkshop-2020-papers
11:30 - 13:10: ML 2020 - Session 1 at ML
mlfamilyworkshop-2020-papers11:30 - 11:55
Talk
Jacques GarrigueNagoya University
Media Attached File Attached
mlfamilyworkshop-2020-papers11:55 - 12:20
Talk
Gabriel SchererINRIA Saclay, Olivier MartinotUniversité de Paris
Media Attached File Attached
mlfamilyworkshop-2020-papers12:20 - 12:45
Talk
Media Attached File Attached
mlfamilyworkshop-2020-papers12:45 - 13:10
Talk
Frank EmrichUniversity of Edinburgh, UK, Sam LindleyHeriot-Watt University, UK / The University of Edinburgh, UK, Jan StolarekUniversity of Edinburgh, UK
Media Attached File Attached