Sarek_ppx_lib.Sarek_errortype error = | Unbound_variable of string * Sarek_ast.loc| Unbound_constructor of string * Sarek_ast.loc| Unbound_field of string * Sarek_ast.loc| Unbound_type of string * Sarek_ast.loc| Type_mismatch of {expected : Sarek_types.typ;got : Sarek_types.typ;loc : Sarek_ast.loc;}| Cannot_unify of Sarek_types.typ * Sarek_types.typ * Sarek_ast.loc| Not_a_function of Sarek_types.typ * Sarek_ast.loc| Wrong_arity of {expected : int;got : int;loc : Sarek_ast.loc;}| Not_a_vector of Sarek_types.typ * Sarek_ast.loc| Not_an_array of Sarek_types.typ * Sarek_ast.loc| Not_a_record of Sarek_types.typ * Sarek_ast.loc| Field_not_found of string * Sarek_types.typ * Sarek_ast.loc| Immutable_variable of string * Sarek_ast.loc| Recursive_type of Sarek_types.typ * Sarek_ast.loc| Unsupported_expression of string * Sarek_ast.loc| Parse_error of string * Sarek_ast.loc| Invalid_kernel of string * Sarek_ast.loc| Duplicate_field of string * Sarek_ast.loc| Missing_type_annotation of string * Sarek_ast.loc| Invalid_intrinsic of string * Sarek_ast.loc| Barrier_in_diverged_flow of Sarek_ast.loc| Warp_collective_in_diverged_flow of string * Sarek_ast.loc| Reserved_keyword of string * Sarek_ast.loc| Unsupported_type_in_registration of string * Sarek_ast.loc| Unsupported_constructor_form of Sarek_ast.loc| Unsupported_registration_form of Sarek_ast.loc| Unsupported_tuple_in_variant of Sarek_ast.loc| Unsupported_function_in_variant of Sarek_ast.loc| Unknown_variant_type of string * Sarek_ast.loc| Expression_needs_statement_context of string * Sarek_ast.loc| Invalid_lvalue of Sarek_ast.locError types
val error_loc : error -> Sarek_ast.locGet the location from an error
val pp_error : Stdlib.Format.formatter -> error -> unitPretty print an error
val error_to_string : error -> stringConvert error to string
val pp_error_with_loc : Stdlib.Format.formatter -> error -> unitPrint error with location
type 'a result = ('a, error list) Stdlib.Result.tResult type for error accumulation
Monadic operations for error handling
val report_error : error -> 'aReport error to ppxlib
val report_errors : error list -> unitReport multiple errors
exception Sarek_error of errorRaise error as OCaml exception for use in PPX
val raise_error : error -> 'a