Module Gil_syntax.Proc
type ('annot, 'label) t = {proc_name : string;proc_source_path : string option;proc_internal : bool;proc_body : ('annot * 'label option * 'label Cmd.t) array;proc_params : string list;proc_spec : Spec.t option;proc_aliases : string list;proc_calls : string list;proc_display_name : (string * string) option;
}val to_yojson :
('annot -> Yojson.Safe.t) ->
('label -> Yojson.Safe.t) ->
('annot, 'label) t ->
Yojson.Safe.tval of_yojson :
(Yojson.Safe.t -> 'annot Ppx_deriving_yojson_runtime.error_or) ->
(Yojson.Safe.t -> 'label Ppx_deriving_yojson_runtime.error_or) ->
Yojson.Safe.t ->
('annot, 'label) t Ppx_deriving_yojson_runtime.error_orval get_params : ('a, 'b) t -> string listGets the parameters of the procedure
val pp :
show_labels:bool ->
pp_label:'a Fmt.t ->
?pp_annot:'b Fmt.t ->
Stdlib.Format.formatter ->
('b, 'a) t ->
unitIf the show_labels flag is true, the labels will be written before the command they correspond to
val pp_labeled :
Stdlib.Format.formatter ->
?pp_annot:'a Fmt.t ->
('a, string) t ->
unitPrint labelled
val pp_indexed :
Stdlib.Format.formatter ->
?pp_annot:'a Fmt.t ->
('a, int) t ->
unitPrint indexed
Returns the indexed procedure for a labeled procedures where the labels can be of any type. Equality of labels is decided by structural equality
val check_proc_spec_correspondence :
(string, ('annot, 'a) t) Utils.Prelude.Hashtbl.t ->
unit