1 - XSLT
Since the syntax is XML (like the extensions tags) and XPath
(vaguely
similar to template syntax, although it's XML
that calls XPath, the
opposite of what we have) It would be reasonably consistent with
current
syntax. It also should also already be fairly well locked down, and
the
interface seems fairly clear - present template parameters as
stylesheet
parameters, and other magic words as an input document. We may just
need
a few simplifications to make it easier to use.
XSLT itself is a way too much locked down - even simple things like
substrings manipulation and loops aren't so easy to perform. Well, maybe
I am too stupid for XSLT but from my experience bringing tag syntax in
programming language make the code poorly readable and bloated. I've
used XSLT for just one of my projects.
2- lisp/scheme
Should be easy to write a parser for if needed, since the grammer is
so
simple,
and it should be relatively simple to lock down or extend as needed.
Deeply nested braces of lisp remind me of current MediaWiki parser.
Of course, those are both a bit more esoteric than
your
recommendations.
Perl is nice for getting useful results from short
code, if we're not
bothered by one parser with no grammer specification calling another
one. Tcl may
be a reasonable compromise; a less esoteric, imperative language which
is often
used as an extension language.
Lua was highly valued here at computer lab, also Ocaml (not sure of
proper spelling).
Dmitriy