8000 docs(spec): set values and set-membership predicates (#316) by adityamukho · Pull Request #732 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

docs(spec): set values and set-membership predicates (#316) - #732

Merged
adityamukho merged 2 commits into
v3from
design/316-set-values
Oct 24, 2026
Merged

adityamukho merged 2 commits into
v3from
design/316-set-values

Conversation

@adityamukho
8000 Copy link
Copy Markdown
Collaborator

Design spec for #316: Value::Set (#{...}), the in? / not-in? / any-in? / all-in? / none-in? predicates, and collect-set.

Spec: docs/superpowers/specs/2026-10-24-set-values-design.md

Decisions settled with the maintainer (§1):

  1. v8 key tag 0x08 after Ref; inline element encoding up to 64 B, spilled to a value page with the long-string scheme above that.
  2. Element equality is Value's total order (-0.0 = 0.0, one NaN, keyword ≠ ref); -0.0 kept.
  3. Value::Set(ValueSet) newtype that cannot nest; Value becomes #[non_exhaustive]; prepared queries use BindValue::Val.
  4. collect-set is the [?e :a ?v] pattern per row, #{} when empty, allowed wherever an expression clause is.

Delivery: 3 PRs into v3 (values, predicates, collect-set), then the docs site and one PR per binding. Error codes PRS-119–122, QRY-014, API-021 are tentative (next free at PR time; #306 holds PRS-115–118).

Refs #316

🤖 Generated with Claude Code

https://claude.ai/code/session_01TcpoiFyFeQQQELL872LfQF

adityamukho and others added 2 commits October 24, 2026 09:34
…sizes, serde

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TcpoiFyFeQQQELL872LfQF
@adityamukho
adityamukho merged commit 3f4a591 into v3 Oct 24, 2026
18 checks passed
@adityamukho
adityamukho deleted the design/316-set-values branch October 24, 2026 04:07
@codecov
codecov Bot commented Oct 24, 2026
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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

0