From: Christian Lynbech
Subject: When programs can be data and vice versa
Date: 
Message-ID: <ofr83exh6n.fsf@situla.ted.dk.eu.ericsson.se>
Ah, the joys of seeing the rest of the world trying to catch up with
lisp.

According to this article:

        http://www.theregister.co.uk/content/4/32452.html

people are now working with XML machines. The maginificent advantage
of this is that programs and data share a common representation.

This isn't in itself new news. The concept of metaprogramming (being
to write programs that manipulate other programs) has (at least been)
a viable research topic.

Of course lisp has had this since the dawn of high level programming.

There are probably a business oppotunity in there. Take a lisp
compiler, define an obfuscating XML representation of lisp, write a
trivial parser back into lisp, throw in a couple of sample java
programs that demonstrates how to manipulate the XML represented
programs and market it as the future of programming while proclaiming
the underlying "XML compiler" to be a dark secret of
multi-centi-man-year effort.

For added fun, see the crowd go wild as version 2 includes the XML
"loop" form with out-of-this-world unsurpassed power.


------------------------+-----------------------------------------------------
Christian Lynbech       | christian ··@ defun #\. dk
------------------------+-----------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
                                        - ·······@hal.com (Michael A. Petonic)

From: Marco Antoniotti
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <3F4625DA.2010609@cs.nyu.edu>
Christian Lynbech wrote:
> Ah, the joys of seeing the rest of the world trying to catch up with
> lisp.
> 
> According to this article:
> 
>         http://www.theregister.co.uk/content/4/32452.html
> 
> people are now working with XML machines. The maginificent advantage
> of this is that programs and data share a common representation.
> 
> This isn't in itself new news. The concept of metaprogramming (being
> to write programs that manipulate other programs) has (at least been)
> a viable research topic.
> 
> Of course lisp has had this since the dawn of high level programming.
> 
> There are probably a business oppotunity in there. Take a lisp
> compiler, define an obfuscating XML representation of lisp, write a
> trivial parser back into lisp, throw in a couple of sample java
> programs that demonstrates how to manipulate the XML represented
> programs and market it as the future of programming while proclaiming
> the underlying "XML compiler" to be a dark secret of
> multi-centi-man-year effort.
> 
> For added fun, see the crowd go wild as version 2 includes the XML
> "loop" form with out-of-this-world unsurpassed power.

Ok.  Wehn do we sue them for obvious breach of patents?  They have 
*obviously* patented their technology :)

Cheers
--
Marco
From: Joe Marshall
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <y8xlhdnn.fsf@ccs.neu.edu>
Marco Antoniotti <·······@cs.nyu.edu> writes:

> Christian Lynbech wrote:
>> Ah, the joys of seeing the rest of the world trying to catch up with
>> lisp.
>> According to this article:
>>         http://www.theregister.co.uk/content/4/32452.html
>> people are now working with XML machines. The maginificent advantage
>> of this is that programs and data share a common representation.
>> This isn't in itself new news. The concept of metaprogramming (being
>> to write programs that manipulate other programs) has (at least been)
>> a viable research topic.
>> Of course lisp has had this since the dawn of high level programming.
>> There are probably a business oppotunity in there. Take a lisp
>> compiler, define an obfuscating XML representation of lisp, write a
>> trivial parser back into lisp, throw in a couple of sample java
>> programs that demonstrates how to manipulate the XML represented
>> programs and market it as the future of programming while proclaiming
>> the underlying "XML compiler" to be a dark secret of
>> multi-centi-man-year effort.
>> For added fun, see the crowd go wild as version 2 includes the XML
>> "loop" form with out-of-this-world unsurpassed power.
>
> Ok.  When do we sue them for obvious breach of patents?  They have
> *obviously* patented their technology :)

I'm sure they feel *much* more comfortable knowing that they are
*protected by law* against someone else trying to do something
as idiotic in a similar way.
From: Rainer Joswig
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <joswig-1D57E8.14232924082003@news.fu-berlin.de>
In article <··············@situla.ted.dk.eu.ericsson.se>,
 Christian Lynbech <·················@no.spam.please> wrote:

> Ah, the joys of seeing the rest of the world trying to catch up with
> lisp.
> 
> According to this article:
> 
>         http://www.theregister.co.uk/content/4/32452.html
> 
> people are now working with XML machines. The maginificent advantage
> of this is that programs and data share a common representation.
> 
> This isn't in itself new news. The concept of metaprogramming (being
> to write programs that manipulate other programs) has (at least been)
> a viable research topic.
> 
> Of course lisp has had this since the dawn of high level programming.
> 
> There are probably a business oppotunity in there. Take a lisp
> compiler, define an obfuscating XML representation of lisp, write a
> trivial parser back into lisp, throw in a couple of sample java
> programs that demonstrates how to manipulate the XML represented
> programs and market it as the future of programming while proclaiming
> the underlying "XML compiler" to be a dark secret of
> multi-centi-man-year effort.
> 
> For added fun, see the crowd go wild as version 2 includes the XML
> "loop" form with out-of-this-world unsurpassed power.
> 
> 
> ------------------------+-----------------------------------------------------
> Christian Lynbech       | christian ··@ defun #\. dk
> ------------------------+-----------------------------------------------------
> Hit the philistines three times over the head with the Elisp reference manual.
>                                         - ·······@hal.com (Michael A. Petonic)
> 

don't take the content on that site *that* serious.
From: Tim Lavoie
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <87n0dzyn92.fsf@theasylum.dyndns.org>
>>>>> "Rainer" == Rainer Joswig <······@lispmachine.de> writes:

    Rainer> don't take the content on that site *that* serious.

