There is a preprocessor which does design by contract for Java, iContract.
There is another preprocessor that does embedded SQL, SQLj
And that targets HTML pages, JSP.
And another for long lived processes, Scenario Beans.
Generics can be added this way.
And others ...
Is AspectJ another preprocessor?
There needs to be 'framework' to organize the implementation of language extensions.
- The ability to add new functions, done.
- The ability to add new types, done.
We need be be able to add other abstractions.