[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XML as a transition to s-expr

Viaweb had a scripting language (so we called it 
anyway) called RTML that we used to describe all
the pages.  It looked basically like this, except
that you could interleave arbitrary Lisp code.
(Not sure whether Scott meant this example to.)

The interesting thing was, we offered RTML to 
users (who were far from programmers).  We used a
structure editor, so we didn't display the 
parentheses, but behind the scenes the program
was manipulating s-expressions which it later
fed to compile.


(Don't be dismayed by the wordy syntax; these 
operators were picked off menus, not typed.)

Users loved RTML.  That was what taught me for sure
(as the Dylan guys hypothesized, and the Python and Ruby 
guys proved) that the only thing standing between Lisp 
and even the most novice programmers was the parentheses.

Alas I don't think you want to actually toss the
s-expression baby out with the bath water, or you
substantially weaken the language.  (We couldn't
have *implemented* RTML without them for example.)


--- Tony Kimball <alk@pobox.com> wrote:
> Quoth Scott McKay on Monday, 17 December:
> : Common Lisp already has a syntax for named parameters.  Lisp hacks
> : like this for generating HTML are common.
> : 
> : (table (:cellpadding "0" :cellspacing "0")
> :    (tr ()
> :      (td (:width "50%")
> :        "Cell one")
> :      (td (:width "50%")
> :        "Cell two")))
> Interesting.  I think of s-expr's as eval'able entities,
> but you think of them as read'able entities.  I'm guessing
> that your take is more representative of the typical use
> of the term.  I was loathe to introduce syntax that screams
> 'macro', like this does.

Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com