Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

designing dialects - was OWL

 [1/18] from: robbo1mark:aol at: 21-Mar-2002 9:53


Sunanda, The Web Ontology Language is NOT a ntural for REBOL. It IS however a natural for a DIALECTING and ONTOLOGY language. I've been thinking a bit about this recently and especially as I consider XML / HTML to be verbose, not human centric in design, wasteful! why have closing tags for every value. Let me explain abit more about what I mean. An Extensible Dialecting and Ontology Language should not be REBOL. REBOL is a vendor specific programming or messaging language and it is proprietary. A web dialect and ontology language should be programming language neutral. It is my contention that DIALECTS ARE NOT REBOL in as much as a well designed dialect should be a means for describing and encapsulating data and information about a particular topic, application or area of specific interest in a language which is natural for the matter in hand and is also human centric in terms of it's understanding and maintainability. NONE OF THIS PRECLUDES THE DESIGN OF A WEB DIALECTING AND ONTOLOGY LANGUAGE from being REBOL friendly. Let me illustrate. Consider HTML as an example, as opposed to writing full blown HTML in the REBOL community we have tools like make-doc-pro as well as Andrew Martins excellent etext and html dialects. These both make it possible to produce HTML documents using scripts which convert text files into HTML according to the text 'MACRO patterns which represent HTML functionalities. These are a direct one to one correspondance between the text-2-html dialect language and HTML proper. However from my point of view there is a better way to represent HTML in a REBOL friendly DIALECT which is based on .PAGE from the pliant language project. please follow this link http://pliant.cx/pliant/protocol/http/page.html Instead of text macros like *this text will appear as bold* ; etext example in Pliant's .PAGE this would be BOLD TEXT "this text will apear as bold" ; .page example This for me is closer to what a true WEB Dialecting and Ontology Language would look like. BOLD TEXT "This text will appear as bold" It is NOT Rebol BUT it could BE, it is very sympathetic to REBOL design. BOLD TEXT look like functions which take arguments. This text will appear as bold is a REBOL string! type. However it is NOT REBOL per se and could be interpreted and transformed to HTML via your language of choice, be this lisp / scheme / perl / php / pliant / python / java / tcl / REBOL or whatever. Well designed DIALECT's are programming language neutral. The DIALECT keywords are specific to the domain of knowledge. A well designed DIALECTing language is human friendly to understand and maintain. XML / HTML are TOO verbose. C / etext / make-doc-pro are NOT verbose enough, they depend on character and symbol shortcuts to define meaning, which is great if your hacking at the keyboard but not so great if you are looking at the file and trying to interpret it's meaning and structure. For this you require to know these little languages like etext or make-doc-pro. Which is most human centric 1. BOLD TEXT "This text will appear as bold" ;.page dialect 2. *this text will appear as bold* ; etext dialect 3. <bold> <text> This text will appear as bold </text> </bold> ; html This is only a trivial example but which shows us the following; Etext is the most compact representation but require knowledge of etext to deduce what "*" means. HTML has fully balanced tags but soon becomes very verbose very quickly & causes file sizes to be in the region of 30 to 40 percent larger than they need to be, just by the closing tags alone! When you consider a fully internet centric worold with web pages and xml based web services that is a MASSIVE amount of bandwidth wasted every minute of every day. .PAGE for me has the correct balance of dialect keywords (human symbolic words or values) as well as simple data values like strings and numbers. If I were designing a language nuetral but REBOL friendly DIALECTING and ONTOLOGY language for the WEB here is the attributes it would have; BOLD TEXT MY_WORD a-dialect-term ; key-words or REBOL words! 12345 3.141592 2e4 ; integer and decimal numbers in standard formats text strings ; text and data string! values [ color rgb 0 255 0 ] ; lists of values or REBOL blocks! SET WORD VALUE or WORD: VALUE ; assignment / extensibility see below =========== interlude =========== ========================== more .page examples ( note modified to include assignment ) set green [ color rgb 0 255 0 ] ; assign green to a value green text "this text will appear in green" =========== end of interlude ========= ======================= CONTEXTS or NAMESPACES the equivalent of REBOL objects! my-offer: context [ price: "=A3100" amount: 2 ] in xml this would be the same as <my-offer> <price> "=A3100" </price> <amount> 2 </amount> </my-offer> This would be my basis for the design of a WEB dialecting and ontology language. NOT REBOL but a rebol friendly language neutral human friendly format capable of being parsed and interpreted by your programming language of choice and / or human beings reading file data & information. None of this is new anyway John MCarthy of LISP fame was discussing a COMMON BUSINESS COMMUNICATION LANGUAGE back in 1976 before there was any internet and suggested using SYMBOLIC EXPRESSIONS simlar to LISPish syntax so the idea of a universal messaging language is NOT new and NOT entirely exclusive to REBOL. I think these brief suggestions outline how I think human / computer communication can be designed and extended indefinetley without relying on any specific computer language or platform or environment. As a final point REBOL can only have a limited amount og global words, at the present time / this will probably & hopefully change soon, but that alone rules out REBOL as "THE" EXTENSIBLE MESSAGING LANGUAGE solution, which every other language hacker would scoff at anyway for a number of reasons, with the fact it's a proprietary language quite an important point on any list of objections. The question is CAN XML be dislodged before it's too late? In any other industry a 30 to 40 per cent improvement in efficiency would undoubtedly be hailed as breakthrough performance! My two pence worth. cheers, Mark Dickson

 [2/18] from: carl:cybercraft at: 22-Mar-2002 12:03


