Welcome to the home of the Backstage Java (BSJ) project. BSJ is a Java language extension which demonstrates the utility of difference-based metaprogramming, a metaprogramming model in which metaprograms are treated as difference generators rather than program transformation functions. Difference-based metaprogramming lends itself to developing independent metaprogramming modules which are easy to reason about but are powerful enough to express complex object-oriented programming patterns.
For a brief and light tutorial on BSJ, please see the tutorial page.
You can download a pre-built copy of the BSJ compiler here.
The BSJ git repository is publicly available at
Questions or comments regarding BSJ are welcome! Please send your e-mail to firstname.lastname@example.org.