Terminal styling and layout widgets for OCaml (tables, trees, panels, colors)
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

json: rename mem -> member / finish -> seal across the codec + value API

Object combinators: [Object.mem] -> [Object.member], [Object.opt_mem]
-> [Object.opt_member], [Object.case_mem] -> [Object.case_member]. The
sibling submodules [Object.Mem] / [Object.Mems] become
[Object.Member] / [Object.Members]. RFC 8259 §4 calls these
"name/value pairs, referred to as the members", so mirror the spec
name rather than the shortened [mem].

[Object.finish] -> [Object.seal]. "Seal" reads as "close the map, no
more members added", which is what the operation does.

Value constructors/queries: [Value.mem] (function) -> [Value.member];
[Value.mem_find] -> [Value.member_key]; [Value.mem_names] ->
[Value.member_names]; [Value.mem_keys] -> [Value.member_keys].
[type mem = ...] -> [type member = ...]; [type object'] still points
at [member list].

Downstream (~80 files across slack, sbom, stripe, sigstore, requests,
claude, irmin, freebox) updated via perl-pie. dune build clean,
dune test ocaml-json clean.

+4 -2
+2 -1
dune-project
··· 34 34 (depends 35 35 (ocaml (>= 5.1)) 36 36 (tty (= :version)) 37 - (eio (>= 1.0)))) 37 + (eio (>= 1.0)) 38 + logs))
+1
tty-eio.opam
··· 13 13 "ocaml" {>= "5.1"} 14 14 "tty" {= version} 15 15 "eio" {>= "1.0"} 16 + "logs" 16 17 "odoc" {with-doc} 17 18 ] 18 19 build: [
+1 -1
tty.opam
··· 16 16 "uucp" {>= "15.0"} 17 17 "uutf" {>= "1.0"} 18 18 "alcotest" {with-test} 19 - "crowbar" {with-test} 19 + "alcobar" {with-test} 20 20 "odoc" {with-doc} 21 21 ] 22 22 build: [