If you look at the article though, it's essentially re-posted from
another IT analysis company, which does try to seem serious. I sent a
reply to the author directly, and while he was polite and reasonable,
I don't think he quite understood why I thought the article was silly.
He did say that he had played with Lisp and Prolog over 20 years ago,
but that XML was the one taking over the world.  *shudder*

On the other hand, I generally like the Reg. They don't take
themselves seriously either, but are quite happy to call events as
they see them.

-- 
All empires fall, you just have to know where to push.
From: Rainer Joswig
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <joswig-86CA65.19382324082003@news.fu-berlin.de>
In article <··············@theasylum.dyndns.org>,
 Tim Lavoie <········@spamcop.net> wrote:

> >>>>> "Rainer" == Rainer Joswig <······@lispmachine.de> writes:
> 
>     Rainer> don't take the content on that site *that* serious.
> 
> If you look at the article though, it's essentially re-posted from
> another IT analysis company, which does try to seem serious.

"IT analysis company" ... "serious" .... hahahahahaha.......

> I sent a
> reply to the author directly, and while he was polite and reasonable,
> I don't think he quite understood why I thought the article was silly.
> He did say that he had played with Lisp and Prolog over 20 years ago,
> but that XML was the one taking over the world.  *shudder*
> 
> On the other hand, I generally like the Reg. They don't take
> themselves seriously either, but are quite happy to call events as
> they see them.
From: Marco Gidde
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <lzn0dyiw4y.fsf@tristan.br-automation.de>
Tim Lavoie <········@spamcop.net> writes:

> I don't think he quite understood why I thought the article was silly.
> He did say that he had played with Lisp and Prolog over 20 years ago,
> but that XML was the one taking over the world.  *shudder*

A citation I read somewhere else:

Imagine algebra in XML: instead of (sin (+ x y)), sin(x+y) or x y + sin,
you just use <apply><sin/><apply><plus/><ci>x</ci><ci>y</ci></apply></apply>.
From: Pascal Costanza
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <bibltc$1a1$1@newsreader2.netcologne.de>
Marco Gidde wrote:

> Tim Lavoie <········@spamcop.net> writes:
> 
> 
>>I don't think he quite understood why I thought the article was silly.
>>He did say that he had played with Lisp and Prolog over 20 years ago,
>>but that XML was the one taking over the world.  *shudder*
> 
> 
> A citation I read somewhere else:
> 
> Imagine algebra in XML: instead of (sin (+ x y)), sin(x+y) or x y + sin,
> you just use <apply><sin/><apply><plus/><ci>x</ci><ci>y</ci></apply></apply>.

 From http://www.research.avayalabs.com/user/wadler/language.pdf :

The Evolution of Language
~~~~~~~~~~~~~~~~~~~~~~~~~

2x			(Descartes)
\x.2x			(Church)

(LAMBDA (X) (* 2 x))	(McCarthy)

<?xml version="1.0"?>	(W3C)
<LAMBDA-TERM>
   <VAR-LIST>
     <VAR>X</VAR>
   </VAR-LIST>
   <EXPR>
     <APPLICATION>
       <EXPR> <CONST> * </CONST> </EXPR>
       <ARGUMENT-LIST>
         <EXRP> <CONST> 2 </CONST> </EXPR>
         <EXPR> <VAR> X </VAR> </EXPR>
       </ARGUMENT-LIST>
     </APPLICATION>
   </EXPR>
</LAMBDA-TERM>


Pascal

P.S.: Also nice, from the same webpage, is the paper "The Essence of 
XML" at 
http://www.research.avayalabs.com/user/wadler/papers/xml-essence/xml-essence.pdf

 From the introduction:

"XML is touted as an external format for representing data. This is not 
a hard problem. All we require are two properties:

* Self-describing: From the external representation one should be able 
to derive the corresponding internal representation.

* Round-tripping: If one converts from an internal representation to the 
external representation and back again, the new internal representation 
should equal the old.

Lisp S-expressions, for example, possess these properties.

XML has neither property. It is not always self-describing, since the 
internal format corresponding to an external XML description depends 
crucially on the XML Schema that is used for validation (for instance, 
to tell whether data is an integer or a string). And it is not always 
round-tripping, since some pathological Schemas lack this property (for 
instance, if there is a type union of integers and strings). So the 
essence of XML is this: the problem it solves is not hard, and it does 
not solve the problem well."
From: Adam Warner
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <pan.2003.08.24.21.59.41.422710@consulting.net.nz>
Hi Marco Gidde,

> Tim Lavoie <········@spamcop.net> writes:
> 
>> I don't think he quite understood why I thought the article was silly.
>> He did say that he had played with Lisp and Prolog over 20 years ago,
>> but that XML was the one taking over the world.  *shudder*
> 
> A citation I read somewhere else:
> 
> Imagine algebra in XML: instead of (sin (+ x y)), sin(x+y) or x y + sin,
> you just use <apply><sin/><apply><plus/><ci>x</ci><ci>y</ci></apply></apply>.

While I am pleased Ximian Evolution has an XML format for filters (as the
GUI editor is inadequate) here's an actual example of the inequality 
(> size 96):

     <part name="size">
       <value name="size-type" type="option" value="greater-than"/>
       <value name="versus" type="integer" integer="96"/>
     </part>

Regards,
Adam
From: Frank A. Adrian
Subject: Re: When programs can be data and vice versa
Date: 
Message-ID: <6Qe2b.103$qO6.45178@news.uswest.net>
Adam Warner wrote:

> here's an actual example of the inequality
> (> size 96):
> 
>      <part name="size">
>        <value name="size-type" type="option" value="greater-than"/>
>        <value name="versus" type="integer" integer="96"/>
>      </part>

Arghhh!! My eyes!!!! My eyes!!!!

faa