123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263(************************************************************************)(* * The Coq Proof Assistant / The Coq Development Team *)(* v * INRIA, CNRS and contributors - Copyright 1999-2018 *)(* <O___,, * (see CREDITS file for the list of authors) *)(* \VV/ **************************************************************)(* // * This file is distributed under the terms of the *)(* * GNU Lesser General Public License Version 2.1 *)(* * (see LICENSE file for the text of the license) *)(************************************************************************)(************************************************************************)(* Coq serialization API/Plugin *)(* Copyright 2016-2019 MINES ParisTech -- Dual License LGPL 2.1 / GPL3+ *)(* Written by: Emilio J. Gallego Arias *)(************************************************************************)(* Status: Very Experimental *)(************************************************************************)openSexplib.ConvmoduletypeExtS=sigincludeCSig.SetSincludeSerType.Swithtypet:=tendmoduleMake(M:CSig.SetS)(S:SerType.Swithtypet:=M.elt)=structincludeMletfrom_list=List.fold_left(funes->M.addse)M.emptyletsexp_of_tcst=sexp_of_listS.sexp_of_tM.(elementscst)lett_of_sexpsexp=from_list(list_of_sexpS.t_of_sexpsexp)endmoduletypeExtSJ=sigincludeCSig.SetSincludeSerType.SJwithtypet:=tendmoduleMakeJ(M:CSig.SetS)(S:SerType.SJwithtypet:=M.elt)=structincludeMake(M)(S)letto_yojsoncst=`List(List.mapS.to_yojsonM.(elementscst))letof_yojsonjson=letopenPpx_deriving_yojson_runtimeinletjson=Yojson.Safe.Util.to_listjsoninmap_bindS.of_yojson[]json>|=from_listend