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.3.tbz
sha256=f09de562d1f8cef423444d09212863fd54d02a907f15c0e409825a1126051939
sha512=5ba51cdbb9a75aaf42085677b8fd4eb68efe89d32d9e216d82f79a5fd742556968cf3fcb1a6316f01058d169f0fcc0cbf8fb03d007b9ab79e06ff8f5a7d17de0
doc/src/coq-serapi.serlib/ser_pp.ml.html
Source file ser_pp.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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
(************************************************************************) (* * 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 *) (************************************************************************) open Sexplib.Std type pp_tag = [%import: Pp.pp_tag] [@@deriving sexp, yojson] type block_type = [%import: Pp.block_type] [@@deriving sexp, yojson] module P = struct type _t = | Pp_empty | Pp_string of string | Pp_glue of _t list | Pp_box of block_type * _t | Pp_tag of pp_tag * _t (* Are those redundant? *) | Pp_print_break of int * int | Pp_force_newline | Pp_comment of string list [@@deriving sexp, yojson] open Pp let rec from_t (d : t) : _t = match repr d with | Ppcmd_empty -> Pp_empty | Ppcmd_string s -> Pp_string s | Ppcmd_glue l -> Pp_glue (List.map from_t l) | Ppcmd_box (bt,d) -> Pp_box(bt, from_t d) | Ppcmd_tag (t,d) -> Pp_tag(t, from_t d) | Ppcmd_print_break (n,m) -> Pp_print_break(n,m) | Ppcmd_force_newline -> Pp_force_newline | Ppcmd_comment s -> Pp_comment s let rec to_t (d : _t) : t = unrepr (match d with | Pp_empty -> Ppcmd_empty | Pp_string s -> Ppcmd_string s | Pp_glue l -> Ppcmd_glue (List.map to_t l) | Pp_box (bt,d) -> Ppcmd_box(bt, to_t d) | Pp_tag (t,d) -> Ppcmd_tag(t, to_t d) | Pp_print_break (n,m) -> Ppcmd_print_break(n,m) | Pp_force_newline -> Ppcmd_force_newline | Pp_comment s -> Ppcmd_comment s) end type t = Pp.t let t_of_sexp s = P.(to_t (_t_of_sexp s)) let sexp_of_t d = P.(sexp_of__t (from_t d)) let of_yojson json = Ppx_deriving_yojson_runtime.(P.(_t_of_yojson json >|= to_t)) let to_yojson level = P.(_t_to_yojson (from_t level)) type doc_view = [%import: Pp.doc_view] [@@deriving sexp, yojson]
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>