Monorepo management for opam overlays
0
fork

Configure Feed

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

sexp, toml: converge on value/codec submodule layout

Sexp:
- Expose Value and Codec as submodules on the main Sexp.
- Keep `type t = Value.t` and `type 'a codec = 'a Codec.t` top-level
aliases for ergonomic pattern-matching and codec annotations.
- Move flat top-level re-exports (string/int/bool/decode_string/encode_*)
out — users reach them via `Sexp.Codec.X` or `Sexp.Value.X`. One less
surface to learn; every codec package can expose the same two submodules.

Toml:
- Move sibling sublibs into nested layout matching jsont:
`lib_bytesrw/ -> lib/bytesrw/`, `lib_eio/ -> lib/eio/`, etc.
- Drop the one-line `lib/codec.{ml,mli}` stub.

Downstream (monopam, merlint) updated to use `Sexp.Value.parse_string_many`
and `Sexp.Error` directly.

+2 -2
+1 -1
lib/dune_project.ml
··· 184 184 185 185 let parse content = 186 186 let content = preprocess_dune_strings content in 187 - match Sexp.parse_string_many content with 187 + match Sexp.Value.parse_string_many content with 188 188 | Error err -> err_parse (Sexp.Error.to_string err) 189 189 | Ok sexps -> ( 190 190 match string_field "name" sexps with
+1 -1
lib/lint.ml
··· 228 228 (* ---- Dune file scanning (for executable deps not in META) ---- *) 229 229 230 230 let parse_sexps content = 231 - match Sexp.parse_string_many content with Ok sexps -> sexps | Error _ -> [] 231 + match Sexp.Value.parse_string_many content with Ok sexps -> sexps | Error _ -> [] 232 232 233 233 let field name sexps = 234 234 List.find_map