On 22-Mar-02, [Robbo1Mark--aol--com] wrote:
> The question is CAN XML be dislodged before it's too late? > In any other industry a 30 to 40 per cent improvement in efficiency > would undoubtedly be hailed as breakthrough performance!
That 30 to 40 percent only applies to the text of any document, if we're talking bandwidth. Does anyone know what the percentage is of text to non-text stuff being sent across the Net? Pictures seem to use up more than 10,000 words, for instance. Obviously less text means less typing, which is good if there's no other losses associated - such as readability. -- Carl Read

 [3/18] from: chalz:earthlink at: 21-Mar-2002 22:46


**** It IS however a natural for a DIALECTING and ONTOLOGY language. I've been thinking a bit about this recently and especially as I consider XML / HTML to be verbose, not human centric in design, wasteful! why have closing tags for every value. ** After looking at XML a little, I have to agree with you there, Robbo. Even further, have you looked at MathML? Yikes! The samples I saw showed tags around every single character of the sample mathematical formulae. And even then, it didn't come out right (IE5.5 can't view MathML, and W3C's own browser, Amaya, showed them all twisted and messed up). I think we still have a ways to go here. **** An Extensible Dialecting and Ontology Language should not be REBOL. REBOL is a vendor specific programming or messaging language and it is proprietary. A web dialect and ontology language should be programming language neutral. It is my contention that ** Agreement there, too. However, I'm wondering if Sunanda's initial remark was with regards to implementing it within REBOL, so you can load OWL material with REBOL instead of an intermediary. Am I wrong? **** Instead of text macros like *this text will appear as bold* ; etext example in Pliant's .PAGE this would be BOLD TEXT "this text will apear as bold" ; .page example ** I'm rather interested in this. It sounds rather bold, pardon the pun. Though in reading the link you've provided, I see room for ideas and improvements etc, but unless I'm going to get serious about it, I'll more or less leave them alone. **** A well designed DIALECTing language is human friendly to understand and maintain. XML / HTML are TOO verbose. ** Captain Obvious, at our services ;) Unfortunately, what's generally obvious is rarely what's done. In an effort to make sure that things are done right and error-free (pshaw), designers tend to over-complicate.

 [4/18] from: al:bri:xtra at: 22-Mar-2002 19:07


> Instead of text macros like > > *this text will appear as bold* ; etext example > > in Pliant's .PAGE this would be > > BOLD TEXT "this text will apear as bold" ; .page example > ** >> html [u i b "This text will appear as underline, italic & bold"]
== { <html> <u><i><b>This text will appear as underline, italic & bold</b></i></u> </html>} http://valley.150m.com/Rebol/HTML.r Andrew Martin Bold Rebolutionary... ICQ: 26227169 http://valley.150m.com/

 [5/18] from: rebolek:seznam:cz at: 22-Mar-2002 10:00


>> read http://valley.150m.com/Rebol/HTML.r
** Access Error: Network timeout ** Near: read http://valley.150m.com/Rebol/HTML.r same from desktop:(

 [6/18] from: sunandadh:aol at: 22-Mar-2002 4:53


