Context
Issue #47's title demands "the richest features set" against all competitors.
The code-tooling survey (competitors-code-tooling.md)
identifies query/transform operators that competitors ship and meta-language
lacks. LinkQuery covers type/term/language/named/S-expressions/captures;
ReplacementRule/SubstitutionRule cover replace-and-substitute. See
requirements.md R-11 (extension) and
solution-plans.md S-12.
Scope
Operators to add over links (each with competitor provenance):
- Relational, composable rule algebra:
inside, has, precedes,
follows, all/any/not, named reusable sub-rules (ast-grep).
- Ellipsis (
...) gap matching and kind-constrained (typed) metavariables
(Semgrep, Coccinelle).
- Grammar-less fallback matching over plain-text token links for unwired
languages (Comby).
- Quasiquote replacement templates with placeholder safety and
parenthesization-conservative reprinting (Babel template, Recast).
- Traversal-strategy combinators:
topdown, bottomup, innermost,
fixpoint (Stratego, Rascal).
- A valid/invalid snapshot test harness for rules (ast-grep) so rule suites
are self-verifying.
Acceptance criteria
References
Filed from docs/case-studies/issue-47/proposed-issues/12-query-transform-algebra.md. Part of the implementation plan for #47.
Context
Issue #47's title demands "the richest features set" against all competitors.
The code-tooling survey (
competitors-code-tooling.md)identifies query/transform operators that competitors ship and meta-language
lacks.
LinkQuerycovers type/term/language/named/S-expressions/captures;ReplacementRule/SubstitutionRulecover replace-and-substitute. Seerequirements.mdR-11 (extension) andsolution-plans.mdS-12.Scope
Operators to add over links (each with competitor provenance):
inside,has,precedes,follows,all/any/not, named reusable sub-rules (ast-grep)....) gap matching and kind-constrained (typed) metavariables(Semgrep, Coccinelle).
languages (Comby).
parenthesization-conservative reprinting (Babel template, Recast).
topdown,bottomup,innermost,fixpoint(Stratego, Rascal).are self-verifying.
Acceptance criteria
from the competitor that motivated it.
new operators are reachable from text queries, not just builders.
bump: minor).References
requirements.mdR-11 (extension), issue titlesolution-plans.mdS-12issue-47-76af108c0f24(PR Finish issue #47 parity feature set #48).Filed from
docs/case-studies/issue-47/proposed-issues/12-query-transform-algebra.md. Part of the implementation plan for #47.