mrsc
mrsc copied to clipboard
A toolkit for building multi-result supercompilers
Whistle taking into account a number of generalizations. Close to #5 and #7.
Now variable are represented as names. The downside is that when we generate names for rebuildings memory is used a lot. A variable is one from the following: - Name...
This idea is two-sided. - Bread-first generation of graphs allows to implement URA in MRSC. - Interesting question: is supercompilation agnostic to which node is selected as an active one?
This should allow to handle any number of results similar to map-reduce.
The idea: to perform rebuilding when only exactly one sub-expression is extracted. Benefits: - It should reduce a number of duplicated results. - Let-expressions become more deterministic, so we can...
Nothing prevents us from generating graphs in parallel.
It should allow to transform `append(append(xs, ys), zs)` into `append(xs, append(ys, zs))`.
It is interesting to compare a number of results in these different settings.