-
Notifications
You must be signed in to change notification settings - Fork 19
Add polynomials example #397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 52 commits
Commits
Show all changes
62 commits
Select commit
Hold shift + click to select a range
02c09a2
work but slow
saulshanabrook 8fd7bbc
Got working quickly! Added flat map and dummy value to infer things p…
saulshanabrook daec3ae
Add negative
saulshanabrook fbdaef7
Factoring working partially
saulshanabrook 1f1d803
Save failing commands and also desugar first
saulshanabrook cc8489d
Start adding simplification and delete not subsume
saulshanabrook fc1f276
simplify and add sympy example
saulshanabrook 1a1d250
switch line length to 88 for pretty printing
saulshanabrook c13a54f
Add reshape
saulshanabrook 8795aab
tmp
saulshanabrook c2112a4
tmp
saulshanabrook 529fbf4
tmp
saulshanabrook e391e1e
tmp
saulshanabrook a4f58a2
Fix type analysis
saulshanabrook c282b59
Try fixing type resolution again
saulshanabrook e21d7d4
tmp
saulshanabrook 8111388
fix abs
saulshanabrook 8ded220
Add sum
saulshanabrook a2f5123
abs
saulshanabrook b08088a
spelling
saulshanabrook 75f69ab
tmp
saulshanabrook de2f0a8
tmp
saulshanabrook 6b3aabc
tmp
saulshanabrook afe9c82
tmp
saulshanabrook 1aecccb
tmp
saulshanabrook 3aab22f
tmp
saulshanabrook cfc87e4
tmp
saulshanabrook 6afb528
simplify
saulshanabrook 338649a
tmp
saulshanabrook 06f2d82
before change
saulshanabrook a4fa855
tmp
saulshanabrook f38b185
fixes
saulshanabrook c089e16
Done?
saulshanabrook 5b5f2d2
Working
saulshanabrook 7f0edcc
sort of working
saulshanabrook 24499e7
working
saulshanabrook ef51539
Working!
saulshanabrook cb263b1
See if it is reproducable
saulshanabrook a1e9a71
Tweaks on my blog post
saulshanabrook 270a187
Update notebook
saulshanabrook 58ccda3
Change output to not use widget when just running as HTML
saulshanabrook 83e73c3
Add additional examples
saulshanabrook 3a9b8d9
Upgrade support to new egglog version
saulshanabrook f5d993b
Add freeze!
saulshanabrook c7711b5
Merge fix-lookup-value into polynomials
saulshanabrook 32c60c6
Fix notebook bug
saulshanabrook 658ed00
Fix let bindings and array api tests
saulshanabrook 67d15ba
Update containers blog post with PLSE blog post contents
saulshanabrook e2deb1f
Fix schedules
saulshanabrook b0daea4
Fix test failures
saulshanabrook 37c81e4
Fix all review comments
saulshanabrook d1a9f04
Add changelog and update docs
saulshanabrook 4e0dfb0
Respond to review notes and try to fix codspeed crash
saulshanabrook b95a3a2
Pin CodSpeed benchmark job to Python 3.12
saulshanabrook ee5ab91
Keep benchmark uv env on Python 3.12
saulshanabrook 81546cc
Cap CodSpeed walltime benchmark rounds
saulshanabrook 598e9e5
Add program tracing
saulshanabrook 19ed5d7
Fix tests
saulshanabrook dbc9ade
Try fixing bug to avoid second eval
saulshanabrook 237c57b
Update egglog lockfile
saulshanabrook 11185b7
bump egglog to preserve semi naive on some primitives
saulshanabrook 60eb9db
Update to newest version
saulshanabrook File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| # Repo Guidance | ||
|
|
||
| ## Overview | ||
|
|
||
| - This repo combines the high-level Python bindings in `python/egglog/`, the Rust extension in `src/`, and the Sphinx docs in `docs/`. | ||
| - Public Python APIs are exported from `python/egglog/__init__.py`. | ||
| - The compiled `python/egglog/bindings.cpython-*.so` artifact is generated and should not be edited directly. | ||
|
|
||
| ## Common Commands | ||
|
|
||
| - `uv sync --all-extras` installs the full dev environment. | ||
| - `uv sync --reinstall-package egglog --all-extras` rebuilds the Rust extension after changes in `src/`. | ||
| - `uv run pytest --benchmark-disable -q` runs the Python tests without benchmark calibration. | ||
| - `make mypy` runs the type checker. | ||
| - `make stubtest` checks the runtime against the type stubs. | ||
| - `make docs` builds the docs. | ||
|
|
||
| ## Docs | ||
|
|
||
| - Use the Context7 MCP server for egglog documentation instead of copying external doc summaries into this file. | ||
| - Keep general workflows in the how-to guides, and keep Python-specific runtime/reference examples in `docs/reference/python-integration.md`. | ||
| - If a PR adds or updates a changelog entry in `docs/changelog.md`, keep it aligned with the final code changes. | ||
| - For a clean docs rebuild, clear `docs/_build/`; the MyST-NB execution cache lives in `docs/_build/.jupyter_cache`. | ||
|
|
||
| ## Python bindings | ||
|
|
||
| - Prefer relative imports inside `python/egglog`. | ||
| - When changing public high-level APIs, update the public docs, stubs, and pretty/freeze round-trip expectations together. | ||
| - Higher-order callable type probing should stay isolated from the live ruleset: copy declarations and run with no current ruleset so inference does not register temporary unnamed functions or rewrites. | ||
|
|
||
| ## Array API | ||
|
|
||
| - Start with `python/egglog/exp/array_api.py` and `python/tests/test_array_api.py`. | ||
| - `Vec[...]` is a primitive sort; avoid rewrites or unions that merge distinct vec values. | ||
| - Guard vector indexing rewrites with explicit bounds checks. | ||
|
|
||
| ## CI | ||
|
|
||
| - When debugging GitHub Actions logs, prefer the private `$github-actions-rest-logs` skill or the equivalent REST API flow with `GITHUB_PAT_TOKEN`. | ||
|
|
||
| ## Verification | ||
|
|
||
| - Run `make mypy` for typing changes. | ||
| - Run targeted pytest for touched modules. | ||
| - Run `make docs` for docs or public API changes. | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.