Module Beloch.Error

Source spans and the single error type used across the evaluator.

type span = Stdlib.Lexing.position * Stdlib.Lexing.position
exception Beloch_error of span * string * string option

A rejected program: where, what is wrong, and optionally one thing the author can write instead (ADR 0028). The message never carries the suggestion itself.

val fail : ?hint:string -> span -> string -> 'a
val span_to_string : span -> string