Skip to content

Conversation

@MilkBlock
Copy link

as title

@MilkBlock MilkBlock marked this pull request as draft October 23, 2025 06:02
@jafioti
Copy link
Collaborator

jafioti commented Oct 24, 2025

awesome! is there a reason we need an "Unknown" variant for the base types?

@MilkBlock
Copy link
Author

MilkBlock commented Oct 24, 2025

is there a reason we need an "Unknown" variant for the base types?

This will be removed in next several versions. Current implementation depends on Default trait and this can be avoided by additional coding but not my first priority.

I'm currently thinking about how to describe tensor core pattern by generic type like

add_rule(
||{
    LoopOutPat<LoopInPat<XXX>,XXX>::new(xxx)
},
|ctx,pat|{
   LoopOutPat<LoopInPat<XXX>,XXX>:::action(ctx,pat)
}

which is more engineering readable.

@jafioti
Copy link
Collaborator

jafioti commented Nov 2, 2025

@MilkBlock is the goal behind eggplant to primarily be a egglog rust api, or do you want it to do other things? I'd like to use it as a part of luminal if I can keep the main dependency on egglog and eggplant is just a rust frontend.

@MilkBlock
Copy link
Author

MilkBlock commented Nov 2, 2025

Yeah I can ensure that eggplant will only support egglog backend. And basing on egglog backend eggplant provides different egraph variants as plugins, which are implemented by hook mechanism provided by macro like #[dsl], you can import any of them like changing the dsl to slotted_dsl. The vanilla egraph (without any plugin or we call pure egglog frontend) is quite stable now, I'm not going to do something different from egglog backend on that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants