Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8905fc1
a minimal export to lpo using Yojson
Alidra Mar 31, 2026
851c26b
partial export with ppx_deriving
Alidra Apr 1, 2026
37c284d
with sym_path
Alidra Apr 3, 2026
b80bb1b
with sym_name
Alidra Apr 3, 2026
919aff1
type t with type sim. type sym with type term
Alidra Apr 7, 2026
a2ae95e
with sym_impl and sym_prop
Alidra Apr 7, 2026
edc18e1
with sym_nota in in sym in sign
Alidra Apr 7, 2026
2ec32a2
with sym_rule in in sym in sign
Alidra Apr 7, 2026
ad22779
with ser_sym_mstrat in in sym in sign
Alidra Apr 8, 2026
d4eaa71
with sym_dtree in in sym in sign
Alidra Apr 9, 2026
edcbb35
with sym_symbols serialised in sign
Alidra Apr 9, 2026
90a1873
with sign_deps in sign
Alidra Apr 9, 2026
70fc212
with sign_builtins in sign
Alidra Apr 9, 2026
8de3586
run sanity check
Alidra Apr 9, 2026
4e16dc8
read sign_deps in json file
Alidra Apr 10, 2026
24498c5
read sign_builtins from json file
Alidra Apr 10, 2026
5fcb20d
wip : t_serializable in sign.ml
Alidra Apr 13, 2026
9e930c8
use ppx-deriving to import/export sign.t
Alidra Apr 14, 2026
7cb2c83
sumplify term.t by removing unliked fields
Alidra Apr 14, 2026
fbd2f07
remove ser_sym_dtree from sym serialisable
Alidra Apr 14, 2026
ba5841b
use json with version
Alidra Apr 14, 2026
5e8e960
wip: move serialization code to dedicated file
Alidra Apr 15, 2026
17ed6bb
with sin_serializable
Alidra Apr 15, 2026
1ac15e5
wip : move to/of_yojson
Alidra Apr 15, 2026
d08a0bd
move ind_data and sym_data to serilizer
Alidra Apr 15, 2026
d944d89
add ppx_deriving_yojson to lambdapi dependencies
Alidra Apr 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lambdapi.opam
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ depends: [
"lwt_ppx" {>= "1"}
"uri" {>= "1.1"}
"ppx_inline_test"
"ppx_deriving_yojson" { >= "3.7.0"}
]
build: [
["dune" "subst"] {dev}
Expand Down
1 change: 1 addition & 0 deletions src/common/dune
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
(library
(name common)
(public_name lambdapi.common)
(preprocess (pps ppx_deriving_yojson))
(modules :standard)
(libraries camlp-streams str timed lambdapi.lplib)
(flags -w +3))
8 changes: 7 additions & 1 deletion src/common/path.ml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ open Lplib open Base
module Path =
struct
(** Representation of a module name (roughly, a file path). *)
type t = string list
type t = string list [@@deriving yojson]

(** [pp ppf p] prints path [p] on the formatter [ppf]. Remark: to be used
in Common only as it does not escape identifiers that need to be
Expand All @@ -15,6 +15,12 @@ module Path =
(** [compare] is a standard comparison function on paths. *)
let compare : t cmp = Stdlib.compare

let make (s : string) : t =
if s = "" then []
else
s
|> String.split_on_char '.'
|> List.filter (fun x -> x <> "")
end

include Path
Expand Down
4 changes: 2 additions & 2 deletions src/common/pos.ml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ type pos =
; end_col : int (** Column number (utf8) of the ending point. *)
; end_offset : int (** Number of chars since the beginning of the document
for the ending point *)
}
} [@@deriving yojson]

(** Total comparison function on pos. *)
let cmp : pos cmp = fun p1 p2 ->
Expand Down Expand Up @@ -77,7 +77,7 @@ let to_string : ?print_dirname:bool -> ?print_fname:bool -> pos -> string =


(** Type of optional positions. *)
type popt = pos option
type popt = pos option [@@deriving yojson]

(** [equal p1 p2] tells whether [p1] and [p2] denote the same position. *)
let equal : popt -> popt -> bool = fun p1 p2 ->
Expand Down
5 changes: 4 additions & 1 deletion src/core/dune
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,8 @@
(name core)
(public_name lambdapi.core)
(synopsis "LambdaPi interactive theorem prover [core]")
(inline_tests)
; (preprocess (pps ))
(preprocess (pps ppx_inline_test ppx_deriving_yojson))
(modules :standard)
(libraries lambdapi.common lambdapi.lplib pratter why3 unix))
(libraries yojson lambdapi.common lambdapi.lplib pratter why3 unix))
Loading
Loading