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.0.tbz
sha256=28792fdef7dbcc8a21a3eee1a85d6c433eccde6a85c47d73c8f808c02aa232fd
sha512=b5f8142df58f10639e2aa77209496e5906f5ce69f7bd93a65c9519d539a5546015e4760e0e980c277ab2d908c8cc77eb0d46ae7c1a9ca1fbca985b4c825b891f
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)"
>