Charles:
> Agreement there, too. However, I'm wondering if Sunanda's initial remark > was with regards to implementing it within REBOL, so you can load OWL > material > with REBOL instead of an intermediary. Am I wrong?
No -- you are right. My first thoughts on seeing OWL were: 1. Rebol, seems a reasonably close match, so (at the very least) a reference implementation could be made in Rebol/dialects. That in itself could get Rebol under the noses of key decision makers; 2. If OWL is going to be important, then RT should be in there helping to assist its development -- it is clear that Rebol/IOS and OWL/Semantic Net are broadly working to the same goals.....But, as far as I know, RT is not a member of the W3C consortium; 3. If OWL takes off, Rebol will need to talk to it -- just as it does with XML and loads of protocols. It'd make sense to be one of the first languages off the block with full OWL certification rather than playing catch-up; 4. And the OWL spec is basically language design--and a language for the Internet at that --so I thought those who hadn't been following it to date might want to take a peek. Sunanda.

 [7/18] from: robert:muench:robertmuench at: 22-Mar-2002 11:43


> -----Original Message----- > From: [rebol-bounce--rebol--com] [mailto:[rebol-bounce--rebol--com]]On Behalf Of
<<quoted lines omitted: 7>>
> to interpret it's meaning and structure. For this you require to know > these little languages like etext or make-doc-pro.
Hi, just a note. You have to decide where the source of the information will be: Human or machine. If human, just make it simple like eText or make-doc-pro, we don't have a problem with this kind of stuff. And if you need to work further with this information translate it into a more machine compatible form, that's what eText and make-doc-pro do. Well we can emitt whatever is needed... so I don't see a difference. If you want several levels of abstraction just decide where the source of information will be and translate to all other things. I could even emitt a complete X86 binary application that displays the make-doc-pro content if it's necessary... Robert

 [8/18] from: robbo1mark::aol::com at: 22-Mar-2002 6:09


Robert, Surely the ideal scenario is where it doesn't matter whether the reader is human or a machine and that the information that is encoded within the dialect is programming language neutral, that way nobody get's upset , anybody can read / translate / emit whatever is appropriate AND the dialect alnguage reflects the context and terminology of the specific field of interest. And seeing as humans design and implement all of these things in first place why not lean towards the human side of understand though not at the expense of gross machine inefficiencies. print bold text "Hello World" could be an example from a page formatting dialect but is equally readable to humans AND machine programming languages. It is NOT REBOL but it is extremely REBOL friendly, however parsing from perl, python, lisp or whatever language shouldn't be too difficult. It is also more efficient encoding than the XML type markup languages, properly fefined you can achieve the same structures and relationships between data / code & information. I agree that in a text editor you would like to type *Hello world* to achieve the same effect but that is an ergonomic consideration and not how to achieve the most the most expressively understandable DIALECTING and ONTOLOGY language which is neutral to whether the reader is machine or human, REBOL or not REBOL. *Hello World* => BOLD TEXT "Hello World" it would be good if BOLD TEXT "Hello World" => HTML wasn't necessarily the case but until we can persuade the world to ditch XML / HTML then I suppose it's all academic. cheers, Mark Dickson in favour of something more human centric In a message dated Fri, 22 Mar 2002 5:48:59 AM Eastern Standard Time, "Robert M. Muench" <[robert--muench--robertmuench--de]> writes:

 [9/18] from: greggirwin:mindspring at: 22-Mar-2002 9:57


Mark, et al << Surely the ideal scenario is where it doesn't matter whether the reader is human or a machine...And seeing as humans design and implement all of these things in first place why not lean towards the human side of understand though not at the expense of gross machine inefficiencies. >> Call me crazy, but I think humans should *always* be considered as the reader. I think that's why I like REBOL so much. :) --Gregg

 [10/18] from: tbrownell:shaw:ca at: 22-Mar-2002 10:53


> Call me crazy, but I think humans should *always* be considered as the > reader. I think that's why I like REBOL so much. :)
I agree. What would the ultimate computer programming language be? A natural language pseudo code interpreter that translates "Make a program that removes all spam from my pop box." into machine code. It'd be the last word in programming languages... 'cept for the "thought interpreter", but first things first. TB

 [11/18] from: carl:cybercraft at: 23-Mar-2002 10:27


