Skip to content

Is egg a good foundation for a language based on term rewriting? #112

Answered by mwillsey
ul asked this question in Q&A
Discussion options

You must be logged in to vote

(converted from issue #111 to discussion #112)

I think it is, in theory. Some other issues have brought up a similar question (#84). However, there are currently practicalities that make it difficult to pull this off without exploding the size of the e-graph. The most important issue is that the e-graph doesn't have any native support for binding. So you if you want to support a lambda calculus-like language, you have to resort to trickery like explicit substitution to support it. Right now, I think the performance cost of doing that is prohibitive to supporting "real" programming languages.

Note that egg is doing something more complicated that directed term rewriting. It's rewriting (po…

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
@Kesanov
Comment options

@mwillsey
Comment options

@Kesanov
Comment options

@mwillsey
Comment options

Answer selected by ul
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants
Converted from issue

This discussion was converted from issue #111 on July 29, 2021 18:03.