Skip to content

feat: support signed by iteration steps - #32

Merged
tiye merged 2 commits into
feat/program-fingerprintfrom
feat/signed-by-iteration
Aug 23, 2026
Merged

feat: support signed by iteration steps#32
tiye merged 2 commits into
feat/program-fingerprintfrom
feat/signed-by-iteration

Conversation

@tiye

@tiye tiye commented Aug 22, 2026

Copy link
Copy Markdown
Member

Summary

  • implement signed non-zero finite by steps for arrays and Unicode strings
  • preserve actual indices for reverse iteration and reject map by
  • add RFC 0100, tests, syntax/manual updates, and regenerated manuals

Validation

  • make check
  • make docs
  • git diff --check

Part of the RFC-driven PR chain; do not merge automatically.

Copilot AI lite review requested due to automatic review settings August 22, 2026 14:27

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 extends QuickCoffee’s for … by iteration semantics to support signed, non-zero finite integer steps for arrays and Unicode-scalar string iteration, aligning implementation, tests, RFCs, and regenerated manuals.

Changes:

  • VM: store by step as signed i64, start reverse iteration from the last element/scalar, and advance position safely without wraparound.
  • Tests: add coverage for negative by steps and “actual index” behavior in reverse iteration for arrays and strings.
  • Spec/docs: add RFC 0100 and update related RFCs, syntax docs, and executable manuals (plus regenerated HTML outputs).

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/rfc_core.rs Adds assertions for negative by steps over arrays and Unicode strings; updates test naming to reflect signed steps.
src/vm.rs Implements signed-step enumerable iteration and position advancement for arrays/strings.
RFCs/0100-signed-by-iteration.md New RFC defining signed by iteration contract and acceptance criteria.
RFCs/0095-string-iteration-by-step.md Updates string-step RFC text to allow non-zero signed steps and references RFC 0100.
RFCs/0070-string-iteration.md Updates core string iteration RFC to describe signed, non-zero step semantics.
RFCs/0029-stepped-array-iteration.md Updates stepped array iteration RFC to include negative steps and VM behavior notes.
RFCs/0001-language-core.md Updates language core description to reflect signed non-zero by for arrays/strings.
RFCs/0000-project-scope.md Extends implemented RFC range through RFC 0100.
README.md Updates RFC coverage link to RFC 0100 as the latest.
manuals/manual.zh-CN.qc Updates executable manual text to describe signed non-zero by steps.
manuals/manual.latin.qc Updates executable manual text to describe signed non-zero by steps.
manuals/manual.en.qc Updates executable manual text to describe signed non-zero by steps.
manuals/manual.devanagari-sa.qc Updates executable manual text to describe signed non-zero by steps.
manuals/manual.classical-zh.qc Updates executable manual text to describe signed non-zero by steps.
docs/syntax.zh-CN.md Updates syntax documentation for signed non-zero by iteration behavior.
docs/syntax.en.md Updates syntax documentation for signed non-zero by iteration behavior.
docs/manual.zh-CN.md Updates rendered manual markdown to describe signed non-zero by steps.
docs/manual.zh-CN.html Regenerated HTML manual reflecting updated signed-step docs.
docs/manual.latin.html Regenerated HTML manual reflecting updated signed-step docs.
docs/manual.en.md Updates rendered English manual markdown for signed-step iteration.
docs/manual.en.html Regenerated HTML manual reflecting updated signed-step docs.
docs/manual.devanagari.sa.md Updates rendered Devanagari manual markdown for signed-step iteration.
docs/manual.devanagari-sa.html Regenerated HTML manual reflecting updated signed-step docs.
docs/manual.classical-zh.md Updates rendered classical Chinese manual markdown for signed-step iteration.
docs/manual.classical-zh.html Regenerated HTML manual reflecting updated signed-step docs.

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

Comment thread src/vm.rs Outdated
@tiye
tiye force-pushed the feat/not-bang-alias branch from 32b02f0 to 39c7972 Compare August 22, 2026 18:41
@tiye
tiye force-pushed the feat/signed-by-iteration branch from b7f7e34 to 2b4eae7 Compare August 22, 2026 18:46
@tiye
tiye force-pushed the feat/not-bang-alias branch from 39c7972 to 0bca4ee Compare August 22, 2026 18:47
@tiye
tiye force-pushed the feat/signed-by-iteration branch from 2b4eae7 to 749366b Compare August 22, 2026 18:52
@tiye
tiye force-pushed the feat/not-bang-alias branch from 0bca4ee to c82f920 Compare August 23, 2026 04:32
Base automatically changed from feat/not-bang-alias to feat/program-fingerprint August 23, 2026 04:33
@tiye
tiye force-pushed the feat/signed-by-iteration branch from 726246c to b5544c7 Compare August 23, 2026 04:35
@tiye
tiye merged commit 6154be8 into feat/program-fingerprint Aug 23, 2026
2 checks passed
@tiye
tiye deleted the feat/signed-by-iteration branch August 23, 2026 04:36
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