Skip to content

Conversation

@saulshanabrook
Copy link
Member

@saulshanabrook saulshanabrook commented Jan 6, 2026

WIP to add new multiset primitives. Used in egraphs-good/egglog-python#397 to try avoiding AC blowup using multisets as polynomials.

Also supports automatically registering unstable function primitives when other sorts are created. Now we can do this:

(sort Math)
(sort Maths (MultiSet Math))
(sort MathToMath (UnstableFn (Math) Math))

Instead of:

(sort Math)
(sort MathToMath (UnstableFn (Math) Math))
(sort Maths (MultiSet Math))

and the unstable-multiset-map primitive will still exist.

This is needed for some of the new primitives, to avoid cyclic sort ordering requirements.

@saulshanabrook saulshanabrook added the status:needs decision Needs feedback from a project meeting to know whether to move forward label Jan 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:needs decision Needs feedback from a project meeting to know whether to move forward

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant