Skip to content

builtins: add rdjl JSONL reader#202

Merged
danieljohnmorris merged 1 commit into
mainfrom
fix/jpar-stream
May 12, 2026
Merged

builtins: add rdjl JSONL reader#202
danieljohnmorris merged 1 commit into
mainfrom
fix/jpar-stream

Conversation

@danieljohnmorris
Copy link
Copy Markdown
Collaborator

JSONL is the dominant log/event format. rd 'file.jsonl' fails because the contents are not a single JSON value.

Implementation:

  • rdjl reads line-by-line, returns list of parsed values
  • skips blank lines
  • errors with line number on malformed JSON
  • opcode allocated: rdjl

Tests: cross-engine regression tests + examples/jpar-stream.ilo with -- run: directives.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 12, 2026

Codecov Report

❌ Patch coverage is 73.68421% with 30 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/verify.rs 55.00% 9 Missing ⚠️
src/interpreter/mod.rs 65.21% 8 Missing ⚠️
src/vm/compile_cranelift.rs 22.22% 7 Missing ⚠️
src/vm/mod.rs 88.00% 6 Missing ⚠️

📢 Thoughts on this report? Let us know!

@danieljohnmorris danieljohnmorris force-pushed the fix/jpar-stream branch 3 times, most recently from 33985d4 to 9c2df4b Compare May 12, 2026 23:17
JSONL (one JSON value per line) is the dominant log/event format
and the canonical streaming-friendly shape. rd 'file.jsonl' would
fail to parse because the contents are not a single JSON value.
rdjl reads line-by-line and returns a list of parsed values.

Opcode allocated: rdjl. Skips blank lines, errors with line number
on malformed JSON.
@danieljohnmorris danieljohnmorris merged commit 6e3f5fe into main May 12, 2026
4 checks passed
@danieljohnmorris danieljohnmorris deleted the fix/jpar-stream branch May 12, 2026 23:27
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