ellisk42 / ec

MIT License
457 stars 137 forks source link

How does EC^2 makes sure to not only extract subexpressions? #92

Open brando90 opened 2 years ago

brando90 commented 2 years ago

Hi!

I saw in the paper the following:

An important point here is that we are not simply adding subexpressions of programs to D, as done in the EC algorithm but instead: Instead, we are extracting fragments that unify with programs in the frontiers. I was wondering how the two are different. I am familar what unification (+implemented it once) is but I'm not sure I appreciate how using unification here is vs finding subexpressions. Unification finds solutions to "symbolic simultaneous equations" (sort of). But it does it symbolically not semantically. So I wasn't sure if it would actually do anything different than finding subexpressions.

If yes, I'm very curious to know how and why it's different.

Thanks for sharing your repo!