The Stratego compiler is bootstrapped in three steps from a Java version of Stratego from 2014 as the base. However, currently that build uses the base in each step to compile. Therefore it doesn’t actually bootstrap. I think changes are need both in the Maven modules that encode the three steps and the Ant build that’s called to actually build Stratego.

To check that the build doesn’t bootstrap, you can do the following: (1) Add a with(fail) in the definition of the strj strategy. (2) Check that a single build indeed gives a broken strj. (3) Try the bootstrap build. If it really bootstraps it should fail at the second step, but instead it currently builds successfully. You can inspect the results of each step, each of those compilers will fail due to the with(fail).

Submitted by Jeff Smits on 7 April 2018 at 20:38

Log in to post comments