CL-WHO genesis

May 28, 2019 by Lucian Mogosanu

This post is part of a series on Common Lisp WWWism. If you're here, then you've hopefully read prior writings on the matter and understood their larger context.

I am publishing here a signed V patch of CL-WHO:

  • The patch; and
  • my seal, signing my responsibility as far as the understanding of the item in question goes.

As for CL-WHO itself: as far as its heathen origins are concerned, they can be traced to Edi Weitz, its name standing for "Common Lisp: With HTML Output". At its core the item comprises a couple or so CL macros that, given a XML/HTML template expression, evaluate said expression and serialize the result to e.g. a file. This so-called "template expression" is in fact a program written in a domain-specific language which, for our convenience, intermingles (in S-expressions) the nodes of HTML trees and e.g. control structures. The mix of HTML scaffolding, loops and input data then allows the user to automatically generate structured web page content such as blog posts, RSS files and so on and so forth.

I shan't enter into details here, as CL-WHO is entirely self-contained -- the code, documentation and examples are all there, waiting for you to study them. Moreover, further examples will be provided at some point in the future, in the form of CL-WHO templates that are used since about 2016 by yours truly to generate this here Tar Pit.

Filed under: lisp.
RSS 2.0 feed. Comment. Send trackback.

One Response to “CL-WHO genesis”

  1. [...] now, but I believe this ad-hoc "context variable substitution" to be a terrible idea. I genesized cl-who for precisely this type of thing and I'm not going to have it replaced by some half-assed [...]

Leave a Reply