Skip to content

It's born#1

Merged
ncode merged 10 commits into
mainfrom
juliano/development
May 10, 2026
Merged

It's born#1
ncode merged 10 commits into
mainfrom
juliano/development

Conversation

@ncode
Copy link
Copy Markdown
Owner

@ncode ncode commented May 10, 2026

Summary

Introduces the initial implementation of a pure-Zig YAML 1.2.2 library, followed by a series of performance improvements on the scanner, parser, and loader hot paths.

  • Library bring-up (63fca09 it's born): full scanner / parser / composer / loader / emitter, typed-value API, structured diagnostics with byte offset + 1-based line/column, configurable schemas (failsafe / JSON / core), duplicate-key and unknown-tag policies, and safety limits across the pipeline. Vendors yaml/yaml-test-suite pinned at data-2022-01-17 and wires it into the build with zero skips enforced.
  • Performance work (commits 19febaf151bb06):
    • 19febaf / 1063458 – initial load-path improvements
    • 7918403 – parser flow hot-path optimizations
    • b1dde13 – fuse parser limit checks into a single guard
    • ad53127 – parser & loader hot-path optimizations
    • 151bb06 – follow-up perf wins after profiling
  • Docs (10b1024, e1e3d37): README updates covering status, install, quick-start, schema/limit configuration, and conformance reporting.

Requires Zig 0.16.0+ (enforced at build time).

Notable properties

  • Caller-allocated, leak-free; every owning type has deinit and allocation failure is propagated.
  • Memory-safe on malformed input: no panics, no unreachable, no UB — limits return error.Unsupported with a diagnostic.
  • Build refuses to accept new entries in tests/conformance/skips.zig against the pinned suite.

@ncode ncode force-pushed the juliano/development branch from 2c9d6c4 to 2d43944 Compare May 10, 2026 22:18
@ncode ncode merged commit e1ece3a into main May 10, 2026
1 check failed
@ncode ncode deleted the juliano/development branch May 10, 2026 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant