1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677(* Copyright (c) 2013-2017 Kate <kit.ty.kate@disroot.org>. *)(* See the LICENSE file at the top-level directory. *)[@@@ocaml.alert"-deprecated"]moduleMake(Ty:sigtypetend):sigval(=):Ty.t->Ty.t->boolval(<>):Ty.t->Ty.t->boolval(<):Ty.t->Ty.t->boolval(>):Ty.t->Ty.t->boolval(<=):Ty.t->Ty.t->boolval(>=):Ty.t->Ty.t->boolvalcompare:Ty.t->Ty.t->intvalmin:Ty.t->Ty.t->Ty.tvalmax:Ty.t->Ty.t->Ty.tend=PervasivesmoduleNone:moduletypeofMake(structtypet=unitend)=PervasivesmoduleInt:moduletypeofMake(structtypet=intend)=PervasivesmoduleBool:moduletypeofMake(structtypet=boolend)=PervasivesmoduleFloat:moduletypeofMake(structtypet=floatend)=PervasivesmoduleString:moduletypeofMake(structtypet=stringend)=PervasivesmoduleStdlib=structmoduleStdlib=structinclude(Stdlib:moduletypeofStdlibwithmoduleList:=Stdlib.ListandmoduleListLabels:=Stdlib.ListLabelsandmoduleStdLabels:=Stdlib.StdLabelsandmodulePervasives:=Stdlib.Pervasivesandtypein_channel:=Stdlib.in_channelandtypeout_channel:=Stdlib.out_channel)moduleList=structincludeListletmema~eqxs=List.exists(eqa)xsletassoca~eqxs=snd(List.find(fun(k,_)->eqak)xs)letassoc_opta~eqxs=Option.mapsnd(List.find_opt(fun(k,_)->eqak)xs)letmem_assoca~eqxs=List.exists(fun(k,_)->eqka)xsletrecremove_assoca~eq=function|[]->[]|((k,_)aspair)::xs->ifeqakthenxselsepair::remove_assoca~eqxsendmoduleListLabels=structincludeListLabelsletmema~eq~set=List.mema~eqsetletassoca~eqxs=List.assoca~eqxsletassoc_opt a~eqxs=List.assoc_opta~eqxsletmem_assoca~eq~map=List.mem_assoca~eqmapletremove_assoca~eqxs=List.remove_assoca~eqxsendmoduleStdLabels=structinclude(StdLabels:moduletypeofStdLabelswithmoduleList:=StdLabels.List)moduleList=ListLabelsendmodulePervasives=structincludePervasivesincludeIntendincludePervasivesendincludeStdlibend