https://bugzilla.redhat.com/show_bug.cgi?id=2458075
Bug ID: 2458075
Summary: Review Request: ocaml-yamlx - Pure OCaml YAML 1.2
parser with lossless comment-preserving AST
Product: Fedora
Version: rawhide
Hardware: All
OS: Linux
Status: NEW
Component: Package Review
Severity: medium
Priority: medium
Assignee: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
CC: [email protected]
Target Milestone: ---
Classification: Fedora
Spec URL: https://jjames.fedorapeople.org/ocaml-yamlx/ocaml-yamlx.spec
SRPM URL:
https://jjames.fedorapeople.org/ocaml-yamlx/ocaml-yamlx-0.1.0-1.fc45.src.rpm
Fedora Account System Username: jjames
Description: A pure-OCaml YAML 1.2 and 1.1 library with a lossless,
comment-preserving AST.
Features:
- Full YAML 1.2 compliance — passes all 371 tests from the yaml-test-suite.
- Pure OCaml — no C bindings, no external runtime dependencies.
- Lossless AST — the parsed node tree preserves scalar styles (plain,
'single-quoted', "double-quoted", | literal, > folded), flow vs. block
collection style, tags, anchors, and source positions.
- Best-effort comment preservation — standalone (head) comments before a node,
inline (line) comments after a value, and trailing (foot) comments after the
last item of a block collection are attached to the nearest node and
re-emitted by the printer.
- Pretty-printer — `Nodes.to_yaml` serializes a node list back to a YAML
string, preserving all of the above.
- Plain-YAML printer — `Nodes.to_plain_yaml_exn` produces a restricted subset
with no anchors, no aliases (expanded inline), no tags, no flow collections,
and no complex mapping keys — the fragment of YAML that most people
recognize on sight.
- Typed-value resolver — `Values.of_yaml` applies the YAML 1.2 JSON schema and
returns value list with `Null | Bool | Int | Float | String | Seq | Map`
constructors.
- Multi-document streams — both the node and value APIs handle streams
containing more than one ----separated document.
- Correct anchor scoping — anchors are document-local; an alias in document N
cannot refer to an anchor defined in document N−1.
- Structured errors — `Scan_error` and `Parse_error` carry a pos record with
line, column, and byte offset. `catch_errors` wraps any of these into a
`(_, string)` result with a human-readable message, optionally prefixed with
a file name.
- Command-line tool — the yamlx binary reads YAML from a file or stdin and
prints it in one of several formats.
This package is part of an update affecting many OCaml packages; see
https://copr.fedorainfracloud.org/coprs/jjames/OCaml/builds/ for package
builds.
I am willing to swap reviews.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2458075
Report this comment as SPAM:
https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202458075%23c0
--
_______________________________________________
package-review mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://forge.fedoraproject.org/infra/tickets/issues/new