Inactive.
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 git://pl.cs.jhu.edu/bsj
.
The OOPSLA 2011 conference paper which introduced BSJ and difference-based metaprogramming can be found here. The slides from the talk are here.
Questions or comments regarding BSJ are welcome! Please send your e-mail to bsj@jhu.edu.