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

Reply via email to