Subject: Re: cl-pdf meets cells?
From: Erik Naggum <erik@naggum.net>
Date: Mon, 11 Mar 2002 17:50:18 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3224857827428438@naggum.net>

* Kenny Tilton
| So we have:
| 
|    (normal nl (b "Q: ") "Why not use lisp and get a parser for free?"
|           (nl 2) (b "A: ") (i "You mean like " (ul "this") "?!")) " :)")
| 
| instead of:
| 
| "<b>Q: </b> Why not use lisp and get a parser for free?
| 
| <b>A: </b> <i> You mean like <ul>this</ul>?!"</i> :)"
| 
| ?

  You asked for an alterntive some time ago, but I have yet to finish the
  "schema" part of my proposal (it is so _unnecessary_), but I would write

<macro <q data>
  <inline <nl> <b Q:\ > <use data> <nl>>>
<macro <a data>
  <inline <nl> <b A:\ > <use data> <nl>>>

<q Why not use Lisp and get a parser for free?>
<a You mean like <ul this>?!>

  Today, anyway, it might be different tomorrow.  The \ before the blank is
  necessary because only intraword whitespace is retained, all whitespace
  between < and the operator and the operator and the first payload datum
  and the last payload datum and > are ignored as syntax (markup).

| The system includes stylesheets, so:
| 
| (style warning :fg red :bg yellow)
| 
| then later:
| 
| (warning "Red on yellow?! Yechh")
| 
| where any unrecognized directive is a style...or do we get into macros?:
| 
| (macro (warning msg) `(bg yellow (fg red ,msg)))
| 
| ?

  FWIW, I think this last example is an indicatation why some people
  believe in attributes.  I do not, so I would write

<macro <warning data>
  <inline <color <bg yellow> <fg red> <use data>>>>

  Whatever.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.