rewrite rules
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 389
- PR merge metrics
- No merged PRs in 30d
Description
It is often useful to think of some expressions in terms of other expressions. [dask](http://dask.pydata.org/en/latest/optimize.html?#rewrite-rules) already has an API for expressing a rule set for rewriting some expressions in terms of others so we should look into making them blaze support this too.
Some use cases that we have identified (not complete)
- lean projections (move selection of columns up as early as possible to)
- backend specific optimizations (`a + a + ... a -> a * n`)
- reduce code per backend by implementing exprs in terms of more primitive expressions (head / tail in terms of slice)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked Dask rewrite-rules API and compare its approach with Blaze's expression and backend concepts. Use the listed projection, backend-specific optimization, and primitive-expression use cases to define the scope. Done means an agreed rewrite-rule design that supports these cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100