sig
type unexpected = [ `Eoi | `Lexeme of string | `Uchar of Uchar.t ]
type expected =
[ `Atom
| `Comma
| `Dollar
| `Escaped_char
| `Id
| `Keyword of string
| `Lpar
| `Qmark
| `Rpar ]
type parse_err =
Illegal_bytes of string
| Illegal_escape of Uchar.t
| Illegal_variable_transform of string
| Illegal_binding_id of string
| Unclosed of [ `Quoted_atom | `Var_ref ]
| Unexpected of Carcass.Error.unexpected * Carcass.Error.expected list
type parse = [ `Carcass_parse of Carcass.Error.parse_err * Carcass.Loc.t ]
val pp_parse_err : Carcass.Error.parse_err Fmt.t
val pp_parse : Carcass.Error.parse Fmt.t
type eval_id = [ `Body of string | `Bone of string | `Var of string ]
type eval_err =
Circular of Carcass.Error.eval_id
| Parse of Carcass.Error.eval_id *
[ `Carcass_parse of Carcass.Error.parse_err * Carcass.Loc.t
| `Msg of string ]
| Undefined of Carcass.Error.eval_id
| Bound_path of string * [ `Escapes | `Illegal ]
type eval = [ `Carcass_eval of Carcass.Error.eval_err * Carcass.Loc.trace ]
val pp_eval_id : Carcass.Error.eval_id Fmt.t
val pp_eval_err : Carcass.Error.eval_err Fmt.t
val pp_eval : Carcass.Error.eval Fmt.t
end