blaze / blaze/blaze

rewrite rules

Open
#1,222 6 comments 0 reactions 0 assignees View on GitHub
api design enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.