123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139moduletypeS=sigtypetvalhash:t->intvalto_string:t->stringvalof_string:string->tvalparse_string_exn:loc:Loc0.t->string->t(** a directory is smaller than its descendants *)includeComparator.Swithtypet:=tincludeComparator.OPSwithtypet:=tvalto_dyn:t->Dyn.tvalextension:t->string(** [set_extension path ~ext] replaces extension of [path] by [ext] *)valset_extension:t->ext:string->tvalsplit_extension:t->t*stringvalbasename:t->stringvalbasename_opt:t->stringoptionvalextend_basename:t->suffix:string->tmoduleSet:sigincludeSet.Swithtypeelt=tvalto_dyn:tDyn.Encoder.tvalof_listing:dir:elt->filenames:stringlist->tendmoduleMap:Map.Swithtypekey=tmoduleTable:Hashtbl.Swithtypekey=tvalrelative:?error_loc:Loc0.t->t->string->tvalto_string_maybe_quoted:t->stringvalis_descendant:t->of_:t->boolvalis_root:t->boolvalparent_exn:t->tvalparent:t->toptionend(** [Unspecified.w] is a type-level placeholder of an unspecified path. (see
[Local_gen] for how it's used) *)moduleUnspecified=structtypewend(** ['w Local_gen.t] is the type of local paths that live under ['w]. If
[x : w Local_gen.t] and [w] is a type-level witness corresponding to a (real
or hypothetical) filesystem location [base], then we think of [x] as
referring to the location [to_string base ^/ to_string x]. *)moduletypeLocal_gen=sigtype'wtvalhash:'wt->int(* it's not clear that these should be polymorphic over 'w, maybe they should
additionally ask for an object that fixes 'w *)valto_string:'wt->stringvalof_string:string->'wtvalparse_string_exn:loc:Loc0.t->string->'wt(** a directory is smaller than its descendants *)valcompare:'wt->'wt->Ordering.tvalto_dyn:'wt->Dyn.tvalextension:'wt->string(** [set_extension path ~ext] replaces extension of [path] by [ext] *)valset_extension:'wt->ext:string->'wtvalsplit_extension:'wt->'wt*stringvalbasename:'wt->stringvalextend_basename:'wt->suffix:string->'wtmoduleFix_root(Root:sigtypewend):sigmoduleSet:sigincludeSet.Swithtypeelt=Root.wtvalto_dyn:tDyn.Encoder.tvalof_listing:dir:elt->filenames:stringlist->tendmoduleMap:Map.Swithtypekey=Root.wtmoduleTable:Hashtbl.Swithtypekey=Root.wtendvalrelative:?error_loc:Loc0.t->'wt->string->'wtvalto_string_maybe_quoted:'wt->stringvalis_descendant:'wt->of_:'wt->boolvalis_root:'wt->boolvalparent_exn:'wt->'wtvalparent:'wt->'wtoptionvalexplode:'wt->stringlistvalroot:'wtvalappend:'wt->Unspecified.wt->'wtvaldescendant:'wt->of_:'wt->Unspecified.wtoptionvalreach:'wt->from:'wt->stringvalsplit_first_component:'wt->(string*Unspecified.wt)optionmoduleL:sigvalrelative:?error_loc:Loc0.t->'wt->stringlist->'wtendend