Skip to content

Add fixed binding environment - #68

Closed
MesTTo wants to merge 2 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-binding-env
Closed

Add fixed binding environment#68
MesTTo wants to merge 2 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-binding-env

Conversation

@MesTTo

@MesTTo MesTTo commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Stack dependency: review after #66. This branch is based on the prerequisite head. Until the prerequisite PRs merge, GitHub may include their commits in the aggregate diff; the intended review increment is the new commit at this branch tip.

Adds a fixed 64-slot binding environment on top of the term identity sidecar.

The branch provides BindingEnv, Binding, snapshots, marks, scoped rollback, and slot iteration for MORK's six-bit variable domain. Slots are tracked with a bitmask and rollback trail so repeated variables can be checked without heap maps. The environment stores TermId and optional FactId, so this branch is stacked on the term identity sidecar branch.

Validation:

  • cargo +nightly-2026-06-01 test -p mork --test binding_env with RUSTFLAGS='-C target-cpu=native'
  • cargo +nightly-2026-06-01 test -p mork --lib with RUSTFLAGS='-C target-cpu=native'
  • rustfmt --check on kernel/src/binding_env.rs and kernel/tests/binding_env.rs
  • jscpd on kernel/src/binding_env.rs and kernel/tests/binding_env.rs
  • git diff --check
  • normal diffstat matched git diff -w --stat, so the branch is not inflated by whitespace formatting

@MesTTo

MesTTo commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Closing: part of the un-wired binding_space sidecar line that reimplements the kernel's ProductZipper join (relational matcher / arrangements / trie-join / expression-trie) over a reinvented term_identity::TermId(u64), instead of reusing Expr and PathMap. The kernel core (space.rs/main.rs/sinks.rs/sources.rs/pure.rs) references none of these modules, so nothing is wired to the MeTTa surface. This is the 'reimplements rather than reuses / un-wired feature island' concern. Parking the line; if a specific piece is wanted (e.g. a new PathMap zipper type with property tests against existing ops), it can be reopened as a small standalone PR on PathMap primitives.

@MesTTo MesTTo closed this Jul 3, 2026
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