From: A. Bijanki
Subject: LISP and AI
Date: 
Message-ID: <cq6P4.12954$nb2.268841@vixen.cso.uiuc.edu>
I've heard that LISP is very useful to people researching AI.  Why is this?
Where can I find some LISP & AI links on the web?

From: David Bakhash
Subject: Re: LISP and AI
Date: 
Message-ID: <m3pur6rjz2.fsf@alum.mit.edu>
"A. Bijanki" <·······@uiuc.edu> writes:

> I've heard that LISP is very useful to people researching AI.  Why is this?
> Where can I find some LISP & AI links on the web?

A very short and simplistic answer to this is that language is very
flexible.  If you're gonna program a computer to simulate
intelligence, then a good start is to have a language where a
programmer can describe things not just at a high level, but also in a 
way that feels native to the domain of the problem at hand.  The Lisp
programming languages are more easy modified.  It just makes sense.
It's not a good language for AI, absolutely speaking, but it's far
better than anything else out there to my knowledge.

I don't think the AI shines through in any way.  I think that people
who do AI tend to use something in the Lisp family because of
tradition almost as much as the bulk of the wanting-to-be-cutting-edge 
neophytes choose Java.  Not that there's anything wrong with Java in
this example, but still, lots of people use it because of hype and
heresy, and word-of-mouth (and of course the relative ease of finding
a job with that skillset).

Lisp is a bit different.  First off, fewer firms use Lisp.  Speaking
about CL specifically, it's not the most widely-used language.  It has 
not been popular for web dev't either.  Furthermore, there are only a
few supported commercial implementations.  And how many people are
coding AI systems these days anyway?  Only a small percentage of the
programs written today are AI-related.

anyway, CL is what I believe to be a language that's excellent for
expressing complex ideas.

read about it and get tools and resources at http://www.alu.org.

dave
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <390D17B9.34FE6F7F@san.rr.com>
> I don't think the AI shines through in any way.  I think that people
> who do AI tend to use something in the Lisp family because of
> tradition almost as much as the bulk of the wanting-to-be-cutting-edge
> neophytes choose Java.  Not that there's anything wrong with Java in
> this example, but still, lots of people use it because of hype and
> heresy, and word-of-mouth (and of course the relative ease of finding
> a job with that skillset).

Well, to be fair, Java is world's easier than C++, and so is
a good evolution considering what it's replacing. You have to
realize that easy-to-use embedded container libraries and the
like are a new concept to old-school programmers. :) God
forbid they see what you can do with map and a lambda function. :)

Java also has this "standardized kitchen sink" notion, where
every possible thing under the sun is being thrown into the JDK
as a part of the toolkit. This has a good side and a down side, but
forget ye not that the good side of it is driving alot of
the masses towards Java (and probably will continue to do
so for quite a while, especially as Java becomes more prevalent
and native compilers become more popular).

> anyway, CL is what I believe to be a language that's excellent for
> expressing complex ideas.