On 23-Mar-02, Terry Brownell wrote:
>> Call me crazy, but I think humans should *always* be considered as >> the reader. I think that's why I like REBOL so much. :) > I agree. What would the ultimate computer programming language be? A > natural language pseudo code interpreter that translates "Make a > program that removes all spam from my pop box." into machine code.
And the spammers would promply ask it to "Make a program that'll allow me to send spam that gets past spam removal programs."
> It'd be the last word in programming languages... 'cept for the > "thought interpreter", but first things first.
That'd result in uninterpreted programs. (: -- Carl Read

 [12/18] from: al:bri:xtra at: 23-Mar-2002 10:08


> I agree. What would the ultimate computer programming language be? A
natural language pseudo code interpreter that translates "Make a program that removes all spam from my pop box." into machine code. Hmmmm, that sounds too technical for me. :) How about: "Get rid of all this spam email for me." ? :) Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [13/18] from: carl:cybercraft at: 23-Mar-2002 12:16


On 23-Mar-02, Andrew Martin wrote:
>> I agree. What would the ultimate computer programming language be? >> A > natural language pseudo code interpreter that translates "Make a > program that removes all spam from my pop box." into machine code. > Hmmmm, that sounds too technical for me. :) > How about: "Get rid of all this spam email for me." ? :)
Still too technical - the human would need to know what "spam" meant. Solution... Send an email to every email address there is telling people not to send emails to me unless I've asked them to. -- Carl Read

 [14/18] from: tbrownell:shaw:ca at: 22-Mar-2002 16:48


Ok, here ya go.. Rebol [] A: "Send an email to every email address there is telling people not to send emails to me unless I've asked them to..." b: ask "What do you want me to do?: " if a = b [ c: read/lines 6_billion_e-mail_addresses_for_$29.95.txt foreach val c [ send val "Do not send e-mails to Carl Read unless he asks you to."] ]

 [15/18] from: carl:cybercraft at: 23-Mar-2002 16:16


On 23-Mar-02, Terry Brownell wrote:
> Ok, here ya go.. > Rebol []
<<quoted lines omitted: 5>>
> to."] > ]
Ah - but you're a human, not a programming language. (I hope:) -- Carl Read

 [16/18] from: oliva:david:seznam:cz at: 29-Mar-2002 13:52


Hello Carl, Saturday, March 23, 2002, 5:16:54 AM, you wrote: CR> On 23-Mar-02, Terry Brownell wrote:
>> Ok, here ya go.. >> Rebol []
<<quoted lines omitted: 5>>
>> to."] >> ]
CR> Ah - but you're a human, not a programming language. (I hope:) And what about this scenario: My_boss: "David, next 2 hours 23 minutes and 3 seconds work on a program that removes all spam from my pop box." David: "Yes, my Lord!" is this human programming? is it so unreal? in my_boss dialect: [ task "program that removes all spam from my pop box" for david in 2:23:03 ] cheers Oldes

 [17/18] from: oliva:david:seznam:cz at: 29-Mar-2002 13:23


Hello Terry, Saturday, March 23, 2002, 1:48:51 AM, you wrote: TB> Ok, here ya go.. TB> Rebol [] TB> A: "Send an email to every email address there is telling people not to TB> send emails to me unless I've asked them to..." TB> b: ask "What do you want me to do?: " TB> if a = b [ TB> c: read/lines 6_billion_e-mail_addresses_for_$29.95.txt TB> foreach val c [ send val "Do not send e-mails to Carl Read unless he asks TB> you to."] TB> ] 6_billion_e-mail_addresses_for_$29.95.txt has to be quite large so I would prefere: emails: open/direct/lines 6_billion_e-mail_addresses_for_$29.95.txt while [found? email: copy/part emails 1][ send email "Do not send e-mails to Carl Read unless he asks you to." ] close emails Oldes:-)

 [18/18] from: carl:cybercraft at: 30-Mar-2002 8:35


On 30-Mar-02, rebol-list wrote:
> Hello Carl, > Saturday, March 23, 2002, 5:16:54 AM, you wrote:
<<quoted lines omitted: 13>>
> Lord!" > is this human programming? is it so unreal?
Hi Oldes, The southern-hemisphere version... My_boss: "Carl, next 2 hours 23 minutes and 3 seconds work on a program that removes all spam from my pop box." Carl: "Up yours, my lord." (:
> in my_boss dialect: [ > task "program that removes all spam from my pop box" > for david in 2:23:03 > ] > cheers Oldes
-- Carl Read

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted