Open
Milestone
started on Nov 17, 2022
Error Reporting Improvements
The goal of this milestone is to overhaul LIGO's error reporting. The new error reporting library will be used in the compiler to build more complex, informative, and understandable error messages.
Tasks:
-
Task A: Location tracking improvements -
Removal of dummy/generated locations (Should Have) -
Standardised interface for location-preserving transformations (Could Have)
-
-
Task B: Diagnostic library (Grace) -
Diagnostic core: A library containing definitions for locations, spans, ranges, diagnostics (error messages) (Must Have) -
Diagnostic traces: -
Extension to diagnostics with traces (OCaml 5, experimental) (Could Have)
-
-
Diagnostic rendering: -
Single-line errors (Must Have) -
Multi-line errors (Must Have) -
Hints (Should Have)
-
-
Diagnostic LSP (JSON): -
Provide JSON serializers and de-serializers for diagnostics (Must Have)
-
-
-
Task C: Integration with LIGO compiler -
Integrate diagnostic library with LIGO compiler and Trace
/Errors
modules (Critical) -
Make use of diagnostics in LIGO's type checker (Critical)
-