package coq-serapi
Serialization library and protocol for machine interaction with the Coq proof assistant
Install
Dune Dependency
Authors
Maintainers
Sources
coq-serapi-8.17.0.0.17.1.tbz
sha256=09e2b3920d40eea3bed165d9ec67a3c87a9795918adbea0f9a87ee68d2014fa4
sha512=650b8e5d09aa42d4cb9f3c2dd09d9e4217bd325f5ac9b540783775e2a132556bbfa1f9c702eba83d6480ad3d8e429171d3bd4d01194b8243c80e8d55c0825bad
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)"
>