Skip to content

feat: add stable ValueKind inspection - #25

Merged
tiye merged 2 commits into
docs/public-api-docsfrom
feat/value-kind-api
Aug 23, 2026
Merged

feat: add stable ValueKind inspection#25
tiye merged 2 commits into
docs/public-api-docsfrom
feat/value-kind-api

Conversation

@tiye

@tiye tiye commented Aug 22, 2026

Copy link
Copy Markdown
Member

Summary

  • add RFC 0093 for stable host-side value type tags
  • expose ValueKind and Value::kind() plus Value::is_nil()
  • extend external embedding tests and five-language manuals

Validation

  • make check
  • strict make api-doc via the check target
  • make docs

Hosts can branch on value types without inspecting internal Rc/container representations; runtime and bytecode semantics are unchanged.

Copilot AI lite review requested due to automatic review settings August 22, 2026 13:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a stable, host-facing type-tag API (ValueKind, Value::kind(), and Value::is_nil()) so embedders can branch on QuickCoffee value types without relying on internal Rc/container representations, while keeping runtime and bytecode semantics unchanged.

Changes:

  • Add ValueKind plus Value::kind() / Value::is_nil() to the public embedding surface and re-export them from the crate root.
  • Extend the embedding API tests to use the new type-tag inspection.
  • Document the new inspection APIs via RFC 0093 and propagate the embedding guidance across manuals and generated docs.

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/embedding_api.rs Adds assertions for Value::kind() / Value::is_nil() in the public embedding tests.
src/vm.rs Defines ValueKind and implements Value::kind() / Value::is_nil() on Value.
src/lib.rs Re-exports ValueKind from the crate root for embedders.
RFCs/0093-value-kind-inspection.md Introduces and records the stable value-kind inspection contract (RFC 0093).
README.md Updates the RFC range to include RFC 0093.
manuals/manual.zh-CN.qc Mentions Value::kind() / Value::is_nil() in the embedding notes.
manuals/manual.latin.qc Mentions Value::kind() / Value::is_nil() in the embedding notes.
manuals/manual.en.qc Mentions Value::kind() / Value::is_nil() in the embedding notes.
manuals/manual.devanagari-sa.qc Mentions Value::kind() / Value::is_nil() in the embedding notes.
manuals/manual.classical-zh.qc Mentions Value::kind() / Value::is_nil() in the embedding notes.
docs/manual.zh-CN.md Updates generated manual content to reference stable type checks.
docs/manual.zh-CN.html Updates generated manual content to reference stable type checks.
docs/manual.latin.md Updates generated manual content to reference stable type checks.
docs/manual.latin.html Updates generated manual content to reference stable type checks.
docs/manual.en.md Updates generated manual content to reference stable type checks.
docs/manual.en.html Updates generated manual content to reference stable type checks.
docs/manual.devanagari.sa.md Updates generated manual content to reference stable type checks.
docs/manual.devanagari-sa.html Updates generated manual content to reference stable type checks.
docs/manual.classical-zh.md Updates generated manual content to reference stable type checks.
docs/manual.classical-zh.html Updates generated manual content to reference stable type checks.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/manual.devanagari.sa.md Outdated
Comment thread tests/embedding_api.rs
@tiye
tiye force-pushed the docs/public-api-docs branch from f0eec00 to c61caa9 Compare August 22, 2026 18:39
@tiye
tiye force-pushed the feat/value-kind-api branch from 398bf8d to 9a35143 Compare August 22, 2026 18:40
@tiye
tiye merged commit 3fa5a8b into docs/public-api-docs Aug 23, 2026
2 checks passed
@tiye
tiye deleted the feat/value-kind-api branch August 23, 2026 04:11
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.

2 participants