The metalinguistic capabilities of the language are just way
cool, dude. I'm currently working in an environment which
opaquely embeds continuation code behind various macro calls
in conjunction with a scheduler which understands the continuation
(it's a simulation environment, hence the presence of the
scheduler). This environment allows expressions like this:

    (race
        (call-cab 'yellow-cab)
        (call-cab 'red-top)
        (sequentially
            (sleep 20)
            (fail self)))

Which is to say, "get a cab -- either red or yellow -- within
20 simulated time unts, or the show is over, buster". Keep in
mind that this very small 6 line code fragment tells the
simulation scheduler the maximum amount of simulation time
that can go by for 3 different lisp forms and sees that it
happens. The same scheduler can be told to prioritize certain
ongoing tasks or that certain ongoing tasks conflict with
eachother.



C//
From: David Bakhash
Subject: Re: LISP and AI
Date: 
Message-ID: <m3em7mm6rj.fsf@alum.mit.edu>
Courageous <········@san.rr.com> writes:

 > > anyway, CL is what I believe to be a language that's excellent for
> > expressing complex ideas.
> 
> The metalinguistic capabilities of the language are just way
> cool, dude. I'm currently working in an environment which
> opaquely embeds continuation code behind various macro calls
> in conjunction with a scheduler which understands the continuation
> (it's a simulation environment, hence the presence of the
> scheduler). This environment allows expressions like this:
> 
>     (race
>         (call-cab 'yellow-cab)
>         (call-cab 'red-top)
>         (sequentially
>             (sleep 20)
>             (fail self)))
> 
> Which is to say, "get a cab -- either red or yellow -- within
> 20 simulated time unts, or the show is over, buster". Keep in
> mind that this very small 6 line code fragment tells the
> simulation scheduler the maximum amount of simulation time
> that can go by for 3 different lisp forms and sees that it
> happens. The same scheduler can be told to prioritize certain
> ongoing tasks or that certain ongoing tasks conflict with
> eachother.

I don't really see how your macros are so legible or obvious given
what you're trying to do.

But Courageous's post does give an example of what part of a program
might look like in Lisp.  Lisp programs can vary structurally more
than programs written in most other languages.

hope this helps.

dave

(p.s. pick up ANSI Common Lisp, by Paul Graham, if you can.)
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <390E4BA4.2AEA53C6@san.rr.com>
> >     (race
> >         (call-cab 'yellow-cab)
> >         (call-cab 'red-top)
> >         (sequentially
> >             (sleep 20)
> >             (fail self)))

> I don't really see how your macros are so legible or obvious given
> what you're trying to do.


Well, I was neither trying to show legibility nor obviousness.
As it turns out, every single form in the above expression involves
either dealing with a continuation or dealing with the scheduler.
Full tasks are being spun up and are competing with eachother (in
the race), but one of the tasks (in the sequentially) is causing
the overall body of the (not shown) function to fail if 20
simulated seconds go by, possibly giving up on the race form.
Note the term "20 simulated seconds". Schedulng the passage of
fictional time versus real time is a fairly non-trivial task.

Equivalent lisp would be a real headache. What I was showing was
the ability to generate another language within Lisp. Which is
what the SCORE (simulation core) language is, as shown in the
example above.

I'm sure there are a vast sea of other examples, written by
other individuals who've customized a language to fit their
domain space. This is very easy to do in Lisp. Few other languages
can claim that.

This ability to transmogrify the language into something more
suitable to the domain space is probably one of the reasons the
AI community continues to use Lisp.

SCORE itself is a specialized language/environment for doing
human performance modelling. It's pretty good at it.


C/
From: David McClain
Subject: Re: LISP and AI
Date: 
Message-ID: <sgttdf7c1g28@corp.supernews.com>
Courageous <········@san.rr.com> wrote in message
······················@san.rr.com...
> As it turns out, every single form in the above expression involves
> either dealing with a continuation or dealing with the scheduler.

Since CL does not have first-class continuations just what exactly do you
mean by this?

- DM
From: Joe Marshall
Subject: Re: LISP and AI
Date: 
Message-ID: <uvh0w7su1.fsf@alum.mit.edu>
"David McClain" <········@azstarnet.com> writes:

> Courageous <········@san.rr.com> wrote in message
> ······················@san.rr.com...
> > As it turns out, every single form in the above expression involves
> > either dealing with a continuation or dealing with the scheduler.
> 
> Since CL does not have first-class continuations just what exactly do you
> mean by this?

`Upward' continuations are easily done with CATCH/THROW in
CommonLisp.  `Downward' continuations are usually used for
co-routining, and can be emulated via `stack-groups' or other
process-scheduling hacks.
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <390F7BA0.D7E18812@san.rr.com>
David McClain wrote:
> 
> Courageous <········@san.rr.com> wrote in message
> ······················@san.rr.com...
> > As it turns out, every single form in the above expression involves
> > either dealing with a continuation or dealing with the scheduler.
> 
> Since CL does not have first-class continuations just what exactly do you
> mean by this?

Well, that's a good question since I didn't write that
section of the code. I was looking through some of the
macro code today, and couldn't find the initial
continuation generators. I've asked the author, however,
and will get back to you.


C/
From: David McClain
Subject: Re: LISP and AI
Date: 
Message-ID: <sgv34jgq1g230@corp.supernews.com>
Courageous <········@san.rr.com> wrote in message
······················@san.rr.com...
> David McClain wrote:
> >
> > Courageous <········@san.rr.com> wrote in message
> > ······················@san.rr.com...
> > > As it turns out, every single form in the above expression involves
> > > either dealing with a continuation or dealing with the scheduler.
> >
> > Since CL does not have first-class continuations just what exactly do
you
> > mean by this?
>
> Well, that's a good question since I didn't write that
> section of the code. I was looking through some of the
> macro code today, and couldn't find the initial
> continuation generators. I've asked the author, however,
> and will get back to you.
>
>
> C/

Thanks, I am really very interested in this topic!

- DM
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <390F8F7C.123F4F69@san.rr.com>
> > > Since CL does not have first-class continuations just what exactly do
> > > you mean by this?

> > Well, that's a good question since I didn't write that
> > section of the code. I was looking through some of the
> > macro code today, and couldn't find the initial
> > continuation generators. I've asked the author, however,
> > and will get back to you.

> Thanks, I am really very interested in this topic!

BTW, typing (apropos 'continuation) in my ACL interpreter
shows the presence of the construct and variations in
several packages, but not, of course, in common lisp.
Looking through the code, I could find no obvious package
prefixes on any of our continuation stuff. I was told
once that it was part of Scheme (by someone who quite
well could have been confused), and this, of course,
confused me even more, as we are compiling with ACL.
Is the SCM package in ACL a Scheme support package?
(I noted some continuation stuff in an SCM package,
but my ACL docs don't explain the package).

Anyway, I'm sure the author will get back with me in
a day or two. I'm very interested in this two.

BTW, there is a stack-free version of Python available
(http://www.stackless.com) which offers continuations,
coroutines, microthreads, etc. I'm still experimenting
with it. 


C/
From: Barry Margolin
Subject: Re: LISP and AI
Date: 
Message-ID: <Z8XP4.8$Z3.870@burlma1-snr2>
In article <·················@san.rr.com>,
Courageous  <········@san.rr.com> wrote:
>BTW, typing (apropos 'continuation) in my ACL interpreter
>shows the presence of the construct and variations in
>several packages, but not, of course, in common lisp.
>Looking through the code, I could find no obvious package
>prefixes on any of our continuation stuff. I was told
>once that it was part of Scheme (by someone who quite
>well could have been confused), and this, of course,
>confused me even more, as we are compiling with ACL.
>Is the SCM package in ACL a Scheme support package?
>(I noted some continuation stuff in an SCM package,
>but my ACL docs don't explain the package).

Sometimes things that are referred to as "continuations" are not true
first-class continuations, they're just functional arguments.

-- 
Barry Margolin, ······@genuity.net
Genuity, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <3910D861.DF04D8BB@san.rr.com>
Barry Margolin wrote:
> 
> In article <·················@san.rr.com>,
> Courageous  <········@san.rr.com> wrote:
> >BTW, typing (apropos 'continuation) in my ACL interpreter
> >shows the presence of the construct and variations in
> >several packages, but not, of course, in common lisp.
> >Looking through the code, I could find no obvious package
> >prefixes on any of our continuation stuff. I was told
> >once that it was part of Scheme (by someone who quite
> >well could have been confused), and this, of course,
> >confused me even more, as we are compiling with ACL.
> >Is the SCM package in ACL a Scheme support package?
> >(I noted some continuation stuff in an SCM package,
> >but my ACL docs don't explain the package).
> 
> Sometimes things that are referred to as "continuations" are not true
> first-class continuations, they're just functional arguments.

I was pondering how that might be in our current setting.
The thing is, when we type (sleep 30) -- which is not the
lisp sleep -- it kicks it back to the simulation shcheduler
such that the next line of lisp code isn't executed until
30 units of model time have passed. While I can imagine
something other than a first class continuation accounting
for this, lord would it be hairy.




C/
From: Barry Margolin
Subject: Re: LISP and AI
Date: 
Message-ID: <VT4Q4.40$Z3.1423@burlma1-snr2>
In article <·················@san.rr.com>,
Courageous  <········@san.rr.com> wrote:
>Barry Margolin wrote:
>> Sometimes things that are referred to as "continuations" are not true
>> first-class continuations, they're just functional arguments.
>
>I was pondering how that might be in our current setting.
>The thing is, when we type (sleep 30) -- which is not the
>lisp sleep -- it kicks it back to the simulation shcheduler
>such that the next line of lisp code isn't executed until
>30 units of model time have passed. While I can imagine
>something other than a first class continuation accounting
>for this, lord would it be hairy.

Threads?

But I'm not sure how this is relevant to the question.  I was responding to
someone who said they did (apropos 'continuation) and saw some matches.
All this means is that someone used the word "continuation" in the name of
a function or variable.  Just because they use the word in a name, doesn't
mean they're actually implementing that concept.

In particular, many of Genera's macros are implemented like:

(defmacro with-open-file ((var &rest open-arguments) &body body)
  `(with-open-file-internal #'(lambda (,var) ,@body) ,@open-arguments))
(defun with-open-file-internal (continuation &rest open-arguments)
  (let (stream)
    (unwind-protect
        (progn
          (setq stream (apply #'open open-arguments))
          (funcall continuation stream))
      (when stream
        (close stream)))))

For whatever reason, they conventionally referred to the functional
arguments to these helper functions as continuations.  But they're not what
we typically mean by continuations in computer science.

-- 
Barry Margolin, ······@genuity.net
Genuity, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <3910E483.7D038AD9@san.rr.com>
> >I was pondering how that might be in our current setting.
> >The thing is, when we type (sleep 30) -- which is not the
> >lisp sleep -- it kicks it back to the simulation shcheduler
> >such that the next line of lisp code isn't executed until
> >30 units of model time have passed. While I can imagine
> >something other than a first class continuation accounting
> >for this, lord would it be hairy.
> 
> Threads?

Possibly, albeit insufferably expensive if so. This requires
that the the thread go completely to sleep until a wakeback
occurs, right? Ergo, a simulation with 1000 entities would
require 1000 threads. Ouch.

Unless CL threads are microthreadish?

> But I'm not sure how this is relevant to the question.  I was responding to
> someone who said they did (apropos 'continuation) and saw some matches.
> All this means is that someone used the word "continuation" in the name of
> a function or variable.

Oh, right. Yeah, I knew that. You can't really tell anything from
the apropos, this was just part of my hunt to determine where the
devil the stuff is coming from. The macro code in the SCORE language
definition is pretty hard to read, as I'm pretty new at lisp.


C/
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166415651877574@naggum.no>
* Courageous <········@san.rr.com>
| Possibly, albeit insufferably expensive if so.  This requires that
| the the thread go completely to sleep until a wakeback occurs,
| right?  Ergo, a simulation with 1000 entities would require 1000
| threads.  Ouch.

  Why all this groundless _angst_ before you even know what they are?
  Why make all these random guesses and scare yourself with with?

| Unless CL threads are microthreadish?

  Read the manual, see how they work, talk to the vendor, heed their
  advice, use something else if it doesn't work to your satisfaction.

  The scheduler in Allegro CL doesn't seem to have any problems with
  1000 threads.  1000 threads that are created only to run (sleep 10)
  and terminate, allocate about 5M of memory and spend less than 1 s
  CPU on my system.  That doesn't seem to be worth any angst.

#:Erik
From: Pierre R. Mai
Subject: Re: LISP and AI
Date: 
Message-ID: <87d7n2rak2.fsf@orion.dent.isdn.cs.tu-berlin.de>
Courageous <········@san.rr.com> writes:

> > >I was pondering how that might be in our current setting.
> > >The thing is, when we type (sleep 30) -- which is not the
> > >lisp sleep -- it kicks it back to the simulation shcheduler
> > >such that the next line of lisp code isn't executed until
> > >30 units of model time have passed. While I can imagine
> > >something other than a first class continuation accounting
> > >for this, lord would it be hairy.
> > 
> > Threads?
> 
> Possibly, albeit insufferably expensive if so. This requires
> that the the thread go completely to sleep until a wakeback
> occurs, right? Ergo, a simulation with 1000 entities would
> require 1000 threads. Ouch.
> 
> Unless CL threads are microthreadish?

Most CL implementations do their Lisp-side threading in user-land,
thereby gaining the advantage of very light-weight threads, and a
fairly cheap way of maintaining the usual CL semantics w.r.t. to
dynamic binding, etc.

Some implementations also allow foreign code to run in multiple
kernel-land threads, and some implementations are currently
experimenting with (or already supporting) kernel-land lisp threads.
While kernel-land threads allow a single process to take advantage of
multiple processors on SMP machines, this comes at a price, and so I'd
expect that even if future implementations will support kernel-land
threading, they'll continue to support user-land and possibly
multiplexed user-land threading.

Regs, Pierre.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166413990955610@naggum.no>
* Courageous <········@san.rr.com>
| Is the SCM package in ACL a Scheme support package?
| (I noted some continuation stuff in an SCM package,
| but my ACL docs don't explain the package).

  SCM seems to stand for Source Code Management.  There is no
  continuation stuff in it, and it has nothing to do with Scheme.
  It is explained in the manual in source_file_recording.htm.

#:Erik
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <39116F89.8218A495@san.rr.com>
> | Is the SCM package in ACL a Scheme support package?
> | (I noted some continuation stuff in an SCM package,
> | but my ACL docs don't explain the package).
> 
>   SCM seems to stand for Source Code Management.  There is no
>   continuation stuff in it, and it has nothing to do with Scheme.
>   It is explained in the manual in source_file_recording.htm.

You know, we own licenses for ACL, but not much documentation
seems to exist. How criticical are the ACL manuals themselves,
and how extensive are they? (yes, I have all the .html, is that
the whole shebang?)


C/
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166442542698892@naggum.no>
* Courageous <········@san.rr.com>
| You know, we own licenses for ACL, but not much documentation seems
| to exist.  How criticical are the ACL manuals themselves, and how
| extensive are they?  (yes, I have all the .html, is that the whole
| shebang?)

  Well, the manuals are quite extensive once you sit down with them.
  However, I'm not too thrilled about the HTML delivery because of the
  unsolved navigation problem in the WWW incarnation of hypertext (it
  had been solved prior to the WWW, of course; HTML is the MS-DOS of
  hypertext).  I have asked (begged) for PDF files so I can at least
  have something that reads better than the HTML delivery and which
  also prints better than the HTML files come out like from the sucky
  browsers.  Franz Inc have indicated they will accomodate some of my
  wishes for the ACL 6.0 release.  Until then, the ACL 4.3 manuals are
  still in use, simply because they are printed and bound.
  
#:Erik
From: Russell Wallace
Subject: Re: LISP and AI
Date: 
Message-ID: <3911B618.11B2@esatclear.ie>
Erik Naggum wrote:
>   Well, the manuals are quite extensive once you sit down with them.
>   However, I'm not too thrilled about the HTML delivery because of the
>   unsolved navigation problem in the WWW incarnation of hypertext (it
>   had been solved prior to the WWW, of course; HTML is the MS-DOS of
>   hypertext).

I'm curious: what do you see as the navigation problem to which HTML
missed the solution?

-- 
"To summarize the summary of the summary: people are a problem."
Russell Wallace
···············@esatclear.ie
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166452687168662@naggum.no>
* Russell Wallace <········@esatclear.ie>
| I'm curious: what do you see as the navigation problem to which HTML
| missed the solution?

  The ability of one document to introduce a link between two other
  documents, sometimes known as a "meta-link".  Where implemented,
  they are easily used to track how you arrived at a given document,
  and thus you can browse your "journey" through a number of
  documents.  This particular "application" can be implemented by many
  other means, but the general facility that would make it simple and
  easy is missing from HTML.

  I think of HTML links as GOTO.  The effort required to keep from
  getting messy outweights the merits of their proper use.

  (The even-more-impenetrable-than-the-SGML-standard SGML-related
  standard on Hypertext and Time�, actually got this completely right,
  incorporating all available hypertext research at the time it was
  published, and subsequently updated intelligently to account for
  further development.  Unfortunately, it uses SGML for its own
  meta-notation, which makes it an order of magnitude more complex
  than necessary, and it relies so heavily on the entity structure,
  which is the least understood aspect of SGML and also completely
  missed by "the HTML generation", that it takes more effort to study
  it than even most would-be experts can ever hope to be rewarded for
  having done.)

#:Erik
-------
� ISO/IEC 10744:1997 Information technology -- Hypermedia/Time-based
  Structuring Language (HyTime), 468 pages.
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-0405001448010001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

> * Russell Wallace <········@esatclear.ie>
> | I'm curious: what do you see as the navigation problem to which HTML
> | missed the solution?
> 
>   The ability of one document to introduce a link between two other
>   documents, sometimes known as a "meta-link".  Where implemented,
>   they are easily used to track how you arrived at a given document,
>   and thus you can browse your "journey" through a number of
>   documents.  This particular "application" can be implemented by many
>   other means, but the general facility that would make it simple and
>   easy is missing from HTML.

Can you give an example?  I presume that a browser history is an example
of "this particular application" being "implemented by ... other means"
but I don't see how having bidirectional links in HTML would add any
functionality.

Erann Gat
···@jpl.nasa.gov
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166469115019645@naggum.no>
* ···@jpl.nasa.gov (Erann Gat)
| I presume that a browser history is an example of "this particular
| application" being "implemented by ... other means" but I don't see
| how having bidirectional links in HTML would add any functionality.

  The idea is not a "bidirectional links", but the bibliographic
  reference, which was a quite well developed concept prior to HTML.

  I wrote: "The ability of one document to introduce a link between
  two other documents'.  This is not a bidrectional link in the first
  place.  It's a third-party link if you want.  There is no anchor
  marked up as such in either of the documents involved, and the link
  is certainly not in the documents in question.  Instead, the anchors
  are described in the third document through various means of naming
  nested objects and the link between them is then established, with a
  purpose, such as a comment describing how the two anchor points
  related.

  HTML missed the opportunity (to put it mildly) to aid in locating
  and naming the structured, nested objects in a document, as well, so
  it's no wonder people can't really escape thinking about links and
  anchors _in_ the documents without spending some effort thinking
  about why it doesn't even make sense to predefine which words or
  ranges of text should be elevated to anchorhood.  After all, most of
  prefer to buy the marker pens separately from the books and color on
  our own, but with HTML, only pre-colored books are available.

#:Erik
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-0505001045240001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

> * ···@jpl.nasa.gov (Erann Gat)
> | I presume that a browser history is an example of "this particular
> | application" being "implemented by ... other means" but I don't see
> | how having bidirectional links in HTML would add any functionality.
> 
>   The idea is not a "bidirectional links", but the bibliographic
>   reference, which was a quite well developed concept prior to HTML.

Seems to me that bibliographic references have precisely the semantics
of hyperlinks.  They are pointers contained in one document that point
to a second document.  There is no third document involved.

>   I wrote: "The ability of one document to introduce a link between
>   two other documents'.  This is not a bidrectional link in the first
>   place.  It's a third-party link if you want.  There is no anchor
>   marked up as such in either of the documents involved, and the link
>   is certainly not in the documents in question.  Instead, the anchors
>   are described in the third document through various means of naming
>   nested objects and the link between them is then established, with a
>   purpose, such as a comment describing how the two anchor points
>   related.

OK, third-part link then.  I still don't see what you would *do*
with such a link that you can't do using HTML as it stands.

Here are two related documents, A and B:

  "This is document A, a short treatise on the topology of mazes of
  twisty little passages, all alike."

  "This is document B, a rather more lengthy exposition on the topology
  of mazes of twisty little passages, all different."

Neither document A or B contain any links.

Now I write document C which contains one of your third-party links:

  "This is document C, a meta-analysis of maze topology studies
   ...
   <THIRD-PARTY-LINK HREF1=document-A HREF2=document-B>
   ..."

What happens?  How does this link get rendered?  What happens when you
click on it?

E.
From: Lars Syrstad
Subject: Re: LISP and AI
Date: 
Message-ID: <1m4s8cw5ha.fsf@colargol.tihlde.hist.no>
···@jpl.nasa.gov (Erann Gat) writes:

> Now I write document C which contains one of your third-party links:
> 
>   "This is document C, a meta-analysis of maze topology studies
>    ...
>    <THIRD-PARTY-LINK HREF1=document-A HREF2=document-B>
>    ..."
> 
> What happens?  How does this link get rendered?  What happens when you
> click on it?

I think what Erik is talking about is a mechanism that lets a
third-party document refer to individual portions of other documents,
without the need to add anchors at the relevant places in those other
documents.  Assume that I want to create a tutorial of some
programming language.  I could write my little thing, adding lots of
links pointing to select portions of other sources -- official
documentation, standards, FAQs, etc -- with no need for anchors in
those other documents at the places to which I wish to refer.  Think
of it as me creating a path through the documents of others to suit me
and my audience.  And to do this, we need something more than HTML.

(And when I click on any of those links in my document, it may just
show that select portion of that other document.  And another click
may show the entire document.  Or I may simply ask my browser to
inline the select portion of the other text into my document,
effectively creating quotes.)

Or maybe Erik isn't talking about that at all, but I still would like
it...

  - Lars.
-- 
There's something I don't like
About a band that always smiles
    -- Dead Kennedys
From: Andrew Cooke
Subject: Re: LISP and AI
Date: 
Message-ID: <8f6s9v$i9i$1@nnrp1.deja.com>
In article <··············@colargol.tihlde.hist.no>,
  Lars Syrstad <····@tihlde.hist.no> wrote:
> I think what Erik is talking about is a mechanism that lets a
> third-party document refer to individual portions of other documents,
> without the need to add anchors at the relevant places in those other
> documents.  Assume that I want to create a tutorial of some
> programming language.  I could write my little thing, adding lots of
> links pointing to select portions of other sources -- official
> documentation, standards, FAQs, etc -- with no need for anchors in
> those other documents at the places to which I wish to refer.  Think
> of it as me creating a path through the documents of others to suit me
> and my audience.  And to do this, we need something more than HTML.

there is (was?) software that lets you put "public" annotations on other
pages - i guess it works by providing a proxy that checks a central
"post-it" server as it downloads the requested document. this isn't what
anyone has been discussing, exactly, but it could be persuaded/extended
to provide similar functionality (everyone would have to use the proxy
and server, it's not exactly scaleable...)

however, i can't remember the name or where i heard about it.  and
anyway, i suspect hardly any pages have comments, and those that do
will be drivel.  perhaps it has some kind of community concept - so
perhaps a c.l.l community would share annotations.  or erik could have
his own (private write, public read) (which gets nearer what i think he
wanted, but in a horrible round-about way).

andrew
http://www.andrewcooke.free-online.co.uk/index.html


Sent via Deja.com http://www.deja.com/
Before you buy.
From: Philip Lijnzaad
Subject: Re: LISP and AI
Date: 
Message-ID: <u7n1m02jx1.fsf@o2-3.ebi.ac.uk>
Andrew> there is (was?) software that lets you put "public" annotations on other
Andrew> pages 

Well, the old Mosaic had this thing but only for private annotations. Kind-a
useful (all the more if the underlying pages just would stay where they are
;-)

As for public annotation, I know it has been tried in the domain of
biological databases (the now defunct gdb had something like this, and
swissprot  has something similar). In all these cases, it only worked
properly if you know the annotators were any good. 

                                                                      Philip
-- 
/dev/brain:  character special (53/0)
-----------------------------------------------------------------------------
Philip Lijnzaad, ········@ebi.ac.uk | European Bioinformatics Institute,rm A2-24
+44 (0)1223 49 4639                 | Wellcome Trust Genome Campus, Hinxton
+44 (0)1223 49 4468 (fax)           | Cambridgeshire CB10 1SD,  GREAT BRITAIN
PGP fingerprint: E1 03 BF 80 94 61 B6 FC  50 3D 1F 64 40 75 FB 53
From: Jochen Schneider
Subject: Re: LISP and AI
Date: 
Message-ID: <uaei0drdm.fsf@yod.cs.uni-magdeburg.de>
Andrew Cooke <······@andrewcooke.free-online.co.uk> writes:

> there is (was?) software that lets you put "public" annotations on other
> pages - i guess it works by providing a proxy that checks a central
> "post-it" server as it downloads the requested document. this isn't what
> anyone has been discussing, exactly, but it could be persuaded/extended
> to provide similar functionality (everyone would have to use the proxy
> and server, it's not exactly scaleable...)
> 

http://crit.org does this. Seems to be kind of slow, though.

        Jochen

-- 
C++ : an octopus made by nailing extra legs onto a dog
From: Andrew McDowell
Subject: Re: LISP and AI
Date: 
Message-ID: <8fa0li$37m$1@hammer.msfc.nasa.gov>
Phil Grenspun uses something like this on his http://www.photo.net site.
You might try poking around there.

Andrew Cooke <······@andrewcooke.free-online.co.uk> wrote:
> there is (was?) software that lets you put "public" annotations on other
> pages ...
<snip>
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166690977154116@naggum.no>
* Erann Gat
| Seems to me that bibliographic references have precisely the semantics
| of hyperlinks.

  Yes, this is actually true.

| They are pointers contained in one document that point to a second
| document.  There is no third document involved.

  This is obviously false, however.

| OK, third-part link then.  I still don't see what you would *do*
| with such a link that you can't do using HTML as it stands.

  That's frankly not my problem, and you're not listening enough that
  I care to spend all the time it would take to  explain it to you.

| What happens?  How does this link get rendered?  What happens when
| you click on it?

  Sigh.  How do the "links" you already have in HTML get rendered?
  What happens when you "click" on them?  What, exactly, do you expect
  to be _different_?

  I don't have the patience for this.  Sorry.

#:Erik
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-0805001020130001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

>  I don't have the patience for this.  Sorry.

That's good, because my patience for you is also wearing quite thin.
Why don't you do us both a favor and stop responding to my questions?
Let someone else do it.

> * Erann Gat
> | Seems to me that bibliographic references have precisely the semantics
> | of hyperlinks.
> 
>   Yes, this is actually true.
> 
> | They are pointers contained in one document that point to a second
> | document.  There is no third document involved.
> 
>   This is obviously false, however.

Why is this obviously false?  This is a question directed to anyone
in the group *except* Erik (whose patience I do not wish to try any
further).  If it's so obvious then surely there will be dozens
of people out there who know.

E.
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w6wvl4faa7.fsf@wallace.nextel.no>
···@jpl.nasa.gov (Erann Gat) writes:

> Why is this obviously false?  This is a question directed to anyone
> in the group *except* Erik (whose patience I do not wish to try any
> further).  If it's so obvious then surely there will be dozens
> of people out there who know.

Yes, I was puzzled by this too.  The only thing I could think of
was the fact that bibliographic references may refer to a section
or page range of a second document and not only a _point_ in it.
-- 
  (espen)
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166856052016369@naggum.no>
* Espen Vestre
| Yes, I was puzzled by this too.  The only thing I could think of
| was the fact that bibliographic references may refer to a section
| or page range of a second document and not only a _point_ in it.

  Please ignore HTML and the WWW in any discussion of hypertext.  They
  are like bringing PostScript and laser printers into a discussion of
  literature.

  There is no worse implementation of hypertext concepts than the
  in-band anchors that requires changing both (there are only two in
  HTML) documents if you need a particular connection.  In fact, the
  HTML/WWW implementation of "hypertext" is so fundamentally flawed
  that it is probably a great disservice to hypertext to call it
  "hypertext" to begin with, and as witness, the inability of people
  to consider a bibliographic references that does not match the HTML
  _implementation_.

  Consider the glossary that defines hypertext links _to_ its defined
  terms.  Instead of myriad explicit links in each document in the
  document set covered by the glossary, the links may be defined as
  whatever matches a rule in those documents.  A rendering engine
  would load the glossary and apply the rules to highlight glossary
  terms, or perhaps make them more accessible by popping up a small
  window with the definition.  Instead of this being coded explicitly
  wherever a glossary term is used, it would all be arranged in the
  glossary, once.

  Consider the root document of a document set that contains rules for
  which documents (such as the glossary) whose rules should apply to
  which documents in the set.  Conventional bibliographic references
  expresses such relationships with annotations in the library records.
  Note that there is no unique text to highlight or click on in this
  case.  This is meta-information for the hypertext system.

  Consider the critique of a document that includes excerpts from it
  and does so using in-lined hypertext links instead of copies of the
  text itself.  Consider the meta-critique that contains a full list
  of all such references for the purposes of scholarly research and
  ratings.  The former would not necessarily be able to influence the
  base document when somebody reads it, such as to inform the reader
  adbout the critique, but the latter would, as well as responses and
  rejoinders in a debate where various authors both discuss the type
  of critique and rate them.

  Consider the continuous publication of a medical journal where it is
  incredibly important to link from articles in the past to new and
  updated articles in the future with crucial information about the
  role of the update.  A new article would typically contain a small
  passage that it updates, contradicts, etc, previous articles.  It is
  not uncommon for the journal librarian/editor to supply such links
  in a separate bibliographic unit, such as a side-bar.  A mechanized
  hypertext system would represent such links with meta-documents that
  _all_ the articles in the system would point to for updates to
  themselves.

  Consider the continuous application and concurrent drafting of laws
  and regulations in a society.  The entire legal world is intertwined
  in extremely interesting ways from a theoretical hypertext point of
  view.  Political discussions often take the form of contributing to
  a decision on what may be done within the framework of certain
  regulations, such as budgets, legal authorities and procedures, etc.
  Counter-arguments frequently attack the hypertextual nature of the
  argument instead of the textual contents in the shape of denying or
  rejecting an interpretation of such authority or its application.
  Court arguments frequently involve comparing prior applications and
  cases to present cases.  Yet, each document produced contains only a
  small number of the hypertextual links involved: the remainder are
  implicit or take the shape of "to"-links instead of "from"-links.

  In the world of bibliographic references, there is a lot more going
  on than just pointing to books or pages, or a footnote someplace
  that has an ISBN.  Trivializing the bibliographic reference to
  whatever HTML can represent is like arguing that PostScript cannot
  represent irony, so therefore it is only characters, like all other
  characters, or denying that laser printers can reason because they
  produce documents that contain reasoning.  (Nobody argues that laser
  printers can reason, just as nobody argues that hypertext links can
  be "discovered" from context and contents, which is a strawman
  argument frequently used against advanced hypertext theory.)

  For those who want to understand how hypertext started, I urge you
  to read Vannevar Bush's original article in the Atlantic Monthly.
  In particular, he discusses machine-aided annotations in a way that
  would make it impossible for anyone who had read that article to
  even think that hypertext links were contained _in_ documents --
  that is merely an implementation optimization applicable in a few
  circumstances and not at all generally.  Generally, we make links
  into, between, and out of read-only documents that we do not own or
  control.  HTML does not allow us to work with documents we do not
  own or control except by pointing at them as static objects.

#:Erik
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w6aei0c8yg.fsf@wallace.nextel.no>
Erik Naggum <····@naggum.no> writes:

>   In the world of bibliographic references, there is a lot more going
>   on than just pointing to books or pages, or a footnote someplace
>   that has an ISBN. 

ok, I was thinking in terms of old-fashioned bibliographic references
printed on dead trees (disregarding any software which might be
involved in producing it), which basically is a simple one-way pointer
which involves only two documents (and which has its flaws too: we all
know from school how section and page number references to a textbook
become invalid when a new version of it is out...)

-- 
  (espen)
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166866352033317@naggum.no>
* Espen Vestre
| ok, I was thinking in terms of old-fashioned bibliographic
| references printed on dead trees (disregarding any software which
| might be involved in producing it), which basically is a simple
| one-way pointer which involves only two documents ...

  This is unfortunately a very misguided view of the old-fashioned
  bibliographic reference.  I'm sorry to say so, but the bibliographic
  reference includes a lot more than one-way "pointers", which is a
  special case or a narrow view, depending on how you look at it.  If,
  for instance, I wish to compare CLtL2 with CLtS (S for Standard),
  you can either regard my two bibliographic references in any given
  comparison on a given point as two one-way pointers from my document
  into those two documents, but that is very nearly irrelevant to the
  purpose and actual references involved.  A reader of a comparison
  would naturally want to have both text available and would have to
  regard my commentary on their _relationship_ as the real purpose of
  my text.  My document thus contains third-party hypertext links (and
  bibliographic references) with that purpose between two other
  documents.

  This may not be all that obvious to a reader of modern literature,
  but pick up any commentary on religious writings and track down the
  references to the Bible, say.  This is a lot more explicit than the
  intertwined legal world I referred to, but it also less available to
  most people today.  (I wouldn't know about it all were it not for
  the many people who use SGML and HyTime for dealing with the rich
  set of references in precisely such literature.)

  On the other hand, what you refer to as "old-fashioned" may be a
  trivialization of the bibliographic reference into the _expression_
  of a bibliographic reference that follows certain formal rules.  The
  fact that there is an enormous number of ways to express a reference
  (such that actually locating the document that has been referred to
  may be very, very difficult), should not obscure the more abstract
  concept.  Instead, I'd hope that the plethora of ways to refer to
  texts should communicate the failure of trivializations to capture
  the author's (or indexer's or librarian's) purpose and intent.

#:Erik
From: Will Hartung
Subject: Re: LISP and AI
Date: 
Message-ID: <p_UR4.189924$bm.973405@news1.alsv1.occa.home.com>
Erik Naggum wrote in message <················@naggum.no>...
>  For those who want to understand how hypertext started, I urge you
>  to read Vannevar Bush's original article in the Atlantic Monthly.
>  In particular, he discusses machine-aided annotations in a way that
>  would make it impossible for anyone who had read that article to
>  even think that hypertext links were contained _in_ documents --
>  that is merely an implementation optimization applicable in a few
>  circumstances and not at all generally.  Generally, we make links
>  into, between, and out of read-only documents that we do not own or
>  control.  HTML does not allow us to work with documents we do not
>  own or control except by pointing at them as static objects.


For those interested...

http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm

Will
From: Pierre R. Mai
Subject: Re: LISP and AI
Date: 
Message-ID: <87em7bheed.fsf@orion.dent.isdn.cs.tu-berlin.de>
"Will Hartung" <······@home.com> writes:

> Erik Naggum wrote in message <················@naggum.no>...
> >  For those who want to understand how hypertext started, I urge you
> >  to read Vannevar Bush's original article in the Atlantic Monthly.
> >  In particular, he discusses machine-aided annotations in a way that
> >  would make it impossible for anyone who had read that article to
> >  even think that hypertext links were contained _in_ documents --
> >  that is merely an implementation optimization applicable in a few
> >  circumstances and not at all generally.  Generally, we make links
> >  into, between, and out of read-only documents that we do not own or
> >  control.  HTML does not allow us to work with documents we do not
> >  own or control except by pointing at them as static objects.
> 
> 
> For those interested...
> 
> http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm

Another very informative source of concepts, ideas, and implementation
of a "more advanced" (this should in fact be "less retarted")
Hypertext system is the already mentioned HyTime standard (ISO/IEC
10744), as well as numerous documents, articles and books surrounding
it.  A good starting point for explorations of HyTime is 

http://www.hytime.org/

Regs, Pierre.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-0905001032290001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

>  Consider the glossary that defines hypertext links _to_ its defined
>  terms.  Instead of myriad explicit links in each document in the
>  document set covered by the glossary, the links may be defined as
>  whatever matches a rule in those documents.  A rendering engine
>  would load the glossary and apply the rules to highlight glossary
>  terms, or perhaps make them more accessible by popping up a small
>  window with the definition.  Instead of this being coded explicitly
>  wherever a glossary term is used, it would all be arranged in the
>  glossary, once.

...

>  HTML does not allow us to work with documents we do not
>   own or control except by pointing at them as static objects.

Not true.  For a simple counterexample see Google's "show matches"
feature, which renders HTML documents with (dynamically selected)
glossary terms highlighted.

E.
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166886517556616@naggum.no>
* Erann Gat
| Not true.  For a simple counterexample see Google's "show matches"
| feature, which renders HTML documents with (dynamically selected)
| glossary terms highlighted.

  PostScript can also represent irony.  _Please_ get the point.

#:Erik
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-0905001342280001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

> * Erann Gat
> | Not true.  For a simple counterexample see Google's "show matches"
> | feature, which renders HTML documents with (dynamically selected)
> | glossary terms highlighted.
> 
>   PostScript can also represent irony.

OK.  So?

> _Please_ get the point.

That is precisely what I am trying to do.  (Actually, at this point
I am trying to figure out if there actually *is* a point to be gotten.
I am beginning to have my doubts.)

In any case, it is clear that I am not going to get the point from
your explanations.  So, Erik, be quiet, and if there is anyone out
there who thinks they understand what Erik is trying to say and thinks
they can explain it to me (and is willing to try) please do.  Otherwise
let's drop this.

E.
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166902217919481@naggum.no>
* Erann Gat
| In any case, it is clear that I am not going to get the point from
| your explanations.

  Good, we agree on something, but it is obviously because you don't
  read anything I write, anyway, except what you can take potshots at.

| So, Erik, be quiet

  So, Mr. Gat, what would it take for you to realize what you're doing?

  You started to ask really annoying questions with so much silliness
  built into them there was no way you could be satisfied unless you
  could "win" an idiotic fight, which you have tried ever since, and
  you proceeded to get even more personal than the last time you had
  diarrhea in public.  Can you _please_ get over whatever it is your
  _real_ problem is?  Feel free to drop this any time, but leave me
  out of it.  This is your personal need for something distasteful,
  whatever it is; it has _nothing_ to do with me or hypertext or Lisp
  or anything else.  If you don't have something worthwhile to say,
  don't pretend it's my fault.

#:Erik
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <3918F6E9.9505F5A3@san.rr.com>
>   You started to ask really annoying questions...

Which is to say someone found them annoying, not that the
questions per se were questions that are, by nature, annoying,
don't you think? To wit: they were annoying to *you*.



C/
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166928025031321@naggum.no>
* Courageous <········@san.rr.com>
| To wit: they were annoying to *you*.

  What a brilliant piece of insight!  I'm glad you're helping us
  figure out these difficult things.

  Some real wit: "Questions" that are followed by a denial of any
  possibility of accepting an answer are inherently destructive.  Yes,
  I find that annoying.  People who ask "questions" only so they can
  pick a fight with people annoy me.  People who have a track record
  of listening only to themselves talk also annoy me.  But you know
  all about this, already.  You've been reasonable lately, however,
  and you have seen me answer your questions with care and interest.
  _You_ should know by now that if you want to be stupid, you get what
  you deserve from me, but if you want to be productive and you listen
  to other people's opinions and ideas when you ask them questions, I
  answer with care and interest.  Erann Gat doesn't have any interest
  in what he's asking.  He's out to deny that I have said anything
  worthwhile (see his replies for specific clues to this motivation),
  which has been on his agenda for a long time, and he's told me, face
  to face, that he thinks it's productive to employ an amazingly
  unintelligent copycat version of what he _doesn't_ understand that
  I'm doing in order to shut me down.  Yes, that's very annoying.
  Erann Gat is an annoying parasite as long as he is in this mode, and
  he doesn't get out of it by himself.  When I answered Espen Vestre's
  followup questions, Erann Gat proved that he didn't read it at all,
  only continued to pick a fight, which is his real goal.  Yes, that's
  quite annoying.  He can be quite productive and interesting when he
  gets over his personal problems, however, like a few other people
  who can't deal with my rejecting their silliness.

  Now, consider whether you want to help Erann Gat on his mission from
  the Gods or whether you want to help shut him down before he makes
  his usual rounds of insane accusations.  He's been known to accuse
  people in his typical roundabout ways of Holocaust revisionism when
  he doesn't understand what they say, and I found that pretty damn
  annoying, too.
  
#:Erik
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w6k8h2zugt.fsf@wallace.nextel.no>
Erik Naggum <····@naggum.no> writes:

>   Some real wit: "Questions" that are followed by a denial of any
>   possibility of accepting an answer are inherently destructive.  Yes,
>   I find that annoying.  People who ask "questions" only so they can
>   pick a fight with people annoy me.  

Erik, sometimes you are missing the distinction between wanting to
pick a fight and trying to find counterexamples in order to understand
the answers...

It seems like it's not really clear what the problem we're discussing
really *is*.  _Which_ flaws of HTML are we really after?  Someone
seems to think that it's the static nature of HTML documents, which
seems beside the point to me.  Aren't we just talking about the long
realized fact that HTML documents have much too little _structure_
(much less than e.g. LaTeX documents) in order to be efficiently
automatically processed for any other purpose than rendering them on
your screen?

(The most irritating about this thread, though, is that I can't even
 remember why on earth we started discussing the flaws of HTML in this
 newsgroup)
-- 
  (espen)
From: Pierre R. Mai
Subject: Re: LISP and AI
Date: 
Message-ID: <873dnq91s6.fsf@orion.dent.isdn.cs.tu-berlin.de>
Espen Vestre <·····@*do-not-spam-me*.vestre.net> writes:

> It seems like it's not really clear what the problem we're discussing
> really *is*.  _Which_ flaws of HTML are we really after?  Someone

It seems to me that the flaw under discussion was the limited semantic
model (and therefore the limited technological implementation) of
linking that is embodied in HTML:

a) Links are inherently uni-directional in HTML:  There is no way to
   traverse a link from the destination to the source (without having
   to have traversed it in the "right" direction in the first place).

b) Links are always embedded in the "source" document.  You can't have
   "third-party" links, or indeed, because of a), second-party links
   (e.g. including a link from A to B in B, instead of in A).

c) Indeed, HTML doesn't recognise that links can have varying roles to
   play:  The link between a translation and an original text is very
   different in semantics and pragmatics (as well as application
   handling) from the link that links a comment to the text commented
   on, etc.

d) The underlying addressing model is severely limited:

   - Addressing for source and destination of a link is asymmetric:
     The source part uses implicit addressing, the destination uses url
     + fragment addressing.
   - Fragment addressing is too coarse, doesn't support ranges
     other than those of the element hierarchy, and requires
     cooperation from the author of the destination document.

There are more flaws that can be directly attributed to HTML's
linking model, as well as other flaws that result out of the
interaction with other HTML/HTTP/Web design choices or accidents,
like the current domination of location-based URL-based addressing
vs. location-independent URN-based addressing.

Now I can understand the rationale for chosing a severely limited
linking model, namely ease of understanding and use for the lay
person, though I am not bound to agree that a richer model couldn't
have been sneaked past the lay person.  But be that as it may, it
doesn't remove the severe technical and semantic limitations of HTML's
linking model.

BTW:  I've seen the "but any of these can be implemented using HTML's
linking (and addressing) model and/or using extra-HTML means, like
dynamic HTML generation" argument raised.  Let me just say that I (as
well as probably many other readers of c.l.l) am using Common Lisp,
because I don't think that this argument has any merit when used
w.r.t. programming languages,  and doubly so when used in the context
of document description languages:

- Anything that can be written in Common Lisp can be written in
  assembler.  But that doesn't mean that anything that can be
  expressed in Common Lisp can be expressed in assembler:  Meaning and
  intent get lost during down-translation.  This is evil in the case
  of programming languages, but it is doubly so in the case of DDLs.

- The use of extra-lingual constructs and mechanisms to implement
  semantically rich linking really deprives the underlying DDL of it's
  raison d'être:  DDLs exist to let users describe as much of the
  semantic content of documents as is practicable and useful.
  Resorting to extra-lingual means to denote arguably useful semantic
  constructs like bi-directional links only shows the
  limitations/unsuitability of the underlying DDL.

Of course it can be argued (and has been), that DDLs themselves are
really misguided and futile attempts at codifying semantics.  I don't
want to go there in c.l.l, though.

> seems to think that it's the static nature of HTML documents, which
> seems beside the point to me.  Aren't we just talking about the long

I quite agree that IMHO the issue under discussion is not really
related to the dynamic vs. static debate, especially since static
vs. dynamic are not absolute concepts when applied to documents.

> realized fact that HTML documents have much too little _structure_
> (much less than e.g. LaTeX documents) in order to be efficiently
> automatically processed for any other purpose than rendering them on
> your screen?

While this may be considered a superset of the problem under
discussion here, the limitations of HTML's linking and addressing
models is a much more specific, and -- given the goals and uses of
HTML in the Web -- a much more serious problem, IMHO.

> (The most irritating about this thread, though, is that I can't even
>  remember why on earth we started discussing the flaws of HTML in this
>  newsgroup)

IIRC, because of a offhand remark by Erik, during the critique of
Franz' current HTML-only delivery of their manuals (which AFAIK will
be changed with the release of ACL 6.0).

IMHO the thread would be much less irritating, if people took the
trouble of reading about less retarded models for linking, like
e.g. HyTime.  There are very short tutorials and introductions to
HyTime, so that reading the non-trivial standard isn't really needed
to get a basic understanding of some of the concepts contained
therein.  Note that HyTime is neither the beginning nor the end of
serious thought about the semantics of linking, addressing and
Hypertext/HyperMedia, but coming from HTML, it should provide enough
food for thought for starters.

Without this, the thread has a tendency to degenerate into the common
newbie discussion with people coming upon a community and body of
work, and out-right ignoring the experience embodied in the community
and their body or work, without taking the trouble to understand them
first.  The CL community is often the "victim"[1] of such behaviour, so
it seems we should strive to avoid such behaviour w.r.t. other
communities.

Regs, Pierre.

Footnotes: 
[1]  The real victim of such behaviour is really the person itself,
     since it will be denied the fruits of labour and thought the
     community has to offer...

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <391950f3_3@goliath.newsfeeds.com>
>  He's been known to accuse
>   people in his typical roundabout ways of Holocaust revisionism when
>   he doesn't understand what they say, and I found that pretty damn
>   annoying, too.
>
> #:Erik

Enter Janos.

Please Erik (or anybody else), answer this question:
What does "Holocaust revisionism" mean?

Janos Blazi




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w64s86wptu.fsf@wallace.nextel.no>
"Janos Blazi" <······@netsurf.de> writes:

> What does "Holocaust revisionism" mean?

Certainly, you must have heard about the David Irving Trial?

"The Holocaust History Project" (http://www.holocaust-history.org/)
seems to be a good (*) starting point for learning about recent Holocaust
revisionism, including coverage of David Irvings writings and the
trial.

(but let's keep this out of c.l.l, o.k.?)

(*) At least it looks o.k. to me
-- 
  (espen)
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <39197155_3@goliath.newsfeeds.com>
> > What does "Holocaust revisionism" mean?
>
> Certainly, you must have heard about the David Irving Trial?
>
> "The Holocaust History Project" (http://www.holocaust-history.org/)
> seems to be a good (*) starting point for learning about recent Holocaust
> revisionism, including coverage of David Irvings writings and the
> trial.
>
> (but let's keep this out of c.l.l, o.k.?)

Well, Erik started talking about it and you did not admonish him either... I
think I should be permited to talk about it as well.

I am not going to go through that homepage and I did not hear about David
Irving either. What I am interested is this:
Do the revisionists deny the Holocaust or do they say that it happened ?

(Actually Erik compared Erann Gat's way of doing things to such "Holocaust
revisionism" (which was a strange comparison by the way for somebody who's
only "sin" was that maybe he did not understand how references worked) and I
should like to find out, which point of view is bad in Erik's opinion.)

Janos Blazi




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w6zopytq46.fsf@wallace.nextel.no>
"Janos Blazi" <······@netsurf.de> writes:

> Well, Erik started talking about it and you did not admonish him either... 

honestly, I didn't read that posting to its end because I'm tired of
all the noise in this newsgroup, including your attempt at trying
to inform yourself on well-known political topics in a programming
newsgroup.

> think I should be permited to talk about it as well.
> 
> I am not going to go through that homepage and I did not hear about David
> Irving either. 

So read an old issue of Der Spiegel before you ask any more, OK?
http://www.spiegel.de/politik/ausland/0,1518,72542,00.html

Having not heard about the David Irving trial is so unbelievable (*) that
I wonder which newspapers you read or television news you watch.

> (Actually Erik compared Erann Gat's way of doing things to such "Holocaust
> revisionism"

No, he didn't, read it again!

(*) I happened to be in Germany at the time he lost his case, and it
    was very well covered by german press, including local newspapers.
-- 
  (espen)
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <391d94ba_3@goliath.newsfeeds.com>
Espen Vestre <·····@*do-not-spam-me*.vestre.net> schrieb in im Newsbeitrag:
··············@wallace.nextel.no...
> "Janos Blazi" <······@netsurf.de> writes:
>
> > Well, Erik started talking about it and you did not admonish him
either...
>
> honestly, I didn't read that posting to its end because I'm tired of
> all the noise in this newsgroup, including your attempt at trying
> to inform yourself on well-known political topics in a programming
> newsgroup.
>
> > think I should be permited to talk about it as well.
> >
> > I am not going to go through that homepage and I did not hear about
David
> > Irving either.
>
> So read an old issue of Der Spiegel before you ask any more, OK?
> http://www.spiegel.de/politik/ausland/0,1518,72542,00.html
>
> Having not heard about the David Irving trial is so unbelievable (*) that
> I wonder which newspapers you read or television news you watch.
>
> > (Actually Erik compared Erann Gat's way of doing things to such
"Holocaust
> > revisionism"
>
> No, he didn't, read it again!
>
> (*) I happened to be in Germany at the time he lost his case, and it
>     was very well covered by german press, including local newspapers.
> --
>   (espen)

Well, thank you for the work you invested to find this Spiegel article. Now
I have read it and I know what happened, but still it would have been much,
much simpler to say Irving is denying Holocaust. (I saw that the situation
was more complicated so that with my knowledge no judgement is possible.)

On the other hand I do not understand how my (or anybody's) postings can
make you tired. Why don't you simply ingnore them if this is a problem for
you?
I admit that your contribution to this newsgroup is more valuable than mine.
But still: What source for the goose is source for the gander and I feel
none of us should put any pressure on others, not to post about certain
things, as long they do it decently.

And the third point is: I may be old fashioned but to write something in
this NG and to tell it to somebody in real life makes no difference to me.

J.B.




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w6zopiizw2.fsf@wallace.nextel.no>
"Janos Blazi" <······@netsurf.de> writes:

> And the third point is: I may be old fashioned but to write something in
> this NG and to tell it to somebody in real life makes no difference to me.

ok, so contemplate on that statement and think about what happens in
_real_life_ when discussions get astray...

-- 
  (espen)
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <39297a43_3@goliath.newsfeeds.com>
> ok, so contemplate on that statement and think about what happens in
> _real_life_ when discussions get astray...

What happens?
J.B.




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w6k8gkigft.fsf@wallace.nextel.no>
"Janos Blazi" <······@netsurf.de> writes:

> What happens?

*plonk*

-- 
  (espen)
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <392e805e_1@goliath.newsfeeds.com>
Espen Vestre <·····@*do-not-spam-me*.vestre.net> schrieb in im Newsbeitrag:
··············@wallace.nextel.no...
> "Janos Blazi" <······@netsurf.de> writes:
>
> > What happens?
>
> *plonk*
>
> --

What does that mean?
J.B.




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Joe Marshall
Subject: Re: LISP and AI
Date: 
Message-ID: <hfbl9vqn.fsf@alum.mit.edu>
"Janos Blazi" <······@netsurf.de> writes:

> Espen Vestre <·····@*do-not-spam-me*.vestre.net> schrieb in im Newsbeitrag:
> ··············@wallace.nextel.no...
> > "Janos Blazi" <······@netsurf.de> writes:
> >
> > > What happens?
> >
> > *plonk*
> >
> > --
> 
> What does that mean?
> J.B.

From the Jargon file:

plonk

[USENET: possibly influenced by British slang `plonk' for cheap booze,
or `plonker' for someone behaving stupidly] 

The sound a newbie makes as he falls to the bottom of a kill file.
This term (usually written "*plonk*") is a form of public ridicule.

---------

I think it means that Mr. Vestre is no longer interested in your
comp.lang.lisp posts.
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <392eb854_3@goliath.newsfeeds.com>
> > > *plonk*
> > >
> > > --
> >
> > What does that mean?
> > J.B.
>
> From the Jargon file:
>
> plonk
>
> [USENET: possibly influenced by British slang `plonk' for cheap booze,
> or `plonker' for someone behaving stupidly]
>
> The sound a newbie makes as he falls to the bottom of a kill file.
> This term (usually written "*plonk*") is a form of public ridicule.
>
> ---------
>
> I think it means that Mr. Vestre is no longer interested in your
> comp.lang.lisp posts.

Thx. Finally he is following my advice!
J.B.




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <391d94b4_3@goliath.newsfeeds.com>
> apparently you can read enough to understand the words.  now please
> proceed to understand the meaning of sentences.  maybe you then will be
> able not to throw completely unfounded accusations around

Huh?
He wrote
" He's [i.e. Erann Gat (J.B.)] been known to accuse
  people in his typical roundabout ways of Holocaust revisionism [...]."

>
> > I am not going to go through that homepage and I did not hear about
David
> > Irving either. What I am interested is this:
> > Do the revisionists deny the Holocaust or do they say that it happened ?
>
> you did ask the question, somebody points you to an answer, and now you
> say you won't have a look at it?  what does that say about the sincerity
> of your question?

Well, it may indicate that I am lazy, nothing more. But I simply wanted to
be  given a "yes or no" answer. I did not wanted to be thoroughly informed.
(Now I shall take a look, though.)

I do not read the press and though I posess a television set, I very rarely
switch it on. I am not interested in this filth but this time I became
curious.

J.B.




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: William Deakin
Subject: Re: LISP and AI
Date: 
Message-ID: <391986C1.E59FB348@pindar.com>
Janos Blazi wrote:

> What does "Holocaust revisionism" mean?

Ask David Irving.
From: Janos Blazi
Subject: Re: LISP and AI
Date: 
Message-ID: <39197a0e_1@goliath.newsfeeds.com>
> Ask David Irving.

Maybe he can read this posting.
J.B.




-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
From: Christopher Browne
Subject: Re: LISP and AI
Date: 
Message-ID: <S11U4.86397$MB.1791037@news6.giganews.com>
Centuries ago, Nostradamus foresaw a time when Janos Blazi would say:
>>  He's been known to accuse
>>   people in his typical roundabout ways of Holocaust revisionism when
>>   he doesn't understand what they say, and I found that pretty damn
>>   annoying, too.
>>
>> #:Erik
>
>Enter Janos.
>
>Please Erik (or anybody else), answer this question:
>What does "Holocaust revisionism" mean?

It generally refers to the situation where people propose that claims
about there being an event in World War II where Jews as well as a
number of other less numerous identifiable minorities [1] were rounded
up, essentially for massacre, commonly termed "The Holocaust," does
not represent historical fact.

[1] <http://members.aol.com/TeacherNet/HoloFAQ.html#Q11> - Other
notable minorities that suffered massacre included Gypsies,
homosexuals, Jehovah's Witnesses, and such...
-- 
Don't panic.
-- The Hitchhiker's Guide to the Galaxy
········@ntlug.org- <http://www.ntlug.org/~cbbrowne/lsf.html>
From: thi
Subject: Re: LISP and AI
Date: 
Message-ID: <m2r8zxjxnld.fsf@netcom9.netcom.com>
···@jpl.nasa.gov (Erann Gat) writes:

> In any case, it is clear that I am not going to get the point from
> your explanations.  So, Erik, be quiet, and if there is anyone out
> there who thinks they understand what Erik is trying to say and thinks
> they can explain it to me (and is willing to try) please do.  Otherwise
> let's drop this.

google's rendering requires creation of a new chunk of output html based
(presumably) on the cached version of the input html.  when erik naggum
says "HTML does not allow us to work with documents we do not own or
control except by pointing at them as static objects", the phrase "work
with" can be considered "work with directly".  indirection here is not
valued highly because of the danger of version skew.  google-rendered
pages warn of this, too.

thi
From: Christopher Browne
Subject: Dynamics of HTML
Date: 
Message-ID: <Ha3S4.69010$MB.1435854@news6.giganews.com>
Centuries ago, Nostradamus foresaw a time when Erann Gat would say:
>In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:
>> * Erann Gat
>> | Not true.  For a simple counterexample see Google's "show matches"
>> | feature, which renders HTML documents with (dynamically selected)
>> | glossary terms highlighted.
>> 
>>   PostScript can also represent irony.
>
>OK.  So?
>
>> _Please_ get the point.
>
>That is precisely what I am trying to do.  (Actually, at this point
>I am trying to figure out if there actually *is* a point to be gotten.
>I am beginning to have my doubts.)

The point is that you aren't seeing the difference between "static"
and "dynamic."

HTML is inherently a _STATIC_ language.  That is, in fact,
more-or-less the point of the language.  

HTML _doesn't_ compute things, unless you extend it by embedding some
other language in it (e.g. - stuff like embedded Perl, PHP).  The same
is true for anything based on SGML.

Thus:
> (staticp 'SGML)
T
> (staticp 'HTML)
T

The fact that Google presents what _appears_ to be a more dynamic face
on things does not mean that HTML has gotten any more dynamic.

It merely displays that you can build indices that provide some more
powerful static views of the data.  The value of that should not be
underestimated, but it still does not make it dynamic.
-- 
Rules of the Evil Overlord #121. "If I come into possession of an
artifact which can only be used by the pure of heart, I will not
attempt to use it regardless." <http://www.eviloverlord.com/>
········@hex.net- <http://www.hex.net/~cbbrowne/lsf.html>
From: Erann Gat
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <gat-1005001208160001@milo.jpl.nasa.gov>
In article <······················@news6.giganews.com>, ········@hex.net wrote:

> Centuries ago, Nostradamus foresaw a time when Erann Gat would say:
> >In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:
> >> * Erann Gat
> >> | Not true.  For a simple counterexample see Google's "show matches"
> >> | feature, which renders HTML documents with (dynamically selected)
> >> | glossary terms highlighted.
> >> 
> >>   PostScript can also represent irony.
> >
> >OK.  So?
> >
> >> _Please_ get the point.
> >
> >That is precisely what I am trying to do.  (Actually, at this point
> >I am trying to figure out if there actually *is* a point to be gotten.
> >I am beginning to have my doubts.)
> 
> The point is that you aren't seeing the difference between "static"
> and "dynamic."

I don't think that was Erik's point.  His original statement was something
to the effect that HTML was deficient because it could not express a
third-party link.  I still don't know what a third-party link is or
what it's supposed to be good for.  The only concrete example I have
seen in this discussion is Pierre's reference to HyTime (Thanks Pierre!)
but HyTime Ilinks seem to me to be nothing more than pairs of simple
one-way links with indirection.  Certainly HyTime seems just as static as
HTML.

> HTML _doesn't_ compute things,

If you mean that HTML is not a programming language, granted, but so what?
What could you do more easily with HTML if it were a programming language?
Would that make it easier to, say, implement GSM (Google Show Matches)?

(If you literally mean that HTML doesn't compute things, then Common Lisp
doesn't compute things either.  *Programs* written in Common Lisp compute,
but Common Lisp itself does not.)

> The fact that Google presents what _appears_ to be a more dynamic face
> on things does not mean that HTML has gotten any more dynamic.
> 
> It merely displays that you can build indices that provide some more
> powerful static views of the data.  The value of that should not be
> underestimated, but it still does not make it dynamic.

Being static is not in and of itself necessarily a drawback.  It's
only a drawback if it makes it significantly harder (or impossible)
to do something useful.  Erik seems to be claiming that there is
something about the structure of HTML that makes it significantly
harder to do certain useful things.  The example he cited was setting
up glossaries.  I cited Google as an existence proof that doing glossaries
with HTML is not hard.  (It's not conclusive proof, of course, because
we don't really know how much work Google had to put in to make this
happen, but I think it's pretty clear that it's not all that hard.)

I'll say this again: what makes Web documents static from the point of
view of third parties who don't own or control the documents is not the
fact that they are written in HTML, it's the fact that they don't own or
control the document.  The document could be in Smalltalk but it will
still be a static document to you if you don't have write permission for it.

E.
From: Fernando
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <onskhsknl38rpv1u4vuc9odr2jb9tfhr9k@4ax.com>
On Wed, 10 May 2000 12:08:16 -0700, ···@jpl.nasa.gov (Erann Gat)
wrote:


>If you mean that HTML is not a programming language, granted, but so what?
>What could you do more easily with HTML if it were a programming language?

	Write html files, for example (seriously ;-).  When you need
to write many pages with a common look and feel, your life suddenly
becomes miserable, precisely because html doesn't have any scripting
capabilities.  For example, if you need to display images always in a
standard way (with low and high bandwidth versions, a border and a
caption) the only solution html gives you is copy and paste. :-P

	Now I'm using a html preprocessor for these purposes, but a
markup language implemented in Common Lisp (or scheme) that would let
you use all the lisp tools to handle the data and latter render to
sgml would be much better...

>Being static is not in and of itself necessarily a drawback.  It's
>only a drawback if it makes it significantly harder (or impossible)
>to do something useful.  

	Erik is pretty "static" too, so forget about having the last
word... };-)

>Erik seems to be claiming that there is
>something about the structure of HTML that makes it significantly
>harder to do certain useful things.  The example he cited was setting

	I'm afraid I have to agree with him here.  Html comes from
sgml, and it shows it's low origin: an unnecessarily complicated
syntax to solve what Lisp had solved (in a better way) decades ago...






//-----------------------------------------------
//	Fernando Rodriguez Romero
//
//	frr at mindless dot com
//------------------------------------------------
From: John Clonts
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <8fee37$voe$1@nnrp1.deja.com>
In article <··································@4ax.com>,
  Fernando <·······@must.die> wrote:
> On Wed, 10 May 2000 12:08:16 -0700, ···@jpl.nasa.gov (Erann Gat)
[...snip...]
> >Erik seems to be claiming that there is
> >something about the structure of HTML that makes it significantly
> >harder to do certain useful things.  The example he cited was setting
>
> 	I'm afraid I have to agree with him here.  Html comes from
> sgml, and it shows it's low origin: an unnecessarily complicated
> syntax to solve what Lisp had solved (in a better way) decades ago...
>

Could you elaborate one level on this last part--  What had lisp solved,
and how?

Thank you,
John



Sent via Deja.com http://www.deja.com/
Before you buy.
From: Fernando
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <02lnhss2i9jdti670sasb4bpshrplahc9q@4ax.com>
On Thu, 11 May 2000 13:54:56 GMT, John Clonts <······@my-deja.com>
wrote:


>> 	I'm afraid I have to agree with him here.  Html comes from
>> sgml, and it shows it's low origin: an unnecessarily complicated
>> syntax to solve what Lisp had solved (in a better way) decades ago...
>>
>
>Could you elaborate one level on this last part--  What had lisp solved,
>and how?

	What I mean is that it would be OK to represent structured
text as lisp code (instead of sgml).  After all, when you pass an sgml
text through nsgmls you get something that looks like a s-expresion,
so it can't be a totally crazy idea.. ;-)

	You could have the equivalent of a sgml page coded as a big
lisp list.  Not only you have a simple and easy to parse syntax
(compare this with sgml), but you would have parts that are
dynamically generated (thus removing the need for an html
pre-processor --see my previous post) but you would have all the Lisp
tools availlable to modify and trnasform this text. 

	Think about how much work you would need to design a
tree-walker in Lisp to process this list in order to render the text
into rtf, html, etc...  Now think about doing the same thing to an
sgml document...

	I really think that sgml is way too complex for the rather
simple goals it achieves.  




//-----------------------------------------------
//	Fernando Rodriguez Romero
//
//	frr at mindless dot com
//------------------------------------------------
From: Erik Naggum
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <3167117039809820@naggum.no>
* Fernando <·······@must.die>
| I really think that sgml is way too complex for the rather
| simple goals it achieves.  

  After spending about 6 years with SGML, and in the process becoming
  an international authority, I came to conclude that the complexity
  of SGML qua language outweighs its benefits even when applied very
  carefully and intelligently, and that never happened because people
  didn't really understand what the simple goals were.  I considered
  this fairly tragic at the time I decided to quit SGML altogether.
  (And "improvements" like XML actually make things a lot worse.)

  As for SGML and Lisp: I wrote a complete SGML parser in Emacs Lisp
  in 1990 and had a lot of fun with it, but it was very hard for other
  people to use for some reason.  When I was encouraged to speak about
  it, one of the forefigures in the SGML world commented "that's great
  -- for you and the other two guys who know Lisp" and ridiculing Lisp
  solutions became de rigeur in the SGML community, even though people
  struggled with problems that various Lisp solutions had solved.

#:Erik
From: Espen Vestre
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <w6bt2c1199.fsf@wallace.nextel.no>
Erik Naggum <····@naggum.no> writes:

>   (And "improvements" like XML actually make things a lot worse.)

Could you care to elaborate on that?  It would be rather on-topic,
actually, since I imagine I'm not the only one on c.l.l who gets
bombarded with requests for buzzword compatibility in lisp applications, 
with XML one of the most frequent.

My impression of XML so far is that the ideas behind it seem sensible,
but that several of the applications I've seen do little more than
wasting enormous amount of bytes (And then I'm not basically thinking
of the sick documents you get out of Office 2000, but rather the use
of XML-based formats for purposes where size and quick parsability
really counts, for instance "internet call data record" formats).

-- 
  (espen)
From: Christopher Browne
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <Uh2T4.77418$VR.1516930@news5.giganews.com>
Centuries ago, Nostradamus foresaw a time when Espen Vestre would say:
>Erik Naggum <····@naggum.no> writes:
>
>>   (And "improvements" like XML actually make things a lot worse.)
>
>Could you care to elaborate on that?  It would be rather on-topic,
>actually, since I imagine I'm not the only one on c.l.l who gets
>bombarded with requests for buzzword compatibility in lisp applications, 
>with XML one of the most frequent.
>
>My impression of XML so far is that the ideas behind it seem sensible,
>but that several of the applications I've seen do little more than
>wasting enormous amount of bytes (And then I'm not basically thinking
>of the sick documents you get out of Office 2000, but rather the use
>of XML-based formats for purposes where size and quick parsability
>really counts, for instance "internet call data record" formats).

The really regrettable thing about XML is that it expands the data in
ways that don't actually gain you anything.

For instance:
<mainlist>
  <sublist>
   <item> whatever </item>
   <item> whatever </item>
   <item> whatever </item>
  </sublist>
  <sublist>
   <item> whatever </item>
   <item> whatever </item>
  </sublist>
</mainlist>  

might be expressed, in s-expression form (ignoring the notion of there
being some sort of "quoting" conventions), as:
(mainlist
  (sublist
    (item whatever)
    (item whatever)
    (item whatever))
  (sublist
    (item whatever)
    (item whatever)))

The latter expression is certainly more compact.

The question is, what is _gained_ by having the end tags?

I think the answer to that is "nothing."

1.  There are vague contentions made that it somehow makes the
document more robust against corruption, which I find not terribly
believable.

If the former has a chunk ripped out of it, you might get the
following:

<mainlist>
  <sublist>
   <item> whatever </item>
   <item> what
list>
   <item> whatever </item>
   <item> whatever </item>
  </sublist>
</mainlist>  

It is not evident that this is any more (or less) recoverable than the
s-expression equivalent:

(mainlist
  (sublist
    (item whatever)
    (item what
list
    (item whatever)
    (item whatever)))

2.  It is sometimes claimed that the XML format is more "human
readable."

There are, of course, compelling pithy quotes.

  "Parentheses?  What parentheses? I haven't noticed any parentheses
  since my first month of Lisp programming.  I like to ask people who
  complain about parentheses in Lisp if they are bothered by all the
  spaces between words in a newspaper..."  
  -- Kenny Tilton <····@liii.com>

Further, if the claim were true, then the computing world would be
clamouring to move from C++ to one of the Wirthian languages, since:
  Begin
    I := 25 * cost;
  end;
is "obviously" more readable than
  {
    i = 25 * cost;
  }

The fact that programmers find it quite acceptable to use { braces }
to delimit blocks of code in C, C++, and Perl indicates that the
"easier to read" claim can't be _all_ that true.

3. The one thing that strong XML proponents claim as a 'persistent'
area of superiority is the fact that XML specifies the use of Unicode.
What prevents a Unicode extension of s-expressions is beyond me...

I'm not sure that any of these items so far are representative of what
#erik is talking about, when he indicates that XML is "a lot worse"
than SGML.

4.  I _think_ that part of his complaint with SGML/XML is that neither
are the least bit "reflective."

With Lisp, you can transform the code itself into other forms, as well
as representing both data _and programs_ in the same language.

With SGML, all that the standards buy you is a parser.  You need to
add in some separate tools in order to build an application.

With XML, they have "standardized" in such a way that you wind up
having three or four languages of varying syntax:
  - Your document is written in XML.
  - The DTD uses a separate "sublanguage" of XML.
  - You write transformers in XSL.
  - Parts of the rendering get specified in CSS2.
Kaboom.  Effectively four languages, none of them reflective.

Do the job in Lisp, and you only need _one_ language that likely has
simpler syntax than any of the XML ones.
-- 
"Funny, the only  thing that makes me go Keanu  about Microsoft is the
fact  that  they are  constantly  behind the  times  yet  claim to  be
innovating." -- Steve Lamb <········@despair.rpglink.com>
········@hex.net- <http://www.hex.net/~cbbrowne/lsf.html>
From: Joe Marshall
Subject: [NOISE] Re: Dynamics of HTML
Date: 
Message-ID: <hfc15b51.fsf_-_@alum.mit.edu>
········@news.hex.net (Christopher Browne) writes:

> The really regrettable thing about XML is that it expands the data in
> ways that don't actually gain you anything.
> 
> The question is, what is _gained_ by having the end tags?
> 
> I think the answer to that is "nothing."

Having an end tag certainly makes it more `brittle', and XML with end
tags can be compressed to a higher degree (relative to the input size,
of course).
From: Gareth McCaughan
Subject: Re: [NOISE] Re: Dynamics of HTML
Date: 
Message-ID: <86og68lnlb.fsf@g.local>
Joe Marshall wrote:

> Having an end tag certainly makes it more `brittle',

Do you mean "having no end tag"?

>                                                      and XML with end
> tags can be compressed to a higher degree (relative to the input size,
> of course).

You could get even better compression if you mandated
1000 spaces before each closing tag. :-)

-- 
Gareth McCaughan  ················@pobox.com
sig under construction
From: Christopher Browne
Subject: Re: [NOISE] Re: Dynamics of HTML
Date: 
Message-ID: <F11U4.86390$MB.1791037@news6.giganews.com>
Centuries ago, Nostradamus foresaw a time when Gareth McCaughan would say:
>Joe Marshall wrote:
>
>> Having an end tag certainly makes it more `brittle',
>
>Do you mean "having no end tag"?

No, the requirement is that there be a "named" end tag, as with:
  <listitem>
   stuff...
  </listitem>   <---- end tag that is explicitly named

The fact that you need to name the end tag means one more thing that
you can get wrong.

The "Lisp Way" would be more like:
  (listitem
   stuff)

which doesn't require that you spell "listitem" correct _twice_.

>> tags can be compressed to a higher degree (relative to the input size,
>> of course).
>
>You could get even better compression if you mandated
>1000 spaces before each closing tag. :-)

The point is that the fact that an XML file may bloat a couple times
due to more verbose tagging isn't _all_ that important when it is
really easy to compress it for storage/transfer, and that compression
makes the bloat effectively disappear.

I took a reasonably sizable SGML document, bigdoc.doc.  Fully
normalized, with end tags and all, as would be the case for XML.

-rw-rw-rw-   1 user     group       35429 May 15 09:53 bigdoc.doc

I took that, and transformed it to a somewhat more Lisp-like
representation by turning all end tags into ")".  That amounts to
eliminating the replication of information in the end tags.  (The
results are useless for practical purposes, as I didn't turn it into
full scale S-expressions.  I don't think that's relevant here...)

Resulting file:

-rw-rw-rw-   1 user     group       30712 May 15 10:44 bigdoc.scm

I then compressed both files:
-rw-rw-rw-   1 user     group       10903 May 15 09:53 bigdoc.doc.gz
-rw-rw-rw-   1 user     group       10603 May 15 10:44 bigdoc.scm.gz

Apparently the redundancy wasn't particularly important; they compress
to virtually identical sizes.  A 2.75% difference does not trouble me
terribly much.

Sure, throwing in spurious spaces could lead to more widely variant
statistics, but the above represents results that have no
_intentional_ bias...

-- 
"You can only examine 10 levels of pushdown, because that's all the fingers
you have to stick in the listing."
-- Anonymous programmer - "TOPS-10 Crash Analysis Guide"
········@ntlug.org- <http://www.ntlug.org/~cbbrowne/lsf.html>
From: Erann Gat
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <gat-1105001031370001@milo.jpl.nasa.gov>
In article <··································@4ax.com>, Fernando
<·······@must.die> wrote:

> >Erik seems to be claiming that there is
> >something about the structure of HTML that makes it significantly
> >harder to do certain useful things.  The example he cited was setting
> 
>         I'm afraid I have to agree with him here.  Html comes from
> sgml, and it shows it's low origin: an unnecessarily complicated
> syntax to solve what Lisp had solved (in a better way) decades ago...

I agree that HTML has many drawbacks.  But inability to introduce a
third-party link isn't one of them -- as far as I can tell.  I'm
willing to be convinced otherwise, but so far I have not seen a
good argument.

E.
From: Pierre R. Mai
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <87n1lx53pd.fsf@orion.dent.isdn.cs.tu-berlin.de>
···@jpl.nasa.gov (Erann Gat) writes:

> I agree that HTML has many drawbacks.  But inability to introduce a
> third-party link isn't one of them -- as far as I can tell.  I'm
> willing to be convinced otherwise, but so far I have not seen a
> good argument.

Ok, first let's define third-party link:

  A third-party link is a link that expresses a connection between
  (a certain part of) a document A and (a certain part of) a document
  B, that is contain in a document C, with A, B and C being pair-wise
  unequal.

Now, without resorting to any program or process, how would you
represent this connection using HTML?

My contention is that you will find it impossible to directly express
said connection in HTML.

Just like most machine languages are unable to _express_ the concept
of a function call directly, HTML is unable to express this concept
directly.  This doesn't mean that it is impossible to _implement_ the
concept of a functions call in machine language (usually using a
combination of stack accessing and manipulation instructions, register
loading and storing and jump/call instructions),  just as it is not
impossible to _implement_ third party-links using HTML (usually via
the use of additional processes).  But that is beside the point, or
otherwise we'd all be programming in machine language, which we
aren't, and for good reasons, since expressive power is what counts,
both with programming languages, and even more so with document
description languages.

But I'm merely echoing things (and doing so poorly, I suspect) that
Erik has already pointed out...

Regs, Pierre.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Erann Gat
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <gat-1205000944460001@milo.jpl.nasa.gov>
In article <··············@orion.dent.isdn.cs.tu-berlin.de>, ····@acm.org
(Pierre R. Mai) wrote:

> ···@jpl.nasa.gov (Erann Gat) writes:
> 
> > I agree that HTML has many drawbacks.  But inability to introduce a
> > third-party link isn't one of them -- as far as I can tell.  I'm
> > willing to be convinced otherwise, but so far I have not seen a
> > good argument.
> 
> Ok, first let's define third-party link:
> 
>   A third-party link is a link that expresses a connection between
>   (a certain part of) a document A and (a certain part of) a document
>   B, that is contain in a document C, with A, B and C being pair-wise
>   unequal.
> 
> Now, without resorting to any program or process, how would you
> represent this connection using HTML?

Without resorting to any program or process how would you represent
this connection in *any* language?

> My contention is that you will find it impossible to directly express
> said connection in HTML.

Here is one of many, many possibilities:

<meta name=associated-links content="LINKA LINKB">
<a href=... REL="LINKA">...</a>
<a href=... REL="LINKB">...</a>

Let me try to speed up the discussion by anticipating some objections.

Objection: This is not legal HTML.
Answer: Yes it is.  Read section 5.2.5 and 5.7.3 of RFC 1866 carefully.

Objection: Browsers don't know what to do this this tag.
Answer: Of course they don't.  They don't know that to do with XLink
and HiTime and all these other schemes that are floating around either.
That's my whole point.  In order for *any* of these languages to do
*anything* useful you have to write a *program* that knows how to do
something useful with them.  This is tautological.  There are things
that current browsers can't do.  But to assign the cause of these
shortcomings to HTML is IMO, to borrow Erik's phrase, obviously wrong.
The deficiency is not in HTML, it's in the currently available crop of
HTML user agents.

> Just like most machine languages are unable to _express_ the concept
> of a function call directly, HTML is unable to express this concept
> directly.

Not true.  See above.  HTML is extensible through the meta tag and
other mechanisms (like adding URL schemes).  The claim that HTML
is unable to do these things shows a distressing lack of imagination.

>  This doesn't mean that it is impossible to _implement_ the
> concept of a functions call in machine language (usually using a
> combination of stack accessing and manipulation instructions, register
> loading and storing and jump/call instructions),  just as it is not
> impossible to _implement_ third party-links using HTML (usually via
> the use of additional processes).

It is not possible to *implement anything* using HTML.  HTML is not
a programming language.

>  But that is beside the point, or
> otherwise we'd all be programming in machine language, which we
> aren't, and for good reasons, since expressive power is what counts,
> both with programming languages, and even more so with document
> description languages.

And my point is that HTML is not as inexpressive as you say it is.

E.
From: Pierre R. Mai
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <87bt286vcs.fsf@orion.dent.isdn.cs.tu-berlin.de>
···@jpl.nasa.gov (Erann Gat) writes:

> Without resorting to any program or process how would you represent
> this connection in *any* language?

Maybe you interpreted "process" far more broadly than I intended, but
unless you include cognitive processes, I don't see how the existence
of a program or process is a pre-condition for representation:  If the
semantics of some construct are clearly documented, then the semantics
of an instance of said construct will remain regardless of the
existence of some process or program that in some way automatically
processes the construct (again excluding cognitive processes, since I
don't see the point in arguing about semantics in the absence of
cognition).

Take e.g. the current printed standards for SGML and DocBook, engrave
them in stone, and engrave a book encoded in DocBook in stone.  Let
them rust in peace for a couple of centuries.  Even if all knowledge
of SGML and all devices that automatically process SGML have fallen
into oblivion, will the semantic content of the document remain, as
long as there is enough societal overlap between the future and now
that allows any future finder of the stone tablets to read and
understand the standards.

A belief in the semantic content of markup in the absence (and
independent of) any program or process to automatically interpret it
is one of the foundations of SGML.  This is in contrast to e.g. Word
files, whose semantics are strongly coupled with one program, which is
constantly changing.

> > My contention is that you will find it impossible to directly express
> > said connection in HTML.
> 
> Here is one of many, many possibilities:
> 
> <meta name=associated-links content="LINKA LINKB">
> <a href=... REL="LINKA">...</a>
> <a href=... REL="LINKB">...</a>

In the absence of any document specifying the exact semantics of the
given meta name "associated-links" and of the rel attributes to a (the
current HTML standards specifically avoid assigning any semantics to
either), this has even less semantic content than the following
snippet[1]:

<p>
The following two links <A href=...>A</A> and <A href=...>B</A> or
somehow associated.
</p>

So this approach is totally missing the point:  Nobody claims that
HTML couldn't be enhanced to support expressing more interesting
linking relationships.  It's just the case that to my knowledge

a) no-one has, and even if, then
b) this extension has not come into wide-spread circulation, to
   warrant broad understanding of said semantics.

And the moment you rely on a program as the sole means of providing
the semantics of your constructs, you have entered MS Word land...

DDLs are not that different from human languages in this respect:
You can't just unilaterally start using "foobar" to express the
concept of a window, and expect it to carry any semantic contents
outside of your own perception.  To achieve that, you'll have to
document the intended semantic content in some more broadly accessible
and understandable form.

BTW: If your approach was "valid", you might as well claim that HTML
can express everything that can be expressed, and be done with it,
since you can place any construct of any language you want inside meta
tags and unconstrained attributes, or even comments.  Nobody claims
that CL can express everything that e.g. Fortran can, just because you
can place entire Fortran programs verbatim into certain constructs of
CL.

[ irrelevant straw-man objections and refutations snipped ]

> Not true.  See above.  HTML is extensible through the meta tag and
> other mechanisms (like adding URL schemes).  The claim that HTML
> is unable to do these things shows a distressing lack of imagination.

The moment I have to use imagination is the moment that semantics are
lacking, at least from the perspective of the recipient, which shows a
deficiency in communication.  This can't be the goal of HTML, or any
other DDL.

> >  This doesn't mean that it is impossible to _implement_ the
> > concept of a functions call in machine language (usually using a
> > combination of stack accessing and manipulation instructions, register
> > loading and storing and jump/call instructions),  just as it is not
> > impossible to _implement_ third party-links using HTML (usually via
> > the use of additional processes).
> 
> It is not possible to *implement anything* using HTML.  HTML is not
> a programming language.

???  Since when can you only use programming languages when
implementing something?  What happened to algorithms, data formats,
mathematics, knowledge of the problem domain, etc.?  Have they somehow
been subsumed into programming languages and I didn't notice?

> And my point is that HTML is not as inexpressive as you say it is.

Expressing something is more than uttering unintelligible words: It
presupposes the existence of a shared semantic model, or the mechanisms
to enhance the semantic model of your communication partner.  Since
both are absent w.r.t. more advanced linking models and HTML, I don't
accept that HTML as it stands can express what I want expressed.  Now
it may be that tomorrow the W3C publishes HyHTML, or that XHTML will
someday support a more advanced linking model.  But unless and until
they do, my point stands.

Regs, Pierre.


Footnotes: 
[1]  A third-party link is much more (and much less) than two somehow
associated links.  Underlying it is a different concept of linking.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Erann Gat
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <gat-1505001517270001@milo.jpl.nasa.gov>
In article <··············@orion.dent.isdn.cs.tu-berlin.de>, ····@acm.org
(Pierre R. Mai) wrote:

> ···@jpl.nasa.gov (Erann Gat) writes:
> 
> > Without resorting to any program or process how would you represent
> > this connection in *any* language?
> 
> Maybe you interpreted "process" far more broadly than I intended, but
> unless you include cognitive processes, I don't see how the existence
> of a program or process is a pre-condition for representation:  If the
> semantics of some construct are clearly documented, then the semantics
> of an instance of said construct will remain regardless of the
> existence of some process or program that in some way automatically
> processes the construct (again excluding cognitive processes, since I
> don't see the point in arguing about semantics in the absence of
> cognition).

Isn't cognition a process?

> A belief in the semantic content of markup in the absence (and
> independent of) any program or process to automatically interpret it
> is one of the foundations of SGML.  This is in contrast to e.g. Word
> files, whose semantics are strongly coupled with one program, which is
> constantly changing.

I agree that there is a significant distinction between the semantics of
SGML and the semantics of Word files, but I do not agree with you that
the source of that distinction is that SGML semantics are defined by a
document while the semantics of Word files are defined by a program.
The significant difference IMO is that the semantics of Word files are
controlled by a company (Microsoft) that is continuatlly making non-
backwards-compatible changes to the semantics for business reasons,
while the semantics of SGML are controlled by a consortium that tends
not to make such changes.  Stable semantics are more useful by some
metrics than unstable ones.  (Microsoft believes - quite correctly -
that unstable semantics are useful for Microsoft.)

Whether those semantics are described in a natural language document
or mathematical notation or as a computer program I think is irrelevant.
All of those semantic representations are meaningful *only* in the
context of some interpretive process. Whether that process is
"cognition" or "computation" or something else is IMO a minor
consideration.  The reality is that nearly all semantics are described
using a combination of the two approaches.  Standards are described in
terms of prose whose semantics are grounded in cognitive processes, and
in terms of reference implementations whose semantics are grounded in
computational processes.  The semantics of Unix, for example, are defined
by a combination of Posix documents, man pages, and de facto reference
implementations like Linux and Minix and FreeBSD.

> And the moment you rely on a program as the sole means of providing
> the semantics of your constructs, you have entered MS Word land...

No, the moment you rely on a program controlled by a company like
Microsoft as the sole means of providing the semantics of your
constructs then you have entered MS Word land.  But it would make
no difference if it were a standards document rather than a program
that controlled the semantics.  If Microsoft controls that document
you're in the same boat.  (In fact, this is exactly the situation in
the case of the the Windows API.)

> > Not true.  See above.  HTML is extensible through the meta tag and
> > other mechanisms (like adding URL schemes).  The claim that HTML
> > is unable to do these things shows a distressing lack of imagination.
> 
> The moment I have to use imagination is the moment that semantics are
> lacking, at least from the perspective of the recipient, which shows a
> deficiency in communication.  This can't be the goal of HTML, or any
> other DDL.

The Lisp standard says nothing about TCP/IP.  Nonetheless, Lisp is
capable of making TCP/IP streams.  Furthermore, it is possible to *see*
that Lisp is capable of this without ever having experienced an actual
Lisp implementation doing it.  But this requires some imagination.
Likewise, the HTML standard says nothing about third-party links.
Nonetheless, HTML is capable of expressing such links, and it is
possible, with a little imagination, to see that this is possible.
Put a little effort on top of the imagination and the result is called
progress.

> > >  This doesn't mean that it is impossible to _implement_ the
> > > concept of a functions call in machine language (usually using a
> > > combination of stack accessing and manipulation instructions, register
> > > loading and storing and jump/call instructions),  just as it is not
> > > impossible to _implement_ third party-links using HTML (usually via
> > > the use of additional processes).
> > 
> > It is not possible to *implement anything* using HTML.  HTML is not
> > a programming language.
> 
> ???  Since when can you only use programming languages when
> implementing something?  What happened to algorithms, data formats,
> mathematics, knowledge of the problem domain, etc.?  Have they somehow
> been subsumed into programming languages and I didn't notice?

Of course not.  Perhaps we mean different things by the word "implement."
According to Webster, implement means "Carry out, accomplish,
... to give practical effect to and ensure of actual fulfillment by
concrete measures."  Writing down an algorithm is not the same as
implementing it any more than drawing the design of a building is
the same as constructing it.  In the world of computation, "Giving
practical effect" to an algorithm is called programming.  When programming
is done using a language (it doesn't have to be, BTW) that language is
a programming language.  So *by definition* it's not possible to
implement something using a langauge that is not a programming language.

> > And my point is that HTML is not as inexpressive as you say it is.
> 
> Expressing something is more than uttering unintelligible words: It
> presupposes the existence of a shared semantic model, or the mechanisms
> to enhance the semantic model of your communication partner.  Since
> both are absent w.r.t. more advanced linking models and HTML, I don't
> accept that HTML as it stands can express what I want expressed.  Now
> it may be that tomorrow the W3C publishes HyHTML, or that XHTML will
> someday support a more advanced linking model.  But unless and until
> they do, my point stands.

If you *define* the expressiveness of HTML as restricted to what is
in the HTML standard then of course you are right.  But on this definition,
HTML is not capable of expressing, for example, a cookie, and Lisp is not
capable of constructing a TCP stream, because neither of those are in
their respective standards.  I see no benefit in choosing to view the
world in such restrictive terms.

E.
From: Jon S Anthony
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <39208AD5.6618@synquiry.com>
Erann Gat wrote:
> 
> Isn't cognition a process?

Who knows? (yes, I know all the std arguments concerning this...)


> (Pierre R. Mai) wrote:
> > Expressing something is more than uttering unintelligible words: It
> > presupposes the existence of a shared semantic model, or the mechanisms
> > to enhance the semantic model of your communication partner.  Since
> > both are absent w.r.t. more advanced linking models and HTML, I don't
> > accept that HTML as it stands can express what I want expressed.  Now
> > it may be that tomorrow the W3C publishes HyHTML, or that XHTML will
> > someday support a more advanced linking model.  But unless and until
> > they do, my point stands.
> 
> If you *define* the expressiveness of HTML as restricted to what is
> in the HTML standard then of course you are right.  But on this definition,
> HTML is not capable of expressing, for example, a cookie, and Lisp is not
> capable of constructing a TCP stream, because neither of those are in
> their respective standards.  I see no benefit in choosing to view the
> world in such restrictive terms.

Somehow, you still don't seem to have twigged the difference between the
expression of something and the implementation of it.


/Jon

-- 
Jon Anthony
Synquiry Technologies, Ltd. Belmont, MA 02478, 617.484.3383
"Nightmares - Ha!  The way my life's been going lately,
 Who'd notice?"  -- Londo Mollari
From: Ian Wild
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <392119DF.1E39AA08@cfmu.eurocontrol.be>
Erann Gat wrote:
> 
> ...But on this definition,
> HTML is not capable of expressing, for example, a cookie,

Just out of interest, by what definition WOULD make HTML
capable of expressing a cookie?  I was under the impression
cookies were a purely HTTP thing.
From: Pierre R. Mai
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <87puqmzead.fsf@orion.dent.isdn.cs.tu-berlin.de>
Ian Wild <········@cfmu.eurocontrol.be> writes:

> Erann Gat wrote:
> > 
> > ...But on this definition,
> > HTML is not capable of expressing, for example, a cookie,
> 
> Just out of interest, by what definition WOULD make HTML
> capable of expressing a cookie?  I was under the impression
> cookies were a purely HTTP thing.

Indeed they are, since they are used to keep track of sessions in the
otherwise session-less HTTP protocol.  Whether the payload of the HTTP
messages in question is or isn't HTML is a totally unrelated matter.
See RFC 2109 for details.

Regs, Pierre.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Erann Gat
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <gat-1605000902280001@milo.jpl.nasa.gov>
In article <·················@cfmu.eurocontrol.be>, Ian Wild
<········@cfmu.eurocontrol.be> wrote:

> Erann Gat wrote:
> > 
> > ...But on this definition,
> > HTML is not capable of expressing, for example, a cookie,
> 
> Just out of interest, by what definition WOULD make HTML
> capable of expressing a cookie?  I was under the impression
> cookies were a purely HTTP thing.

If I define the semantics of HTML to include those semantics that
are implemented by some browser or some set of browsers but are
not necessarily written down in the standard then HTML can express
many things that it cannot if we define the semantics to be strictly
those set down in the standard.  The point is that the expressiveness
of HTML depends on how you choose to define its semantics, and defining
its semantics to be those (and only those) written in the standard is
one choice, but not the only choice, and not even the only reasonable
choice.

Actually, it turns out that cookies are part of the HTML standard
because the META HTTP-EQUIV tag is part of the HTML standard.  So
my example is actually wrong.  But there are other examples, like the
<script> tag, that are ubiquitous but not in the standard.

E.
From: Pierre R. Mai
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <87itwez6pp.fsf@orion.dent.isdn.cs.tu-berlin.de>
···@jpl.nasa.gov (Erann Gat) writes:

> If I define the semantics of HTML to include those semantics that
> are implemented by some browser or some set of browsers but are
> not necessarily written down in the standard then HTML can express
> many things that it cannot if we define the semantics to be strictly
> those set down in the standard.  The point is that the expressiveness

<sarcasm>
Why restrict yourself to browsers?  Taking your stance to semantics,
I'd define the semantics of HTML to include those that each and every
_possible_ process that processes "HTML" assigns to it.  This will of
course include conflicting sets of semantics, since different
processors are not bound to agree on the semantics of constructs which
aren't written down in any standard (whether the base HTML standards,
or standards/documented semantics layered on top of it).

This will also mean that HTML can express (among other things)
everything that any other SGML or XML application can, which therefore
raises the (historically paradoxical) question of why we should have
bothered to have meta-DDLs and the plethora of DDLs they enable in the
first place.  (Maybe we should alert some of the huge users of SGML,
like Boeing, to this fact, so that they can start to convert their
large technical document databases to HTML.)
</sarcasm>

> Actually, it turns out that cookies are part of the HTML standard
> because the META HTTP-EQUIV tag is part of the HTML standard.  So
> my example is actually wrong.  But there are other examples, like the
> <script> tag, that are ubiquitous but not in the standard.

The script element is part of HTML 4.01, and has been part of HTML
since version 3.2.  HTML itself doesn't prescribe the semantics of the
contents of script elements, but there exist layered standards that
define the semantics for a couple of scripting languages.

It seems to me that we have so little common ground on this topic that
further discussion is likely to be without merit.  I think I've said
what I wanted to say, and that further elaboration will not make
things any clearer, so I rest my case.

Regs, Pierre.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Erann Gat
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <gat-1605001651040001@milo.jpl.nasa.gov>
In article <··············@orion.dent.isdn.cs.tu-berlin.de>, ····@acm.org
(Pierre R. Mai) wrote:

> The script element is part of HTML 4.01, and has been part of HTML
> since version 3.2.  HTML itself doesn't prescribe the semantics of the
> contents of script elements, but there exist layered standards that
> define the semantics for a couple of scripting languages.

Quoting from the ISO/IEC 15445:2000 HyperText Markup Language (HTML)
standard:

  Scripting is not yet considered to be sufficiently stable and mature
  to be included in an International Standard, so the <HEAD>
  [W3C�7.4.1] element content model does not include the <SCRIPT>
  W3C�18.2.1] element.

(From http://woodworm.cs.uml.edu/~rprice/15445/UG.html.)

So you see you have actually made my point for me.  What is expressible in
HTML differs depending on whether you consider the definition of HTML's
semantics to be *only* what is in currently approved international standards,
or if you allow it to include working drafts of industry standards, or
if you allow it to include de-facto standards as implemented in ubiquitously
available software, or if you allow it to include what you think *could*
be implemented as simple extensions to ubiquitously available software.
On one view you can't express third-party links in HTML and you can't
make TCP streams in Lisp.  On a different view you can.  I think the
latter view is more useful.

E.
From: Ian Wild
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <39225D22.A3D1B930@cfmu.eurocontrol.be>
Erann Gat wrote:
> 
> In article <·················@cfmu.eurocontrol.be>, Ian Wild
> <········@cfmu.eurocontrol.be> wrote:
> 
> > Erann Gat wrote:
> > >
> > > ...But on this definition,
> > > HTML is not capable of expressing, for example, a cookie,
> >
> > Just out of interest, by what definition WOULD make HTML
> > capable of expressing a cookie?  I was under the impression
> > cookies were a purely HTTP thing.
> 
> If I define the semantics of HTML to include those semantics that
> are implemented by some browser or some set of browsers but are
> not necessarily written down in the standard then HTML can express
> many things that it cannot if we define the semantics to be strictly
> those set down in the standard.

Why HTML though?  I mean, browsers can transfer arbitrary byte
sequences and still get cookies.  If I download a set of EBCDIC
80 column card images I can get a cookie with it.  Are you really
saying you'd consider cookies a part of the card-punch semantics?
That would've been very far sighted of Mr. Hollerith.

Hmmm...I get the feeling that either you've seen the
mystical hidden connectedness behind all things or your
position is untenable.
From: Rob Warnock
Subject: Re: Dynamics of HTML
Date: 
Message-ID: <8ftle4$bs1cd$1@fido.engr.sgi.com>
Fernando  <·······@must.die> wrote:
+---------------
| Now I'm using a html preprocessor for these purposes, but a
| markup language implemented in Common Lisp (or scheme) that would let
| you use all the lisp tools to handle the data and latter render to
| sgml would be much better...
+---------------

Try "Mistie" <URL:http://www.cs.rice.edu/~dorai/mistie/mistie.html>
and see if that helps...


-Rob

-----
Rob Warnock, 41L-955		····@sgi.com
Applied Networking		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043
From: Rahul Jain
Subject: Re: LISP and AI
Date: 
Message-ID: <8fa4vf$klb$1@joe.rice.edu>
In article <····················@milo.jpl.nasa.gov> posted on Tuesday, May
9, 2000 12:32 PM, ···@jpl.nasa.gov (Erann Gat) wrote:
> In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:
> 
>>  HTML does not allow us to work with documents we do not
>>   own or control except by pointing at them as static objects.
> 
> Not true.  For a simple counterexample see Google's "show matches"
> feature, which renders HTML documents with (dynamically selected)
> glossary terms highlighted.

So you're saying the code to modify the pages that way is in HTML?
I think not.
I could do the same in RTF if I wanted to.

-- 
-> -\-=-=-=-=-=-=-=-=-=-/^\-=-=-=<*><*>=-=-=-/^\-=-=-=-=-=-=-=-=-=-/- <-
-> -/-=-=-=-=-=-=-=-=-=/ {  Rahul -<>- Jain   } \=-=-=-=-=-=-=-=-=-\- <-
-> -\- "I never could get the hang of Thursdays." - HHGTTG by DNA -/- <-
-> -/- http://photino.sid.rice.edu/ -=- ·················@usa.net -\- <-
|--|--------|--------------|----|-------------|------|---------|-----|-|
   Version 11.423.999.210020101.23.50110101.042
   (c)1996-2000, All rights reserved. Disclaimer available upon request.
From: Christopher Browne
Subject: Re: LISP and AI
Date: 
Message-ID: <Ea3S4.69008$MB.1435854@news6.giganews.com>
Centuries ago, Nostradamus foresaw a time when Erann Gat would say:
>In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:
>>  Consider the glossary that defines hypertext links _to_ its defined
>>  terms.  Instead of myriad explicit links in each document in the
>>  document set covered by the glossary, the links may be defined as
>>  whatever matches a rule in those documents.  A rendering engine
>>  would load the glossary and apply the rules to highlight glossary
>>  terms, or perhaps make them more accessible by popping up a small
>>  window with the definition.  Instead of this being coded explicitly
>>  wherever a glossary term is used, it would all be arranged in the
>>  glossary, once.
>...
>>  HTML does not allow us to work with documents we do not
>>  own or control except by pointing at them as static objects.
>
>Not true.  For a simple counterexample see Google's "show matches"
>feature, which renders HTML documents with (dynamically selected)
>glossary terms highlighted.

Ah, but that's not an _HTML_ application, but rather an application of
HTML + "Whatever Google Does internally."

And, more importantly, it doesn't disagree with #Erik describing them
as "static objects."

Google examines a set of web pages, _as static objects_, and adds some
indexing on top of them.

If I change my web page, Google does not automatically discover that,
at query time, and change the highlighting.  It does not discover the
change until it runs through some form of reindexing to rediscover the
change to the _static_ object that is my web page.

THAT is what isn't dynamic.

It's a subtle distinction.
-- 
"When we understand knowledge-based systems, it will be as before 
-- except our fingertips will have been singed."  -- Alan Perlis
········@ntlug.org- <http://www.hex.net/~cbbrowne/html.html>
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-1005001006150001@milo.jpl.nasa.gov>
In article <······················@news6.giganews.com>, ········@hex.net wrote:

> >>  HTML does not allow us to work with documents we do not
> >>  own or control except by pointing at them as static objects.
> >
> >Not true.  For a simple counterexample see Google's "show matches"
> >feature, which renders HTML documents with (dynamically selected)
> >glossary terms highlighted.
> 
> Ah, but that's not an _HTML_ application, but rather an application of
> HTML + "Whatever Google Does internally."

So?  What is an HTML application?  The most common use of HTML is to
write documents that get rendered in browsers, i.e. it's an application
of HTML + "Whatever the browser does internally."  DHTML gets tweaked
by the server before being output, i.e. it's an application of HTML
+ "Whatever the server does internally?"  How is what Google
does any different?

Look at the claim again.  *HTML* does not *allow* us to work
with documents we do not own or control.  It seems to me that whatever
constraints there may be on working with a particular document, those
constraints do not arise because the document is in HTML, those
constraints arise because Google doesn't own or control the document.
HTML is not imposing any additional restrictions on working with the
document that were not already imposed by the fact that the document
is owned and controlled by someone else.  So the claim about HTML is,
at best, a red herring.

E.
From: Hartmann Schaffer
Subject: Re: LISP and AI
Date: 
Message-ID: <3919aeb8@news.sentex.net>
In article <····················@milo.jpl.nasa.gov>,
	···@jpl.nasa.gov (Erann Gat) writes:
> In article <······················@news6.giganews.com>, ········@hex.net wrote:
> 
>> >>  HTML does not allow us to work with documents we do not
>> >>  own or control except by pointing at them as static objects.
>> >
>> >Not true.  For a simple counterexample see Google's "show matches"
>> >feature, which renders HTML documents with (dynamically selected)
>> >glossary terms highlighted.
>> 
>> Ah, but that's not an _HTML_ application, but rather an application of
>> HTML + "Whatever Google Does internally."
> 
> So?  What is an HTML application?  The most common use of HTML is to
> write documents that get rendered in browsers, i.e. it's an application
> of HTML + "Whatever the browser does internally."  DHTML gets tweaked
> by the server before being output, i.e. it's an application of HTML
> + "Whatever the server does internally?"  How is what Google
> does any different?

sorry, but you are wrong.  what goes on in the browser (disregarding
plugins) is interpretation of html, nothing more.  dhtml uses dynamic
processes on the server side to create a static document.  google adds
an extra layer to produce more comprehensive static documents, but they
remain unchanged until the server decides (for whatever reason) to rerun 
its extra html processes again.

> ...

-- 

Hartmann Schaffer
From: Michael Hudson
Subject: Re: LISP and AI
Date: 
Message-ID: <m34s86rzto.fsf@atrus.jesus.cam.ac.uk>
··@inferno.nirvananet (Hartmann Schaffer) writes:

> > So?  What is an HTML application?  The most common use of HTML is to
> > write documents that get rendered in browsers, i.e. it's an application
> > of HTML + "Whatever the browser does internally."  DHTML gets tweaked
> > by the server before being output, i.e. it's an application of HTML
> > + "Whatever the server does internally?"  How is what Google
> > does any different?
> 
> sorry, but you are wrong.  what goes on in the browser (disregarding
> plugins) is interpretation of html, nothing more.  dhtml uses dynamic
> processes on the server side to create a static document.  

Umm, I think you mean DTML; dhtml is usually an abbreviation for
Dynamic HTML which means (I think) using Javascript to manipulate the
document on the client side (using DOM and stuff like that) - you
know, things like rollever buttons.  I guess you could use that to
implement some of the things that were discussed in this thread, but I
wouldn't want to.

Cheers,
M.

-- 
  languages shape the way we think, or don't.
                                      -- Erik Naggum, comp.lang.lisp
From: Hartmann Schaffer
Subject: Re: LISP and AI
Date: 
Message-ID: <391a3b45@news.sentex.net>
In article <··············@atrus.jesus.cam.ac.uk>,
	Michael Hudson <·····@cam.ac.uk> writes:
> ··@inferno.nirvananet (Hartmann Schaffer) writes:
> 
> ...
>> > of HTML + "Whatever the browser does internally."  DHTML gets tweaked
>> > by the server before being output, i.e. it's an application of HTML
>> > + "Whatever the server does internally?"  How is what Google
> ...
>> 
> ...
>> plugins) is interpretation of html, nothing more.  dhtml uses dynamic
>> processes on the server side to create a static document.  
> 
> Umm, I think you mean DTML; dhtml is usually an abbreviation for
> Dynamic HTML which means (I think) using Javascript to manipulate the
> document on the client side (using DOM and stuff like that) - you
> know, things like rollever buttons.  I guess you could use that to
> implement some of the things that were discussed in this thread, but I
> wouldn't want to.

i wasn't aware of that.  basically i used the terminology af the
article i was responding to.  thaks for the correction

-- 

Hartmann Schaffer
From: Robert Monfera
Subject: OT Re: LISP and AI
Date: 
Message-ID: <391B6FC3.763FCF98@fisec.com>
Erann Gat wrote:

> DHTML gets tweaked by the server before being output

Hartmann Schaffer wrote:

> sorry, but you are wrong.  what goes on in the browser (disregarding
> plugins) is interpretation of html, nothing more.  dhtml uses dynamic
> processes on the server side to create a static document.

Is there a server DHTML?  AFAIK DHTML works on the client side.  Once I
used DHTML to hack together a simple time+expense application that
worked exclusively in a browser.  DHTML is a shortcut for saying DOM +
Javascript + HTML (optional) + CSS (optional).  No server, Java or
Activex is needed (Javascript has roots in lisp).

Robert
From: Reini Urban
Subject: Re: LISP and AI
Date: 
Message-ID: <39203bc9.36678450@judy>
The first part of your specs reminds me on Winhelp which popups a list
of multiple target choices or just jumps if there's only one match. 
But Winhelp is unfortunately not dynamic. 
But HtmlHelp, the successor, is. Not as fancy as you described it but at
least better then the other popular doc systems I know (html, info,
texinfo, winhelp, perl pod, man)

The second part reminds me on Hyperwave. But I wouldn't use that either.

BTW: I always generate my HTML indices and tocs dynamically with a small
perl script, which scans for certain tags. This is dynamic and simple
enough for my taste (Note: I favor new jersey over stanford style).

The current perl pod discussion on p5p goes also in this direction, with
some "magic" targets and some explicit indices to help the various
viewers and other target formats. But it is of course very limited, it
trades simplicity for expressiveness. 

DSSSL documents could be much better and seem to match your specs, but
are not that readable/maintenable for non-programmers.

"Readable" CL-HTTP servlets would match. hmm.
in general I'm strictly against such dynamic meta-rules on the user-side
for security reasons, but on the server-side it looks okay.

Erik Naggum wrote:
>  Please ignore HTML and the WWW in any discussion of hypertext.  They
>  are like bringing PostScript and laser printers into a discussion of
>  literature.
>
>  There is no worse implementation of hypertext concepts than the
>  in-band anchors that requires changing both (there are only two in
>  HTML) documents if you need a particular connection.  In fact, the
>  HTML/WWW implementation of "hypertext" is so fundamentally flawed
>  that it is probably a great disservice to hypertext to call it
>  "hypertext" to begin with, and as witness, the inability of people
>  to consider a bibliographic references that does not match the HTML
>  _implementation_.
>
>  Consider the glossary that defines hypertext links _to_ its defined
>  terms.  Instead of myriad explicit links in each document in the
>  document set covered by the glossary, the links may be defined as
>  whatever matches a rule in those documents.  A rendering engine
>  would load the glossary and apply the rules to highlight glossary
>  terms, or perhaps make them more accessible by popping up a small
>  window with the definition.  Instead of this being coded explicitly
>  wherever a glossary term is used, it would all be arranged in the
>  glossary, once.
>
>  Consider the root document of a document set that contains rules for
>  which documents (such as the glossary) whose rules should apply to
>  which documents in the set.  Conventional bibliographic references
>  expresses such relationships with annotations in the library records.
>  Note that there is no unique text to highlight or click on in this
>  case.  This is meta-information for the hypertext system.
>
>  Consider the critique of a document that includes excerpts from it
>  and does so using in-lined hypertext links instead of copies of the
>  text itself.  Consider the meta-critique that contains a full list
>  of all such references for the purposes of scholarly research and
>  ratings.  The former would not necessarily be able to influence the
>  base document when somebody reads it, such as to inform the reader
>  adbout the critique, but the latter would, as well as responses and
>  rejoinders in a debate where various authors both discuss the type
>  of critique and rate them.
>
>  Consider the continuous publication of a medical journal where it is
>  incredibly important to link from articles in the past to new and
>  updated articles in the future with crucial information about the
>  role of the update.  A new article would typically contain a small
>  passage that it updates, contradicts, etc, previous articles.  It is
>  not uncommon for the journal librarian/editor to supply such links
>  in a separate bibliographic unit, such as a side-bar.  A mechanized
>  hypertext system would represent such links with meta-documents that
>  _all_ the articles in the system would point to for updates to
>  themselves.

--
Reini Urban
http://xarch.tu-graz.ac.at/autocad/news/faq/autolisp.html
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166846601825928@naggum.no>
* Erann Gat
| Why don't you do us both a favor and stop responding to my questions?

  Because you ask me questions.  It's called cause and effect.

| Why is this obviously false?

  Ask librarians, not programmers, if you want to know about
  bibliographic references.

  Now go away and don't destroy the rest of this discussion with your
  attitude problems.  Let somewone else ask the questions.

#:Erik
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-0905001017590001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

> * Erann Gat
> | Why don't you do us both a favor and stop responding to my questions?
> 
>   Because you ask me questions.  It's called cause and effect.

You could choose not to answer.  It's called free will.

But, Erik, I am actually not asking you questions.  I am asking the
*group* questions (actually only one question).  If you don't want to
answer, that's fine.  Don't.  There's no need to announce your personal
desires to the world.

> | Why is this obviously false?
> 
>   Ask librarians, not programmers, if you want to know about
>   bibliographic references.
>
>   Now go away and don't destroy the rest of this discussion with your
>   attitude problems.  Let somewone else ask the questions.

Librarians and programmers are not mututally exclusive groups.
I happen to personally know at least one person with a degree in
library science who reads this newsgroup, and for all either one of
us knows there are many more.  So, Erik Naggum, if you wish not to
answer my question, just be quiet and let someone else do it.

E.
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166886782223851@naggum.no>
* Erann Gat
| There's no need to announce your personal desires to the world.

  Gee, that's really good advice.  I wonder if it works on you.

| Librarians and programmers are not mututally exclusive groups.

  Nobody has said they were.  Tell me, _are_ you a strawman, or do you
  just play one on the Net?

| So, Erik Naggum, if you wish not to answer my question, just be
| quiet and let someone else do it.

  There's no need to announce your personal desires to the world.

  So, Erann Gat, why are you so desperately picking a fight?
  Out of free will today?

#:Erik
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-0905001320250001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

> | Librarians and programmers are not mututally exclusive groups.
> 
>   Nobody has said they were.

Not in so many words, no.  But you admonished me as follows:

>  Ask librarians, not programmers, if you want to know about
>  bibliographic references.

From this admonition I infered that you thought that I was asking
this question of programmers and not librarians (else why the admonition?).
But this is not the case.  There are librarians here.  For all I
knew *you* could have been a librarian.  (For all you know, *I*
am a librarian.)

Actually, that's an interesting point.  Erik, are you a librarian?
If you are, why didn't you just answer my question?  And if you aren't,
why should anyone listen to what you have to say on the subject of
bibliographic references?

>   So, Erann Gat, why are you so desperately picking a fight?

I am not trying to pick a fight.  I am trying to ask a question, to wit:

>| Seems to me that bibliographic references have precisely the semantics
>| of hyperlinks.
>
>  Yes, this is actually true.
>
>| They are pointers contained in one document that point to a second
>| document.  There is no third document involved.
>
>  This is obviously false, however.

My question: why is it obviously false?  This question is directed
at anyone who wishes to answer it.  Those who do not care to answer
are kindly requested to keep that desire to themselves.

Erann Gat
···@jpl.nasa.gov
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166934166478995@naggum.no>
* Erann Gat
| From this admonition I infered that you thought that I was asking
| this question of programmers and not librarians (else why the
| admonition?).  But this is not the case.  There are librarians here.

  It may come as a shock to you, but this is not a newsgroup for
  librarians even if there be librarians here.  You would get answers
  from the _intersection_ between those interested in Lisp and those
  with a librarian past (or present) at _best_.

  So I repeat: If you want to understand bibliographic references,
  talk to (a forum for) _librarians_, not (a forum for) programmers.

  I regret it every time I express myself in such a way that you can
  pull an Erann Gat out of the proverbial hat and quibble over some
  pretty clear phrasing just to pick fights, but it is unfortunately
  impossible for either man or machine to predict how you will read
  normal English prose to find "flaws".  I have long ago concluded
  that there is nothing in what I say or do that triggers your insane
  quibbling, and consequently nothing I can change to make you less
  irrational.

  The reason I'm pointing you to librarians is that it is obvious to
  me that you don't want to understand bibliographic references, you
  only want me to be wrong.  "There is no third document involved" is
  not a signal from a person who wants to understand anything, it's
  the metallic sound of a mind closing like a steel trap.

| For all I knew *you* could have been a librarian.

  For all I know, you _could_ be smart enough to realize why you are
  counter-prouctive.  The evidence is wanting, however.

| Actually, that's an interesting point.  Erik, are you a librarian?
| If you are, why didn't you just answer my question?  And if you
| aren't, why should anyone listen to what you have to say on the
| subject of bibliographic references?

  Excuse me?  _You're_ the idiot who wants to make librarians and
  programmers into mutually exclusive groups.  I merely suggested you
  ask "librarians" and not "programmers", but your limited mental
  abilities didn't quite grasp that the mere existence of a librarian
  in a group of programmers doesn't constitute asking librarians if
  you ask these programmers.  How can I help you understand this?  I
  _have_ tried by inserting the rather obvious "(a forum for)" in the
  rephrasing above.  I hope, but do not believe, this will help.

| I am not trying to pick a fight.  I am trying to ask a question ...

  Yeah, I'm sure.  Consider your previous paragraph.  "Why should
  anyone listen to you" is _just_ a question.  Sure.  Not picking a
  fight at all.  Geez, do you even believe your own silliness?

| My question: why is it obviously false?

  If you could open your mind enough to let the thought in that a
  bibliographic reference may be located in a different document than
  the document that made the reference (commentaries on the works of
  philosophers often supply "latent" references, to take another
  example), you see that it is completely unreasonable to deny that a
  third document may be involved in the general case, hence obviously
  false that "there is no third document involved".  Bibliographic
  references have historically never been _restricted_ to simple
  one-way pointers, either (although that is the most common version)
  -- insisting that they are is just plain stupid.

#:Erik
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-1005001056430001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

> | My question: why is it obviously false?
> 
>   If you could open your mind enough to let the thought in that a
>   bibliographic reference may be located in a different document than
>   the document that made the reference (commentaries on the works of
>   philosophers often supply "latent" references, to take another
>   example), you see that it is completely unreasonable to deny that a
>   third document may be involved in the general case, hence obviously
>   false that "there is no third document involved".  Bibliographic
>   references have historically never been _restricted_ to simple
>   one-way pointers, either (although that is the most common version)

On that criterion it is "obviously false" that birds can fly.

>   -- insisting that they are is just plain stupid.

I never insisted that they are, I just *said* that they are.  There's
a big difference.  (See note below.)

So, let's pick this up again: bibliographic references are *usually*
(in the "most common version" to use precisely your words)
pointers contained in one document that refer to a second document
with no third document involved, and your canonical counterexample
to the blanket statement is commentaries on the works of philosophers.
I am given to understand that this is a forum for programmers,
not philosophers or librarians.  But be that as it may, I have,
amazingly enough, actually read some commentaries on the works of
philosophers, and I still don't know what you are talking about.
The closest thing I can think of is where the commentator commenting
on the work of philosopher A makes reference to A's reference to
philosopher B.  (This, of course, can be and sometimes is carried
to ridiculous extremes where A comments on B's commentary of C's
discussion of D's ...)  But this doesn't seem to me like the "third
party" link that you were talking about, this is just a reference to
another reference, which you can do in HTML. So I think I'm still missing
something.  A real example would help a lot.

E.
---

Note for Erik and other language lawyers: The statement "There is no
third document involved" is ambiguous as to whether it means there is
*never* a third document involved or whether it means that there is
*usually* no third document involved, in the same way that the statement
"Birds can fly" is ambiguous.  So in fact I never even *said*
that bibliographic references are *restricted* to being one-way pointers,
and I certainly never *insisted* on it.  In fact, I can't think of an
example of a bibliographic reference that is anything other than a one-way
pointer, but I do not deny that such a thing might be possible.  I'm still
waiting for an example, though.
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166979753318655@naggum.no>
* Erann Gat
| On that criterion it is "obviously false" that birds can fly.

  I rest my case: You're clinically insane.

#:Erik
From: Erann Gat
Subject: Re: LISP and AI
Date: 
Message-ID: <gat-1105001043070001@milo.jpl.nasa.gov>
In article <················@naggum.no>, Erik Naggum <····@naggum.no> wrote:

> * Erann Gat
> | On that criterion it is "obviously false" that birds can fly.
> 
>   I rest my case: You're clinically insane.
> 
> #:Erik

Yes, I'm insane.  I have long suffered from the delusion that I might
be able to learn something from you.  But my condition seems to be
improving rapidly of late.

Now, go read up about penguins and ostriches.  And rhetoric.

E.
From: Courageous
Subject: Re: LISP and AI
Date: 
Message-ID: <391BB15A.48D7D73F@san.rr.com>
> Yes, I'm insane.  I have long suffered from the delusion that I might
> be able to learn something from you.  But my condition seems to be
> improving rapidly of late.

Nah, he needs to schedule that surgery he's been planning.
That might make up for it, but I doubt it.



C/
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3167114677420129@naggum.no>
* Courageous <········@san.rr.com>
| > Yes, I'm insane.  I have long suffered from the delusion that I might
| > be able to learn something from you.  But my condition seems to be
| > improving rapidly of late.
| 
| Nah, he needs to schedule that surgery he's been planning.
| That might make up for it, but I doubt it.

  I'm glad you two have found each other, but this is not a good place
  for intermoron romanticism.  Please take it to personal e-mail, at
  least to _contain_ the vileness of your behaviorial characteristics.

  If you ever recover, please consider less obsessing with me (or
  anyone else for that matter) as a _person_ and start on the wondrous
  journey of discovery that you experience when you listen to ideas
  and _what_ people are saying, rather than primarily or only _who_.

#:Erik
From: Andrew McDowell
Subject: Re: LISP and AI
Date: 
Message-ID: <8fckic$ocv$1@hammer.msfc.nasa.gov>
Erann Gat <···@jpl.nasa.gov> wrote:
>In fact, I can't think of an
> example of a bibliographic reference that is anything other than a one-way
> pointer, but I do not deny that such a thing might be possible.  I'm still
> waiting for an example, though.

Ok...I don't mean to step into a fight or anything...but I think I'm
actually learning something from all of this...and believe it or not, it's
very relevant to some work I'm doing now.

In a previous post, Erik states:

>  This is unfortunately a very misguided view of the old-fashioned
>  bibliographic reference.  I'm sorry to say so, but the bibliographic
>  reference includes a lot more than one-way "pointers", which is a
>  special case or a narrow view, depending on how you look at it.  If,
>  for instance, I wish to compare CLtL2 with CLtS (S for Standard),
>  you can either regard my two bibliographic references in any given
>  comparison on a given point as two one-way pointers from my document
>  into those two documents, but that is very nearly irrelevant to the
>  purpose and actual references involved.  A reader of a comparison
>  would naturally want to have both text available and would have to
>  regard my commentary on their _relationship_ as the real purpose of
>  my text.  My document thus contains third-party hypertext links (and
>  bibliographic references) with that purpose between two other
>  documents.

I think that the limitation that Erik has pointed out is that a reader of
CLtL2 would be blissfully unaware of the comparison between the document he
is currently reading and CLtS, the actual material contained in CLtS, and
the relation between CLtL2 and CLtS that Erik pointed out.

Did I understand this correctly?

-Drew
From: Seth Gordon
Subject: Re: LISP and AI and hyperlinks
Date: 
Message-ID: <391AE674.501FF7BD@kenan.com>
Erann Gat wrote:

> So, let's pick this up again: bibliographic references are *usually*
> (in the "most common version" to use precisely your words)
> pointers contained in one document that refer to a second document
> with no third document involved, and your canonical counterexample
> to the blanket statement is commentaries on the works of philosophers...

Another counterexample that may help ... The Talmud contains many arguments over
Jewish law in which:

(a) Biblical verses are quoted to support one side or another of an argument.
Sometimes only a fragment of the verse is quoted, and you can't understand how
the verse helps the arguer's case unless you read the entire verse in context.

(b) Because of the free-associative structure of the text, and because many
legal arguments in the Talmud do not end in a decisive victory for one side or
the other, it's hard (even if you know the source language) to simply pick up a
volume of Talmud, read a few pages of discussion, and walk away knowing the
answer to some legal question.  Some medieval commentators (such as Maimonides)
wrote easier-to-read legal digests, based on the Talmud.

Contemporary printed editions of the Talmud, therefore, put diacritical marks in
the text to indicate (a) Biblical quotations, and (b) statements that eventually
became accepted as binding Jewish law.  For each of these diacritical marks,
notes elsewhere on the page indicate (a) the book and chapter cited, and (b) the
relevant chapters and sections in standard digests of Jewish law.

--
--Why is it that most kids are attracted to computers while
  most adults are quite wary of computers?
--Most adults are smarter than most kids. ["Ask Uncle Louie"]
== seth gordon == ·······@kenan.com == standard disclaimer ==
== documentation group, kenan systems corp., cambridge, ma ==
From: David Thornley
Subject: Re: LISP and AI
Date: 
Message-ID: <n3lS4.466$Ib1.147470@ptah.visi.com>
In article <················@naggum.no>, Erik Naggum  <····@naggum.no> wrote:
>* ···@jpl.nasa.gov (Erann Gat)
>| I presume that a browser history is an example of "this particular
>| application" being "implemented by ... other means" but I don't see
>| how having bidirectional links in HTML would add any functionality.
>
>  The idea is not a "bidirectional links", but the bibliographic
>  reference, which was a quite well developed concept prior to HTML.
>
I assume you mean something like "Naggum, op cit, p. 837" by
bibliographic link?  In other words, that you want the ability to 
write a link that refers to a position in the other document, rather
than a predefined anchor?

>  I wrote: "The ability of one document to introduce a link between
>  two other documents'.  This is not a bidrectional link in the first
>  place.  It's a third-party link if you want.

So, what you'd like also is an ability from document A to put a link
in an arbitrary place in document B that goes to an arbitrary place in
document C?  (Obviously, this would have to be limited to a particular
viewing of the documents; if it were possible to put arbitrary links in
other people's pages in general, all pages on the Web would have multiple
links to porn sites.)

So, assume for the sake of argument that there are web sites with the
contents of Norvig's PAIP and Graham's On Lisp, and you want to write
a page on certain sorts of macros.  You have the facility to define
some sort of session in which the reader will see the links you define.
You define links to arbitrary parts of Norvig's and Graham's books,
regardless of whether there's an <a> there or not.  You define links
between the two books that will be seen as long as the reader is in
that session, again at arbitrary places.  You put links in Graham's
book in arbitrary places, pointing to notes you've written on how
and why you disagree with Graham here.  You put a link in Norvig, pointing
to a more general macro you've written.

Having done all this, you package the whole thing up as Erik's Guide
to Macros, put it on your site, and I could surf over there and see
your material, Norvig's, and Graham's as you wish to present it.

Is that an adequate description of what you are complaining about?
Or are there other things you'd want to be able to do?  I've been
having trouble following the list of deficiencies, and would like
to be sure I've got it.
--
David H. Thornley                        | If you want my opinion, ask.
·····@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3166989135334203@naggum.no>
* David Thornley
| In other words, that you want the ability to write a link that
| refers to a position in the other document, rather than a predefined
| anchor?

  Yes, that, too.  The biblical chapters and verses arose for the
  purpose of the references.  Legal documents have their structure
  from the need to refer to individual sentences and items in lists.

| So, what you'd like also is an ability from document A to put a link
| in an arbitrary place in document B that goes to an arbitrary place
| in document C?

  Yes.

| (Obviously, this would have to be limited to a particular viewing of
| the documents; if it were possible to put arbitrary links in other
| people's pages in general, all pages on the Web would have multiple
| links to porn sites.)

  This is an important point.  Which links are active on a given page
  is controlled by the set of linking documents you have selected.
  The "viewing" is controlled by the browser, which knows about _your_
  linking preferences, glossaries, dictionaries, etc, and merges them
  with those contained in (or referenced) the document itself.

| Is that an adequate description of what you are complaining about?

  No.  I't s good start, however.

| Or are there other things you'd want to be able to do?

  Again as an example, I want to say, in a formalized way, "That part
  of document A contradicts that part of document B" and put it in a
  collection of comments on various documents on the Net.  When
  somebody picks up this collection of comments, they can visit the
  documents I have commented on in various ways and have an annotation
  box pop up in places where I had made such comments and go visit the
  other document to look at it.  However, this is not _too_ exciting.

  The exciting part is when the links themselves can be referenced,
  aggregated, etc.  That's when you _really_ need the ability to point
  to something and make it link to something else.

| I've been having trouble following the list of deficiencies, and
| would like to be sure I've got it.

  Think of it this way: If you are writing a novel, which would
  typically include dialog, you are not worrying about how to make
  irony come out right on your laser printer, because there's no point
  in making it visually distinct from any other text and there's no
  point in involving the printer unless you have a language to talk
  about the irony of a particular piece of text that could affect the
  printer's behavior.  You would, however, worry about how to express
  the irony in your own language.  The printer would simply render it
  in whatever way it usually renders text.  When people get stuck in
  the HTML world, they naturally complain about the pointlessness of
  talking about irony because there's no browser that would render
  <irony>foo</irony> differently from anything else, and it would look
  just like any other text.  If they _wanted_ the browser to render
  irony differently, they would simply write the low-level stuff that
  HTML defines to cause the browsers to change the rendering, but they
  would _still_ not think that _HTML_ supports irony.  HTML supports
  the mechanisms that allows something else entirely to express irony
  through its rendering-friendly language.  It is that something else
  that I'm interested in.  In the case of your novel and the laser
  printer, it's capturing the author's intent in a language able to
  talk about its own usasge, such as English.  In the case of HTML,
  it's whatever caused that particular "code" to be produced in the
  first place, ultimately _some_ authors' intent.

  Because HTML can do certain simple tricks, and because most people
  aren't aware of what they are doing, it is possible to conflate the
  expression with the intention, indeed common to do so among those
  who aren't and don't want to be educated.  This doesn't remove the
  intent.  It only means that some people will insist that if they can
  express it in HTML, there's no point in talking about the intent and
  other languages that would make it easier to talk about the intent.

  The fundamental deficiency in HTML is that it reduces hypertext and
  the intertwinedness of human communication to a question of how it
  is rendered and what happens when you click on it.  By giving the
  world a language in which numerous important concepts can no longer
  be expressed, these concepts are removed from our world.  When music
  was written down with notes, a lot of music that was very hard to
  write down with notes vanished, and music became note-friendly.
  When tasks are automated, the skills that went into the automation
  vanishes and only the skills required to keep the automated solution
  going remains.  When children learn to speak particular languages,
  their ability to speak other languages deteriorates and vanishes.

  HTML is to the browser what PostScript is to the laser printer.
  Normal people don't worry about PostScript when they want to employ
  irony in a dialog.  Normal people shouldn't worry about HTML when
  they want to make hypertext links.  They should think of what their
  _real_ needs are, and trust me, those needs are _not_ covered as
  such by HTML, but they can still be _expressed_ in HTML such that a
  browser can render it to the reader, just like PostScript does not
  cover the needs of an author as such, but most everything an author
  wants to say can be _expressed_ in PostScript and come out right.
  (And that which cannot be expressed in PostScript will have a
  natural tendency to become unwanted unless people change to a new
  language.)

  That is to say, everything I want _may_ be implemented with a chain
  of proxy servers that add their particular thing to the incoming
  HTML, just as I could add filters that hacked PostScript to get
  special effects on the laser printer.  The end result as it is given
  to the browser or laser printer is _still_ HTML or PostScript,
  respectively, but neither the HTML nor the PostScript were created
  to do what the proxy servers and filters have done _to_ them.  It is
  not productive to argue that "it's just HTML!  HTML can do it all!"
  when the software that produces the HTML is driven by so much more
  input than whatever generated the original HTML _or_ the browser,
  and which simply tries to teach the browser how to do things HTML
  _can't_ do on its own.  Which means that whether it is done by a
  chain of proxy servers or a smarter browser that understands a
  _richer_ language than HTML is immaterial, but you still can't get a
  browser that only understands HTML to do any of this stuff without
  the proxy servers in between.  For instance, CSS may be employed to
  change the rendering of an HTML document, and CSS may be provided by
  the user to override a document's rendering.  The HTML may contain a
  reference to some CSS that instructs the browser on what to do, but
  that still doesn't give HTML the credit for the rendering.

  To put it in yet another way: What I want the browser to do, is
  accept input from a number of sources, merge them, and produce a
  synthetical document that reflects decisions that none of the
  sources individually can know about, because they rest with the
  reader.  To achieve this without the necessary languages to describe
  relationships _between_ (other) documents is so cumbersome that it
  is effectively removed from the wish list to begin with.  (Imagine
  setting up a chain of numerous proxy services for each of the
  documents you want to look at -- you can't even click on links,
  anymore, because you may want to select another linking document.)

  I really hope this helps.

#:Erik
From: David Thornley
Subject: Re: LISP and AI
Date: 
Message-ID: <vGFS4.598$Ib1.196055@ptah.visi.com>
In article <················@naggum.no>, Erik Naggum  <····@naggum.no> wrote:
>
>  This is an important point.  Which links are active on a given page
>  is controlled by the set of linking documents you have selected.
>  The "viewing" is controlled by the browser, which knows about _your_
>  linking preferences, glossaries, dictionaries, etc, and merges them
>  with those contained in (or referenced) the document itself.
>
So I would design a personal environment, which might include a
dictionary, encyclopedia, atlas, and the Hyperspec to read things
in a context?  

>  The exciting part is when the links themselves can be referenced,
>  aggregated, etc.  That's when you _really_ need the ability to point
>  to something and make it link to something else.
>
So I could write something like "These links of Naggum to Norvig..."
or compare the Naggum and Pitman links?

Attempted summary of a very large snipped part:
The problem is not HTML, but the fact that HTML is very basic.
It is hard to think of doing some of these things in HTML.
Similarly, Intel machine language is not a problem, but it is
a good thing that there are compilers for other languages.
It is possible for a Lisp programmer to do things that are very
difficult for an assembly language programmer, and more specifically
is likely to think of things that an assembly language programmer
would not.

Therefore, it would be possible to write a real hypertext language
that would process numerous things and deliver the result to the
browser in HTML, much as it is possible to write a Lisp program and
compile it.  This has not yet become mainstream because most people
don't see the desirability, much as most assembly language programmers
would not see the desirability of being able to write functions that work
with data types to be determined later.

Is this a reasonable summary of what you're saying?  (I do not think
that either of us is stupid, or inept in the use of the English language,
so I figure that this has to be potentially difficult concepts to convey.)

--
David H. Thornley                        | If you want my opinion, ask.
·····@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3167114384690645@naggum.no>
* David Thornley
| So I would design a personal environment, which might include a
| dictionary, encyclopedia, atlas, and the Hyperspec to read things
| in a context?  

  Yes, but also including your own comments on things you had read,
  other people's comments, and probably news wires and mailing lists
  that supplied interrelationships in the form of third-party links.

| So I could write something like "These links of Naggum to Norvig..."
| or compare the Naggum and Pitman links?

  Yes.

| Attempted summary of a very large snipped part:
| The problem is not HTML, but the fact that HTML is very basic.
| It is hard to think of doing some of these things in HTML.
| Similarly, Intel machine language is not a problem, but it is
| a good thing that there are compilers for other languages.
| It is possible for a Lisp programmer to do things that are very
| difficult for an assembly language programmer, and more specifically
| is likely to think of things that an assembly language programmer
| would not.

  A compiler is a also good starting point for a comparison, but I
  tend to think of HTML as the PostScript of real hypertext -- the
  language of the renderer.  It would be possible, but fairly time
  consuming and very difficult, to write anything directly in
  PostScript, so people prefer markup languages like LaTeX or SGML
  that "compile" to PostScript or WYSIWYG tools that constantly
  recompute the rendering.

  Note, however, that a compiler is still limited as a comparison to a
  fixed number of source files.  The crucial element in my argument
  against HTML is that there is no way to "load" third-party links or
  rules into the rendering environment from other documents.  At least
  PostScript has that -- you can download functions and modify the
  printer's behavior.  None of the "dynamic" features smacked on top
  of HTML manage to get any of this right.

| Therefore, it would be possible to write a real hypertext language
| that would process numerous things and deliver the result to the
| browser in HTML, much as it is possible to write a Lisp program and
| compile it.

  Yes, _provided_ that it is done sufficiently close to the reader
  that the _reader's_ experiences and context can influence the HTML
  that the browser sees and displays.  This requires _very_ powerful
  proxy servers and a "visual" recognition of the HTML that is being
  transmitted from various places.

| This has not yet become mainstream because most people don't see the
| desirability, much as most assembly language programmers would not
| see the desirability of being able to write functions that work with
| data types to be determined later.

  I think it is not yet mainstream because people _fear_ hypertext
  before they know how to navigate in it -- and with good cause, too.
  The navigation problem on the Net is basically unsolved, but tools
  that could remember and deal with your own set of links would help a
  lot, and those would have to be maintained as third-party links in a
  sort of "active history", able to answer the question "now, what did
  I come here to look for?", which is both unasked and unanswered
  today.  But convincing people that something conceptually more
  complex is a simplifier is very hard marketing work.  (Just ask the
  Lisp vendors. :)

| Is this a reasonable summary of what you're saying?  (I do not think
| that either of us is stupid, or inept in the use of the English
| language, so I figure that this has to be potentially difficult
| concepts to convey.)

  FWIW, I'm pleased with your understanding of what I've been trying
  to explain for years with admittedly limited success (hence my "I
  don't have the patience for this" which was rudely overruled :).

#:Erik
From: Wade Humeniuk
Subject: Re: LISP and AI
Date: 
Message-ID: <391c63ac_2@news.cadvision.com>
I am finding this discourse fascinating and here is what I think has been
said.  Hyperlinks like HTML are just make links that the author thinks are
important in his/her explanation or view of the world.  This is highly
dependent on the authors vocabulary (experience) of the subject and
processes that the author used to get to that point.  Part of the use of
these enhanced links is to put the author's context into the equation to
show the reader how the connection is made.  It embodies a historical and
contextual view and allows justification of the connections.  It also lets
the reader, based on his experience, have access to the accumulated thought
that has gone into the organization of the knowledge and to add his own
context and to extend the knowledge.  Is this the goal?  To implement these
types of links you would need to imbed code (like postscript) directly into
a web document, because this is the only method expressive enough to do the
job.  SGML is not expressive enough to do the job (which I agree with).

Its just as important how things are connected as what is connected.  When
one is learning how things are connected are probably more important because
what is connected are just statements (some true or some false).  It more
important to pass on how to learn (connections), to learn from those who
have gone before and be able to validate what you have learned.

Wade
From: Erik Naggum
Subject: Re: LISP and AI
Date: 
Message-ID: <3167205645883062@naggum.no>
* "Wade Humeniuk" <········@cadvision.com>
| SGML is not expressive enough to do the job (which I agree with).

  Um, SGML _is_ expressive enough to describe anything.  The meaning
  of an SGML document, element, or attribute is defined outside it,
  however, so SGML itself doesn't _do_ anything.  HTML is called an
  "application of SGML" that has meaning defined for its elements and
  attributes.  (It is therefore amazingly disingeneous to argue that
  HTML can support anything if we only change or supply new meaning.
  It's like saying that Common Lisp supports call/cc because we need
  only add it to the standard and all the implementations.)

#:Erik
-- 
  If this is not what you expected, please alter your expectations.
From: tom
Subject: better hyperlinking (Re: LISP and AI)
Date: 
Message-ID: <pb8g0rn8guu.fsf_-_@aimnet.com>
Erik Naggum <····@naggum.no> writes:
>   Note, however, that a compiler is still limited as a comparison to a
>   fixed number of source files.  The crucial element in my argument
>   against HTML is that there is no way to "load" third-party links or
>   rules into the rendering environment from other documents.

Sure there is.  One of the first things I did when the web appeared
was to write a proxy-based system that would let you add links to
other people's pages, add comments, and show you reverse links.  There
are now a bunch of proxy based systems around.  AltaVista lets you do
reverse link searches, and if you wanted to, you could easily
integrate that into your browser.  Alexa provides "What's Related"
hyperlinking from your browser in Netscape and IE (they ship with it).

On Windows, programs can hook into the browser at a very deep level,
and there are all sorts of companies that add all sorts of links and
text to the HTML in your browser, from reverse links, chat, and
glossaries to comparative shopping.

If you are a web site author, you can also choose to let people do
things with your pages like chatting, adding links, adding comments,
editing the pages, and rating.  Web rings provide another way of
adding links to pages, and Wikis provide full, automatic,
bidirectional hyperlinking.

For just a few links, look at:

http://crit.org/
http://www.alexa.com/
http://www.udanax.com/
http://TWiki.SourceForge.net/cgi-bin/view/Main/WebHome
http://www.webring.com/

The current level of usage of such techniques is likely more a
reflection of demand for them and scaling issues than any problems
implementing them based on HTML.

Tom.
From: Erik Naggum
Subject: Re: better hyperlinking (Re: LISP and AI)
Date: 
Message-ID: <3167202258423442@naggum.no>
* tom <tmb at ncal point verio point com ·@x.x>
| Sure there is.  One of the first things I did when the web appeared
| was to write a PROXY-BASED SYSTEM that would let you add links to
| other people's pages, add comments, and show you reverse links.

  I have added emphasis and just want to say that I have already
  explained why proxies are not the solution.

#:Erik
-- 
  If this is not what you expected, please alter your expectations.
From: Tim Bradshaw
Subject: Re: LISP and AI
Date: 
Message-ID: <ey3snvxoqyy.fsf@cley.com>
* Erann Gat wrote:

> Can you give an example?  I presume that a browser history is an example
> of "this particular application" being "implemented by ... other means"
> but I don't see how having bidirectional links in HTML would add any
> functionality.

Well, it certainly wouldn't be hard to add more functionality than any
browser I've ever used! (which I admit is basically just various
incarnations of netscape and ie (as well I guess as mosaic and chimera
in the old days)) I find the forward and back buttons terminally
deficient, and the history facilities pretty much so (IE's seems
better than netscapes).  Where is the obvious graphical representation
of your browsing history?

(Actually, does anyone know how hard it would be to get netscape to
tell some external program every time it visited a url?)

--tim
From: Paolo Amoroso
Subject: Re: LISP and AI
Date: 
Message-ID: <C50SOa91n14BPtUkN2czDoi2Zk9F@4ax.com>
On 05 May 2000 00:06:29 +0100, Tim Bradshaw <···@cley.com> wrote:

> browser I've ever used! (which I admit is basically just various
> incarnations of netscape and ie (as well I guess as mosaic and chimera
> in the old days)) I find the forward and back buttons terminally

If you have a Unix box handy, have a look at Lynx: you'll love it :)


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/
From: Kragen Sitaker
Subject: Re: LISP and AI
Date: 
Message-ID: <c1DQ4.8574$UF3.5365160@news-east.usenetserver.com>
In article <···············@cley.com>, Tim Bradshaw  <···@cley.com> wrote:
>(Actually, does anyone know how hard it would be to get netscape to
>tell some external program every time it visited a url?)

X11 Netscape has a window property _MOZILLA_URL that tells you what URL
it's at, and has at least since version 2.0.  I seem to recall that,
with Xlib, you can use PropertyChangeMask to be notified when a window
property changes with XPropertyEvents, and I think you can then use
XGetTextProperty to get the URL.

I think you can use SubstructureNotifyMask on the root window to be
notified when new windows pop up.

Obviously there are race conditions all over the place here --- a new
Netscape window can visit several URLs before you manage to select
PropertyChangeMask on it, and the property could change several times
between when you handle the XPropertyEvent and when you manage to
XGetTextProperty.

ObLisp:  Does anyone use CLX?  Does it suck as badly as Xlib?
-- 
<······@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
The Internet stock bubble didn't burst on 1999-11-08.  Hurrah!
<URL:http://www.pobox.com/~kragen/bubble.html>
The power didn't go out on 2000-01-01 either.  :)
From: Rob Warnock
Subject: Re: LISP and AI
Date: 
Message-ID: <8f120a$7p5tn$1@fido.engr.sgi.com>
Tim Bradshaw  <···@cley.com> wrote:
+---------------
| (Actually, does anyone know how hard it would be to get netscape to
| tell some external program every time it visited a url?)
+---------------

Phil Karn at Qualcomm (whom some of you old-timers may remember as
being "KA9Q" and the author of the "NOS" TCP/IP suite for a DOS PC)
has written a neat little hack that may do what you want:

	<URL:http://people.qualcomm.com/karn/code/httproute/>
	This package contains a daemon, written as a Perl script plus
	configuration file, that provides a simple HTTP router, banner
	advertisement blanker, cache and cookie cutter. You configure
	your web browser to use it as a web proxy. 


-Rob

p.s. I've been intending to rewrite it in Scheme, but haven't gotten
around to it yet...

-----
Rob Warnock, 41L-955		····@sgi.com
Applied Networking		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043
From: Rainer Joswig
Subject: Re: LISP and AI
Date: 
Message-ID: <rainer.joswig-48116C.21353706052000@news.is-europe.net>
In article <··············@fido.engr.sgi.com>, ····@rigden.engr.sgi.com 
(Rob Warnock) wrote:

> Tim Bradshaw  <···@cley.com> wrote:
> +---------------
> | (Actually, does anyone know how hard it would be to get netscape to
> | tell some external program every time it visited a url?)
> +---------------
> 
> Phil Karn at Qualcomm (whom some of you old-timers may remember as
> being "KA9Q" and the author of the "NOS" TCP/IP suite for a DOS PC)
> has written a neat little hack that may do what you want:
> 
> 	<URL:http://people.qualcomm.com/karn/code/httproute/>
> 	This package contains a daemon, written as a Perl script plus
> 	configuration file, that provides a simple HTTP router, banner
> 	advertisement blanker, cache and cookie cutter. You configure
> 	your web browser to use it as a web proxy. 
> 
> 
> -Rob
> 
> p.s. I've been intending to rewrite it in Scheme, but haven't gotten
> around to it yet...
> 
> -----
> Rob Warnock, 41L-955		····@sgi.com
> Applied Networking		http://reality.sgi.com/rpw3/
> Silicon Graphics, Inc.		Phone: 650-933-1673
> 1600 Amphitheatre Pkwy.		PP-ASEL-IA
> Mountain View, CA  94043

Well, you can also use CL-HTTP as a proxy. This is an example
to get rid of unwanted ads:

(in-package :http)

(defparameter *default-image*
  (url:url "http://www.ision.net/i/start/logo.gif"))

(defparameter *unwanted-hosts*
  '("ad.doubleclick.net" "adserv.spiegel.de" "m.doubleclick.net"))

(defparameter *unwanted-url-strings*
  '("werb" "anzei" "banners" "ads" "pic"))

(defmethod invoke-proxy-service :around ((server proxy-server-mixin)
                                         uri
                                         (method (eql :get))
                                         request-http-version)
  (let ((path (url:path uri)))
    (when (or (member (url:host-string uri)
                      *unwanted-hosts*
                      :test #'string-equal)
              (some (lambda (unwanted-string)
                      (some (lambda (uri-part)
                              (search unwanted-string uri-part))
                            path))
                    *unwanted-url-strings*))
      (setf (server-url server) *default-image*
            uri *default-image*))
    (call-next-method server uri method request-http-version)))
From: Paolo Amoroso
Subject: Re: LISP and AI
Date: 
Message-ID: <hJwSOVw5QFJAQ3dA83vGIRj8s6AU@4ax.com>
On Thu, 04 May 2000 18:40:40 +0100, Russell Wallace <········@esatclear.ie>
wrote:

> I'm curious: what do you see as the navigation problem to which HTML
> missed the solution?

You may check the site of user interface and usability expert Jakob
Nielsen:

  http://www.useit.com/

There are documents--be sure to peek around, I don't have the URLs
handy--where he states something along the lines that current Web
technology offers stone age tools compared to early hypertext research.


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/
From: Russell Wallace
Subject: Re: LISP and AI
Date: 
Message-ID: <39175376.5C0@esatclear.ie>
Paolo Amoroso wrote:
> 
> On Thu, 04 May 2000 18:40:40 +0100, Russell Wallace <········@esatclear.ie>
> wrote:
> 
> > I'm curious: what do you see as the navigation problem to which HTML
> > missed the solution?
> 
> You may check the site of user interface and usability expert Jakob
> Nielsen:
> 
>   http://www.useit.com/
> 
> There are documents--be sure to peek around, I don't have the URLs
> handy--where he states something along the lines that current Web
> technology offers stone age tools compared to early hypertext research.

Looks interesting!  I've bookmarked it, will take a detailed rummage
through it later.  Thanks.

-- 
"To summarize the summary of the summary: people are a problem."
Russell Wallace
···············@esatclear.ie
From: Tim Bradshaw
Subject: Re: LISP and AI
Date: 
Message-ID: <ey3wvl9or8y.fsf@cley.com>
* Erik Naggum wrote:

>   I have asked (begged) for PDF files so I can at least
>   have something that reads better than the HTML delivery and which
>   also prints better than the HTML files come out like from the sucky
>   browsers.  Franz Inc have indicated they will accomodate some of my
>   wishes for the ACL 6.0 release.  Until then, the ACL 4.3 manuals are
>   still in use, simply because they are printed and bound.
  
Because I think Franz people read this, I'll add a `me too' to this,
even though they probably already know.  Actually I would *really
like* paper manuals as printing and binding is a pain even with a
souped up double-sided printer which we don't currently have.  I would
pay for these in fact.

--tim
From: Bulent Murtezaoglu
Subject: Re: LISP and AI
Date: 
Message-ID: <873dnx51fd.fsf@kapi.internal>
  
[very OT on cll, sorry]

I actually posted rant as a bug to sourceforge on this.  I prefer info, 
docbook, pdf, and even ps over html.  

    TB> Actually I
    TB> would *really like* paper manuals as printing and binding is a
    TB> pain even with a souped up double-sided printer which we don't
    TB> currently have.  

Double-sided printing and spiral binding facility can be acquired for about 
$700-800 if you shop around (this is what it cost me for all new equipment 
thru auctions and such).  This is not much since you're likely to spend 
around $500 anyway on a decent 10+ ppm laser printer with postscript.

This will only help you if the vendor provides something that produces 
reasonable hard copy.  I detest printing html.

BM
From: Tim Bradshaw
Subject: Re: LISP and AI
Date: 
Message-ID: <ey3pur1oong.fsf@cley.com>
* Bulent Murtezaoglu wrote:

> This will only help you if the vendor provides something that produces 
> reasonable hard copy.  I detest printing html.

This is even more offtopic...

I haven't actually tried it on Franz's documentation but there's a
wonderful program called html2ps which can do really quite a
reasonable job with a lot of HTML -- certainly enormously better than
Netscape and so on.

Actually it's a seriously horrible perl script, but it does work very
well, if slowly.  (Except when new perl releases randomly break some
obscure part of perl requiring deeply obscure fixes. But that's perl
for you: a language defined by its single implementation which somehow
manages to have the kind of obscure compatibility problems I somehow
never see when porting between 3 CL systems on 3 OSs.)

--tim
From: Espen Vestre
Subject: Re: LISP and AI
Date: 
Message-ID: <w67ld9s9xg.fsf@wallace.nextel.no>
Tim Bradshaw <···@cley.com> writes:

> This is even more offtopic...
> 
> I haven't actually tried it on Franz's documentation but there's a
> wonderful program called html2ps which can do really quite a
> reasonable job with a lot of HTML -- certainly enormously better than
> Netscape and so on.

I have, happy as clam, returned to LaTeX again for documentation.
With pdflatex which comes readily installed with the latest teTeX
(starting with version 1.0, I think) package, I deliver all the
pretty-looking documentation in PDF (in fact, I have completely
stopped creatin DVI, everything is compiled to PDF), and I publish
them on my own internal webserver in HTML, which is easily generated
from the LaTeX source with hyperlatex
(http://www.cs.ust.hk/~otfried/Hyperlatex/).

(I'm also considering using pdflatex as a means from auto-generating
 reports and documentation from lisp programs, why wait for XML-
 based tools to arrive when you can use the power of TeX?)
-- 
  (espen)
From: Rudolf Schlatte
Subject: Latex output from Lisp (was Re: LISP and AI)
Date: 
Message-ID: <lxr9bh13qj.fsf_-_@ist.tu-graz.ac.at>
Espen Vestre <·····@*do-not-spam-me*.vestre.net> writes:

[...]
> (I'm also considering using pdflatex as a means from auto-generating
>  reports and documentation from lisp programs, why wait for XML-
>  based tools to arrive when you can use the power of TeX?)

You too?

Some time ago, I auto-generated huge amounts of useless documentation
doing something like:

(defun make-headers-document (infile outfile find-fn print-fn)
  (with-open-file (instream infile)
    (ltx:with-latex-document
     (:output outfile :packages '(("babel" ("german"))
                                  ("inputenc" ("latin1"))
                                  ("fontenc" ("T1"))
                                  ("hyperlatex"))
              :title (concatenate 'string "File: " infile)
              :author "Rudi Schlatte")
     (while-bind (next-block (funcall find-fn instream))
                 (funcall print-fn next-block)))))

find-fn snarfs a block of code (procedure or whatever), print-fn
semi-parses it and prints whatever it sees fit.

It is really a pleasure to see twenty-odd page documents of boring
documentation being churned out by a program instead of by myself...
I even made up some sort of markup for the comments in the source,
giving me a crude kind of literate programming.  Perhaps I will play
with cross-indices a bit, then the documentation will be better than
written by hand (and always semi-accurate to boot).

I'm enclosing the Latex package; note that it is not very refined
since it was hacked together late one night; these are just the
building blocks.  I will have some time and motivation to enhance it a
bit during the next month, though.  Comments, Critique & Code welcome.


;;; -*- Lisp -*-

;;; Bare-bones Latex output from Common Lisp.
;;; Written by Rudi Schlatte <·········@ist.tu-graz.ac.at>
;;; Use it as you please.

;;; Issues:
;;; No math mode (did not need it for what this was written for)
;;; Almost no useful commands (there will be things like
;;;   (section "The section title" :toc-entry "sec-title" :label "foo" ...)
;;;   at some point in the future.

(defpackage "LATEX-GEN" (:nicknames "LTX") (:use "COMMON-LISP")
  (:export "WITH-LATEX-DOCUMENT" "LATEX-COMMAND-0" "LATEX-COMMAND-1"
           "WITH-LATEX-ENVIRONMENT" "OUTPUT" "LF" "PAR" "ESCAPE-CHARACTERS"))
(in-package "LATEX-GEN")

(defvar *latex-stream* cl:*standard-output*
  "All Latex output goes here.  Bound by with-latex-document macro.")

(defmacro while (test &body body)
  `(loop (unless ,test (return))
     ,@body))

(defun output (control-string &rest arglist)
  "Output to *latex-stream* as per format."
  (apply #'format *latex-stream* control-string arglist))

(defun lf ()
  "Latex linefeed."
  (output "~&"))

(defun par ()
  "Latex paragraph (empty line)."
  (output "~&~%"))

(defun escape-characters (string
                          &optional (the-chars "$&%#_{}") (escape-char #\\))
  (with-output-to-string (result-string)
     (loop for char across string
	   when (find char the-chars :test #'char=)
	   do (write-char escape-char result-string)
	   do (write-char char result-string))
     result-string))

(defun latex-option-list (string-list)
  (format nil ··@[[~{~A~^,~}]~]" string-list))

(defun print-header (class option-list package-list title author date)
  "Prints the LaTeX document preamble.
class: document class name.
option-list: list of document class options.
package-list: list with (package-to-use [(option-list)]) entries.
title: document title.
  If nil, none of \\title, \\author, \\date will be printed.
author: document author
date: creation date.  if nil, \\date will not be printed."
  (output "\\documentclass~A{~A}~%"
          (latex-option-list option-list) class)
  (output
   ;; This is hairy; package name comes before list of options
   ;; but gets printed afterwards; also options can be non-existent,
   ;; so I test before jumping around in the arglist
   ··@[~{~{\\usepackage~*~#[~;[~{~A~^,~}]~]··@*~A}~%~#[~;~*~]~}~}~]~%~%"
   package-list)
  (when title
    (latex-command-1 "title" title) (lf)
    (latex-command-1 "author" author) (lf)
    (when date
      (latex-command-1 "date" date) (lf))
    (par)))


(defmacro with-latex-environment ((name &optional option-list) &body body)
  `(progn
     (output ,(concatenate 'string "~&\\begin"
            (latex-option-list option-list)  "{" name "}~%"))
     ,@body
     (output ,(concatenate 'string "~&\\end{" name "}~%"))))

(defun latex-command-0 (name)
  "Output Latex command \"name\" (no arguments)"
  (output "\\~A" name))

(defun latex-command-1 (name contents)
  "Output Latex Command \"name\" (one mandatory argument)"
  ;; FIXME: We sanitize the contents string here, escaping LaTeX
  ;; special characters.  This may not be the right thing for some
  ;; commands.  Eventually, there will be (section "Foo") & Cie.  and
  ;; they will take care of their arguments themselves.
  (output "\\~A{~A}" name (escape-characters contents)))

(defmacro with-latex-document ((&key (output *standard-output*)
                                     (class "article")
                                     (options nil)
                                     (packages nil)
                                     (title nil)
                                     (author "")
                                     (date nil))
                               &rest body)
  `(ctypecase ,output
              (string (with-open-file (*latex-stream* ,output
                                                      :direction :output)
                        (print-header ,class ,options
                                      ,packages ,title
                                      ,author ,date)
                        (with-latex-environment ("document")
                          (when ,title
                            (latex-command-0 "maketitle") (par))
                          ,@body)))
             (stream (let ((*latex-stream* ,output))
                       (print-header ,class ,options ,packages ,title
                                     ,author ,date)
                       (with-latex-environment ("document")
                         (when ,title
                           (latex-command-0 "maketitle") (par))
                         ,@body)))))
From: Paolo Amoroso
Subject: Re: LISP and AI
Date: 
Message-ID: <s9UWOXINsfpR3o5gw7rxn5YXfVMn@4ax.com>
On 05 May 2000 00:00:29 +0100, Tim Bradshaw <···@cley.com> wrote:

> even though they probably already know.  Actually I would *really
> like* paper manuals as printing and binding is a pain even with a
> souped up double-sided printer which we don't currently have.  I would

An interesting opinion in favor of printed documentation is that of Bruce
Tognazzini (he was Apple's "user interface evangelist" for several years):

  How to Publish a Great User Manual
  http://www.asktog.com/columns/017ManualWriting.html


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/