Skip to content

Polymorphic macros seem to run all implementations #278

Description

@markATavail

We're still working on a tiny test case to exhibit the problem (and which will be added as a regression test), but Todd's work with semantic version on 2023-08-23 indicated strongly that multiple macro implementations ran. The method was an override of "«…‡,»::=_;" for exactly 3 local constants, which would have caused an early divergence in the parsing instruction tree, making it unclear whether we even have invented a mechanism that can converge them again to prevent multiple macro implementations from running.
The proximal solution involved making the locals list in the override have size [2..∞), like the core implementation, and post-filtering it with a parse rejection if it didn't happen to be 3. That success seems to implicate the divergence of bundle trees due to parsing instruction variation in the plans generated for the implementations.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions