sig
type id = Fpath.t
val find : Carcass.Env.t -> Carcass.Body.id -> Fpath.t option
val list : ?hidden:bool -> Carcass.Env.t -> Fpath.t Fpath.map
type binding_id = Fpath.t
type t
val id : Carcass.Body.t -> Carcass.Body.id
val doc : Carcass.Body.t -> string * string
val var_docs : Carcass.Body.t -> string Astring.String.map
val bindings :
Carcass.Body.t ->
(Carcass.Pat.t * (Carcass.Body.binding_id * Carcass.Loc.t)) list
val of_input :
src:Carcass.Loc.src ->
[ `Channel of Pervasives.in_channel | `String of string ] ->
Carcass.Body.id ->
(Carcass.Body.t, [> Carcass.Error.parse ]) Result.result
val of_path :
Fpath.t ->
Carcass.Body.id ->
(Carcass.Body.t,
[> `Carcass_parse of Carcass.Error.parse_err * Carcass.Loc.t
| `Msg of string ])
Rresult.result
val eval_paths :
Carcass.Env.t ->
Carcass.Pat.env ->
Carcass.Body.t ->
((Carcass.Bone.id * Carcass.Loc.trace) Fpath.map,
[> `Carcass_eval of Carcass.Error.eval_err * Carcass.Loc.trace
| `Msg of string ])
Rresult.result
val eval_bones :
Carcass.Env.t ->
Carcass.Pat.env ->
(Carcass.Bone.id * Carcass.Loc.trace) Fpath.map ->
((string * bool) Fpath.map,
[> `Carcass_eval of Carcass.Error.eval_err * Carcass.Loc.trace
| `Msg of string ])
Rresult.result
val write :
?wrote:(Fpath.t -> unit) ->
?over:(Fpath.t -> bool) ->
dst:Fpath.t ->
(string * bool) Fpath.map -> (unit, [> Rresult.R.msg ]) Rresult.result
end