BRL - the Beautiful Report Language,
KRL - Kawa Report Language

The Beautiful Report Language or BRL is a template processor that allows Kawa Scheme expressions to be expanded inside a template, most commonly an HTML page. It works as a servlet, and takes advantage of Kawa's integration with the Java VM. It has good database support.

An interesting quirk of BRL is that not only can one embed Scheme code in HTML or other literal text, e.g. [(+ 3 4)], but one can also quote literal text using "reverse square brackets" in Scheme code, e.g. [(define var ] some literal text [)] This is especially useful in pages that dynamically construct e-mail messages or SQL queries.

There are two implementations of BRL: The original implementation by Bruce Lewis is the primary one, but there is also an experimental re-implementation of the BRL "engine" included in the Kawa sources. The latter takes better advantage of recent Kawa improvements for supporting multiple programming languages; the two versions will probably be merged in the near future.

The Kawa Report Language or KRL is a mostly-but-not-quite compatible dialect of BRL. The most interesting difference is how KRL makes use of multiple values. Normally in Scheme (and in BRL), if a function body contains multiple expressions, all but the last are discarded. In KRL the values from each expression are appended to form multiple values. Also, expressions can return nodes rather than just string representation of nodes. The result is like a hybrid of XQuery and Scheme.

Also see the BRL home page and the Kawa home page which includes the KRL page