Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(ir): unify
ibis.common.pattern
builders and `ibis.expr.def…
…erred` The unified implementation now lives in `ibis.expr.deferred` and is used by `ibis.common.patterns` to construct replacement patterns and by `ibis.expr` to construct deferred expressions. The new implementation is more flexible and allows for more complex patterns to be constructed. Also supports more placeholder variables in a single deferred expression. Supplemental but related changes: - disallow type coercions in `pattern()` factory function by default, this prevents unintentional value coercions during pattern matching - propagate rewritten children when matching on parent nodes, allowing to replace dependent nodes in a single pass - push context variables as keyword arguments to factory functions
- Loading branch information