SC Mini is a "minimal" positive supercompiler
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
Data.hs
DataIO.hs
DataUtil.hs
Deforester.hs
Demonstration.hs
Driving.hs
Folding.hs
Generator.hs
Interpreter.hs
Prototype.hs
Supercompiler.hs
TreeInterpreter.hs
readme

readme

This is the minimal supercompiler.
The goal is to stress the main features of supercompilation for a working functional programmer.
Its design is an attempt to illustrate the following formula:

    Supercompiler = Driving + Positive info propagation + Folding + Simplification + Generalization

However, it turns out to be not so easy task. So here we illustrate this formula step by step:

1) Prototype = Driving + Generalization + Folding
2) Deforester = Prototype + Simplification of graph of configurations
3) Supercompiler = Deforester + Positive Information Propagation

In order to catch the idea of this supercompiler, just look into the following modules into the following order:

1) Prototype
2) Deforester
3) Supercompiler