Sun, 16 Apr 2006 20:19:50 +0100

“Design” is a very strong word. From time to time when writing Lisp (rare enough in itself, I know) I factor out stuff that seems like the nucleus of a good idea and potentially even reusable code – sexql is one example you might have come across, and dbs is another that you (I hope) won’t – because it doesn’t exist anywhere other than my laptop and in a few backup locations. (Unless you’re the swine that stole my last laptop, anyway)

I’m never quite sure what to do about release-engineering for this kind of stuff. It’s not finished enough that I feel good about reserving part of the global CL namespace to refer to it (especially on days when I’m not feeling imaginative and so give it a really generic name), but it’s often still potentially useful to other people and just sitting on it – or posting it to an unindexed “transient” forum like small-cl-src – seems also suboptimal.

With that in mind, here’s an announcement of the first available version of Text-Template: a poor rip-off of Mark Jason Dominus’ Text::Template Perl module, for Lisp.

Example

Suppose a file test-template with the following contents:

here is some text
#<(side-effect) (* 2 3)>#
and some more text #<t># here

we do

TEXT-TEMPLATE> (with-open-file (i “test-template”) 
                    (make-instance ’text-template :stream i))
#<TEXT-TEMPLATE {9A54AA1}>

TEXT-TEMPLATE> (fill-in * standard-output) here is some text 6 and some more text T here NIL

For more information, see http://www.cliki.net/text-template

I lied, as it turns out

Mon, 17 Apr 2006 01:54:43 +0100

I lied, as it turns out. On closer inspection, there’s been a darcs repo for dbs on verisons.telent.net for most of a year. Now updated with my latest bout of hacking – the principal change is that get-row now {needs,accepts} only one argument.

See the README for more.

This stuff is not guaranteed useful, or even suggested useful. I like it, you are at liberty to like it or not. Even if you do, you may not like what it develops into, or the cavalier attitude I propose to take towards backward compatibility when I see things that I think could be improved in the course of that development.

(While I’m here: who has sexql patches that I don’t? Please send them (or put links to them or to your darcs tree or something on cliki))

I lied, as it turns out