A better interface for type class diagnostics
dc.contributor.author
Gray, Gavin
dc.contributor.supervisor
Crichton, Will
dc.date.accessioned
2024-04-30T17:26:08Z
dc.date.available
2024-04-30T12:39:30Z
dc.date.available
2024-04-30T17:26:08Z
dc.date.issued
2024
dc.identifier.uri
http://hdl.handle.net/20.500.11850/670925
dc.identifier.doi
10.3929/ethz-b-000670925
dc.description.abstract
Many modern programming languages use a form of ad-hoc polymorphism as a language abstraction. Type classes, popularized by Haskell, have found space in other programming languages to join the semantics of ad-hoc and parametric polymorphism. Type class resolution is a complex black-box process implemented as a backtracking search across program types. When this search fails, compilers struggle to provide helpful diagnostics and frustrated developers have difficulty debugging complex type class errors. Textual diagnostics are fundamentally reductive and we propose an interactive interface to facilitate localization of type class errors. Our tool, Argus, is an
interactive debugger for Rust traits available as a VSCode extension. For 80% of tests in a community curated test suite of difficult Rust trait errors, Argus is able to localize the root error in at most ten interface interactions.
en_US
dc.format
application/pdf
en_US
dc.language.iso
en
en_US
dc.publisher
ETH Zurich
en_US
dc.rights.uri
http://rightsstatements.org/page/InC-NC/1.0/
dc.title
A better interface for type class diagnostics
en_US
dc.type
Master Thesis
dc.rights.license
In Copyright - Non-Commercial Use Permitted
dc.date.published
2024-04-30
ethz.size
66 p.
en_US
ethz.publication.place
Zurich
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02150 - Dep. Informatik / Dep. of Computer Science::02664 - Inst. f. Programmiersprachen u. -systeme / Inst. Programming Languages and Systems::03653 - Müller, Peter / Müller, Peter
en_US
ethz.date.deposited
2024-04-30T12:39:30Z
ethz.source
FORM
ethz.eth
yes
en_US
ethz.availability
Open access
en_US
ethz.rosetta.installDate
2024-04-30T17:26:09Z
ethz.rosetta.lastUpdated
2024-04-30T17:26:09Z
ethz.rosetta.exportRequired
true
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=A%20better%20interface%20for%20type%20class%20diagnostics&rft.date=2024&rft.au=Gray,%20Gavin&rft.genre=unknown&rft.btitle=A%20better%20interface%20for%20type%20class%20diagnostics
Files in this item
Publication type
-
Master Thesis [2100]