Module Asai

Compiler diagnostics

A diagnostic is a message for the end user, for example a compiler warning or error.

Core API

module Range : sig ... end

Locations and ranges.

module Diagnostic : sig ... end

The definition of diagnostics and some utility functions.

module Reporter : sig ... end

Generating and handling diagnostics using algebraic effects. The API is optimized for attaching free-form text.

module StructuredReporter : sig ... end

Generating and handling diagnostics using algebraic effects. The API is optimized for fully structured messages.

module MinimumSigs : sig ... end

Signatures that specify the minimum interface for libraries, applications, and handlers to work together.

Experimental Diagnostic Handlers

These handlers are subject to changes, but we will minimize incompatible changes between minor versions.

module Tty : sig ... end

Diagnostic display for UNIX terminals.

module GitHub : sig ... end

GitHub Actions workflow commands.

Internals

The internals are exposed for convenience, but they are subject to changes between minor versions.

module Explication : sig ... end

The definition of highlighted text suitable for rendering. You probably do not need this module unless you want to create your own diagnostic handler.

module Explicator : sig ... end

Turning location information into highlighted text suitable for rendering. You probably do not need this module unless you want to create your own diagnostic handler.

module SourceReader : sig ... end

Reading the source content. It uses memory-mapped I/O for files. You probably do not need this module unless you want to create your own diagnostic handler.