package coq-serapi
Serialization library and protocol for machine interaction with the Coq proof assistant
Install
Dune Dependency
Authors
Maintainers
Sources
coq-serapi-8.19.0.0.19.1.tbz
sha256=10d90417815073507a53dbc5cca1cf504afa58104da8557e2afa2e7daf6ec852
sha512=95006e1e2798c531a01656972990662b07db815534bc789a5f3351c7d5bc8e75156c5a3c3b3a18d37f3eab0b11ceabd17d1609ed4d8afb461698b4098106e028
doc/src/coq-serapi.serapi_v8_14/serapi_doc.ml.html
Source file serapi_doc.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
(************************************************************************) (* * The Coq Proof Assistant / The Coq Development Team *) (* v * Copyright INRIA, CNRS and contributors *) (* <O___,, * (see version control and CREDITS file for authors & dates) *) (* 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) *) (************************************************************************) (************************************************************************) (* SerAPI: Coq interaction protocol with bidirectional serialization *) (************************************************************************) (* Copyright 2016-2019 MINES ParisTech -- License LGPL 2.1+ *) (* Copyright 2019-2023 Inria -- License LGPL 2.1+ *) (* Written by: Emilio J. Gallego Arias and others *) (************************************************************************) let check_pending_proofs ~pstate = Option.iter (fun _pstate -> (* let pfs = Proof_global.get_all_proof_names pstate in *) let pfs = [] in if not CList.(is_empty pfs) then let msg = let open Pp in seq [ str "There are pending proofs: " ; pfs |> List.rev |> prlist_with_sep pr_comma Names.Id.print; str "."] in CErrors.user_err msg ) pstate let save_vo ~doc ?ldir ~pstate ~in_file () = let _doc = Stm.join ~doc in check_pending_proofs ~pstate; let ldir = match ldir with | None -> Stm.get_ldir ~doc (* EJGA: When in interactive mode, the above won't work due to a STM bug, we thus allow SerAPI clients to override it *) | Some ldir -> ldir in let out_vo = Filename.(remove_extension in_file) ^ ".vo" in let todo_proofs = Library.ProofsTodoNone in let () = Library.save_library_to todo_proofs ~output_native_objects:false ldir out_vo in ()
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>