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