Prism attempts to solve this problem. Each mini-language, by itself, will be very simple and narrowly focused. But since the languages will interoperate, Prism will be very powerful overall. I expect the power of Prism to increase combinatorially as the diversity of mini-languages increases. For More Information Prism Metaprogramming Tool is a working alpha version of Prism.
Source code is included.
Prism mailing list discusses Prism development. A subscription form is also available online . Prism Specification goes into all of the nitty-gritty details. There's no other documents that describe the details of Prism, so if you want to use the Prism tool, you'll eventually have to read this document. To use the Prism tool, you have to be able to write metaprograms.