Skip to content

Add relational pattern matcher - #70

Closed
MesTTo wants to merge 4 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-pattern-relations
Closed

Add relational pattern matcher#70
MesTTo wants to merge 4 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-pattern-relations

Conversation

@MesTTo

@MesTTo MesTTo commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Stack dependency: review after #69. 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 relationalized pattern lowering and exact sidecar matching over canonical term identities.

The branch lowers encoded patterns into App_n(parent, children...) atoms, tracks user-visible variable slots, and matches complete fact roots by TermId equality. It compares the sidecar matcher against the existing product-query path for a repeated-variable pattern. This branch is stacked on the term-identity pattern helper branch.

Validation:

  • cargo +nightly-2026-06-01 test -p mork --lib pattern_relations 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/pattern_relations.rs
  • jscpd on kernel/src/pattern_relations.rs
  • git diff --check
  • normal diffstat matched git diff -w --stat

@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