[REBOL] Re: relative expressions
From: greggirwin:mindspring at: 2-Apr-2003 10:54
Gabriele and Brett,
Not much time, but a couple thoughts:
1) Combining dialects isn't something I see as simpy a UNION of two or
more, but what we do is build up phrases, idioms, and dialect
. E.g. maybe there's a dialect for medical terminology. Now,
you have messages from people that contain "my doctor said I have..."
or "my doctor told me..." which could be used like a switch to jump
INTO another dialect (like INTO being used with sub-blocks). In this
case, you jump from your main messaging dialect to the medical
dialect; maybe even try a list of alternate dialects.
Where messages go, and how they are used, will also vary widely. There
will likely be cases where a message header will contain metadata that
will help tell processors what to do, or what can be done,
with them. Think how things like JINI and WSDL are used as an example.
2) The dialect/action combination is a many to many relationship.
We may want to replace the actions behind a dialect, but we may *also*
want to put a different dialect over basically the same set of
actions, or at least achieve the same end result (e.g. parse the data
for values, build up a record, put it in a DB).
3) If you've looked at the "programming by example" paradigm, imagine
designing dialects by using example text.
A sentence contains a subject, a verb, an object, and
sometimes some adjectives.
"Mr. Morton walked down the street."
In this sentence
Mr. Morton is the subject
walked is the verb
the street is the object
A data record contains 3 fields: first name, last name, and
phone number. E.g.
Gregg, Irwin, 000.000.0000
Brett, Handley, (00) 00.000.0000
For something like English, or other natural langugages, this could
obviously be a bit of work, but there is a lot of text out there that
could be used as examples. :)
PARSE itself is amazing, but imagine what we can build on top of it!