Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 965 Bytes

README.md

File metadata and controls

23 lines (15 loc) · 965 Bytes

Tattle

A crate for reporting errors in compilers.

Motivation

In compiler development, one would like to report as many user errors in source files at once, so that the user can choose what order to fix them in rather than having to fix the first one found first. However, these errors are almost never handled.

Thus, it doesn't make sense to use traditional Result enums to communicate these errors. Rather, errors should either be signaled by Option<T> or by including error variants in T itself. However, errors should still be reported with as much detail as is reasonable. Tattle is a crate for doing this reporting.

Usage

Right now documentation is sparse: see the usage in fexplib for examples.

Inspirations

This crate is mainly inspired by asai. However, it also owes influence to zig's error codes.