In article <3166934166478...@naggum.no>, Erik Naggum <e...@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.
h...@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
In article <Ha3S4.69010$MB.1435...@news6.giganews.com>, cbbro...@hex.net wrote: > Centuries ago, Nostradamus foresaw a time when Erann Gat would say: > >In article <3166886517556...@naggum.no>, Erik Naggum <e...@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.
Erann Gat <g...@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.
In article <3166469115019...@naggum.no>, Erik Naggum <e...@naggum.no> wrote:
>* g...@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. da...@thornley.net | If you don't, flee. http://www.thornley.net/~thornley/david/ | O-
* 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.)
> ... >> > 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
On Wed, 10 May 2000 12:08:16 -0700, g...@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 //------------------------------------------------
In article <onskhsknl38rpv1u4vuc9odr2jb9tfh...@4ax.com>, Fernando <spam...@must.die> wrote:
> On Wed, 10 May 2000 12:08:16 -0700, g...@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?
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 == sgor...@kenan.com == standard disclaimer == == documentation group, kenan systems corp., cambridge, ma ==
In article <onskhsknl38rpv1u4vuc9odr2jb9tfh...@4ax.com>, Fernando
<spam...@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.
In article <3166979753318...@naggum.no>, Erik Naggum <e...@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.
g...@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 <p...@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]
In article <3166989135334...@naggum.no>, Erik Naggum <e...@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.)
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).
> 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.
On Thu, 11 May 2000 13:54:56 GMT, John Clonts <joh...@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 //------------------------------------------------
* Courageous <jkras...@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_.
* 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 :).
* Fernando <spam...@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 Naggum <e...@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).
(Pierre R. Mai) wrote: > g...@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.
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.
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.
Erik Naggum <e...@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.
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.