package coq-serapi
Serialization library and protocol for machine interaction with the Coq proof assistant
Install
Dune Dependency
Authors
Maintainers
Sources
coq-serapi-8.15.0.0.15.4.tbz
sha256=cffb0eacd9d155434f7cf384418c78a9d1cf189b65b080a456f50d9d3c3dcf5c
sha512=77eada7c9f2979ee8b00704ed49e65f6e0aadb1a24b73bb89581bf624f330d141340e0dfecd8b1517a11b2a9d823d8f84fcbdea419cc99536557019c5951b80e
doc/src/coq-serapi.serlib/ser_cPrimitives.ml.html
Source file ser_cPrimitives.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
(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2016 *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) (************************************************************************) (* Coq serialization API/Plugin *) (* Copyright 2016-2018 MINES ParisTech *) (************************************************************************) (* Status: Very Experimental *) (************************************************************************) open Sexplib open Sexplib.Std open Ppx_hash_lib.Std.Hash.Builtin open Ppx_compare_lib.Builtin type t = [%import: CPrimitives.t] [@@deriving sexp,yojson,hash,compare] type const = [%import: CPrimitives.const] [@@deriving sexp,yojson,hash] (* XXX: GADTs ... *) type 'a prim_type = [%import: 'a CPrimitives.prim_type] and 'a prim_ind = [%import: 'a CPrimitives.prim_ind] and ind_or_type = [%import: CPrimitives.ind_or_type] [@@deriving sexp_of] let prim_type_of_sexp (x : Sexp.t) : 'a prim_type = match x with | Sexp.Atom "PT_int63" -> PT_int63 | Sexp.Atom "PT_float64" -> PT_float64 | Sexp.Atom "PT_array" -> Obj.magic PT_array | _ -> Sexplib.Conv_error.no_variant_match () type op_or_type = [%import: CPrimitives.op_or_type] [@@deriving sexp_of] let hash_fold_op_or_type st x = hash_fold_string st (Sexp.to_string (sexp_of_op_or_type x)) let compare_op_or_type x y = compare_string (Sexp.to_string (sexp_of_op_or_type x)) (Sexp.to_string (sexp_of_op_or_type y)) let op_or_type_of_sexp (x : Sexp.t) : op_or_type = match x with | Sexp.List [Sexp.Atom "OT_op"; p] -> OT_op (t_of_sexp p) | Sexp.List [Sexp.Atom "OT_type"; p] -> OT_type (prim_type_of_sexp p) | Sexp.List [Sexp.Atom "OT_const"; p] -> OT_const (const_of_sexp p) | _ -> Sexplib.Conv_error.no_variant_match () (* XXX *) let op_or_type_to_yojson = Obj.magic let op_or_type_of_yojson = Obj.magic
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>