Subject: Re: Embedding Lisp in arbitrary text files (or: "Lisp server pages")
From: (Rob Warnock)
Date: Tue, 13 Jan 2009 03:18:28 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Tim Bradshaw  <> wrote:
| (Rob Warnock) wrote:
| > Possibly the simplest version is the one I first heard
| > of from Erik Naggum, who called it Enamel or NML, which was later
| > refined by Tim Bradshaw into TML (Trivial Markup Language) ...
| > details than I mention below:
| I don't remember TML having any direct line of ancestry to NML, though
| I am sure I saw articles by Erik about NML and probably nicked ideas.

I didn't mean that the ancestry was direct, only that Erik had been
talking about the defects in where SGML/HTML/XML ended up for what
seemed like "forever" (though the earliest bits I have saved are
from mid-1998), and then in August 2001 he presented Enamel/NML
(in response to a comment by *you* about using HTOUT format to
write documents instead of XML), and then you presented TML in
December 2001 ["PROGN for *ML?", about the problems of "tocify"].
From my outside perspective, the similarity was that both of you
had chosen to use "|" as the <tag|contents> separator, and that
TML looked more refined (has progressed further) than what Erik
had done, that's all. Sorry if I implied anything more.

| > ...and then DTML ("TML with macros", sayeth Tim).
| DTML was Dynamic TML.

Yes, I knew that, but in this article, you said:

    From: (Tim Bradshaw)
    Newsgroups: comp.lang.lisp
    Subject: Re: Be afraid of XML
    Date: 15 Mar 2004 12:04:40 -0800
    Message-ID: <>
    ... (Rob Warnock) wrote:
    > Google in the c.l.l. archives for "TML", a format Tim Bradshaw
    > uses that was inspired by some postings by Erik Naggum. In TML,
    > the above would be: 
    >     <operator|Ten pages of text>

    For what it's worth, we've now used TML (in its incarnation as DTML,
    which is TML with a macro system) for pretty substantial documents ...

I think that's where I must have gotten the idea that the
"dynamic" part was mainly the macros.

| There are some more hacks, notably a special case syntax which looks
| like <|x ... x|> where x is any character: typically this was used for
| literal sections which the TML parser ignored, using |: <||html-stuff-
| here-gets-passed-through||>, but in fact you could register completely
| general handlers for characters this allowing embedding of completely
| general things.

Neat! Thanks for the additional details.


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607