If anyone saw odd behaviour just now in the demo,
that was my fault. One of the codemod rules was leaking into the shared rule
registry instead of being scoped to the current user. I have isolated that and it should be fixed.
The core engine was not affected. The issue was simply that a user taught rule
was visible to other demo modes, which made it fire that
rule everywhere.
If anyone notices anything else strange, let me know. It should behave normally
now.
Interesting. Are there more examples somewhere? I'm curious about cases where multiple examples are required. The associativity "example" corresponds directly to the rewrite rule definition, so it doesn't really illuminate the distinction between specifying a rewrite rule and inferring a rule from multiple examples.
Right, associativity is the simplest case because the structure is visible
directly in one example.
The system needs multiple examples when there is more than one varying part
and a single example is ambiguous. A simple example is wrapping a function
call. With:
If anyone saw odd behaviour just now in the demo, that was my fault. One of the codemod rules was leaking into the shared rule registry instead of being scoped to the current user. I have isolated that and it should be fixed.
The core engine was not affected. The issue was simply that a user taught rule was visible to other demo modes, which made it fire that rule everywhere.
If anyone notices anything else strange, let me know. It should behave normally now.
Interesting. Are there more examples somewhere? I'm curious about cases where multiple examples are required. The associativity "example" corresponds directly to the rewrite rule definition, so it doesn't really illuminate the distinction between specifying a rewrite rule and inferring a rule from multiple examples.
Right, associativity is the simplest case because the structure is visible directly in one example.
The system needs multiple examples when there is more than one varying part and a single example is ambiguous. A simple example is wrapping a function call. With:
the system learns that: the function name varies the argument varies he outer log(…) is constantFrom that it infers the general rule and applies it to new inputs. A single example would not be enough to disambiguate that pattern.