Actually, this metaphor has been used before. Check
http://www.defmacro.org/ramblings/lisp.html for an other version of
your story ;).

2010/9/8 alux <alu...@googlemail.com>:
> Hello,
>
> I still try to read my way through Paul Grahams "On Lisp", and always
> think how to motivate this stuff to my fellow Java people. How do I
> describe what it is all about in this "Code is Data", and "Macros let
> you grow your own language towards the problem" stuff?
> [Why? Well, maybe I read to much of Paul Grahams texts. So my current
> working hypothesis is that this is the one big strength of Lisp that
> other languages still dont have - so if I want to motivate people to
> learn a Lisp, I have to at least point to it.]
>
> Short answer: Difficult. ;-)
>
> Especially if I find formulations like
> "You can have the language which suits your program, even if it ends
> up looking quite different from Lisp."
>
> Longer Answer:
>
> What puzzles me most about this quoted formulation is the words
> "different from Lisp", as I know: All my Java collegues see
> Lisp=Parentheses. So, to them, PGs formulation is even misleading. To
> them it doesn't look quite different at the end.
>
> Thus I try to come up with a metaphor, and I want to discuss it here,
> in the hope I don't tell them rubbish at the end.
>
> I want to liken XML to Lisp data. Then, with XSLT, some XML structures
> are actually programs. Programs that work on XML data. The Lisp
> parentheses are just like the basic XML syntax - elements, tags,
> attributes. Obviousely Lisp has a much simpler syntax, but its trees
> anyway. So XSLT can be likened to Lisp macros then.
>
> And the use of it? Well, I currently want to talk to some people who
> use Maven a lot. So the example I came up with is:
> Think about when you had Ant, some years ago. Ant is just a
> programming language for Java builds.
> After a while you recognise that it'd be better to have something that
> describes the project declaratively, with opinionated defaults. Well,
> after some discussions you define something called pom.xml, that does
> this (congratulation, we just invented Maven). Immediately you see
> that all these Ant build scripts mentioned above could be generated
> from this Maven pom.xml. So you might write XSLT to do so (this of
> course deviates from historical truth). Some step later, you don't
> generate them anymore as files; the only needed file is the pom.xml,
> and the transformations of course.
>
> So XML and XSLT are data and code, and they can do something that is
> a) similar to what Lisp macros do, and
> b) this is something my collegues understand.
>
> Hopefully.
>
> So, coming back to Paul Grahams quote, what the beginners see is: It
> was XML and stays XML. The things "looking quite different" are, in
> this metaphor, the XML schema of the Maven pom.xml versus the XML
> scheme of the Ant files.
>
> I hope that they will understand the power; and agree they will never
> try and do this in XSLT. The Lisp syntax is just simple enough to be
> usable for such tasks.
>
> So, now you probably understand why I ask this question here, even if
> it is a general Lisp question. This may be the only group where people
> understand Lisp and Macros, XML/XSLT, and Ant, and Maven ;-)
>
> Now the question:
> Do you see any problems with this metaphor, is it misleading
> somewhere?
>
> Thank you, alux
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en



-- 
Linux-user #496644 (http://counter.li.org) - first touch of linux in 2004

Demandoj en aĆ­ pri Esperanto? Questions about Esperanto? Vragen over
Esperanto? Perguntas sobre o Esperanto? - http://demandoj.tk

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to