Block device abstraction for OCaml 5 with Eio direct-style I/O and Bytesrw integration
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.

+2 -2
+1 -1
block.opam
··· 18 18 "fmt" {>= "0.9"} 19 19 "alcotest" {with-test} 20 20 "eio_main" {with-test} 21 - "crowbar" {with-test} 21 + "alcobar" {with-test} 22 22 "odoc" {with-doc} 23 23 ] 24 24 build: [
+1 -1
dune-project
··· 25 25 (fmt (>= 0.9)) 26 26 (alcotest :with-test) 27 27 (eio_main :with-test) 28 - (crowbar :with-test))) 28 + (alcobar :with-test)))