[Zope] WebDav wishful thinking WEBCR ideas.question=now Zope++Rebol

Jason Cunliffe jasonic@nomadicsltd.com
Wed, 08 Dec 1999 16:03:42 +0100


At 16:50 07/12/99 -0500, Brain Lloyd wrote:

>I hadn't looked at Rebol before today. My impression (FWIW): while
>I'll agree that your example above is exceptionally clear, that
>clarity also degrades as the logic becomes more complex. This is 
>not to make a judgement on Rebol necessarily - I think that this
>is an issue in _any_ language or environment. Before you know it,
>people will have moved beyond:
>
> "send luke@rebol.com read <http://www.rebol.com/>http://www.rebol.com"
>
>to need:
>
> "send luke@rebol.com read <http://www.rebol.com/>http://www.rebol.com but
only
if he's
>  allowed to see it and only if its sunday and oh yeah convert it
>  to multi-part while you're at it"
>
>>From what I saw of Rebol, the end result would be significantly
>uglier than my contrived example above :) Again, that's not to
>bash Rebol in any way - I'm certain that the equivalent DTML is
>just as or even more ugly. Complexity just naturally grows in step
>with flexibility. 

Yes I agree  with you. in fact I find as one works one's way down the examples
list at:
<http://www.rebol.com/examples.html>http://www.rebol.com/examples.html

It starts to look more and more like any.py file 
To me there are two clear ideas in Rebol at a glance:

- it uses spaces instead of other punctuation. This makes it a little more
like
'natural human' prose langauges such as written english. 

- Rebol uses context lookup so that a command such as 'send' or 'read' apllies
some common snese get-it-out-my face tricks to apply embdeed code to parse
anything whihc has www. in it and go: "Ok - its http" or 'zope@zope.org',
thats
pop or smpt" etc..  

The context 'dialect' ideas in Rebol perhaps do relate well to the acquistion
features of Zope and what could perhaps be a 'cleaner' way forwards for future
version of Zope syntax. 
As I understand _good_ use of Zope Acqusition allows powerful context-based
structures to evolve. 
The designer of Rebol seems to have given a lot of thought to context-oriented
sytnax and how to maintain it. There is an interesting interview at:
<http://www.rediff.com/computer/1999/sep/29carl.htm>http://www.rediff.com/c
omputer/1999/sep/29carl.htm

It could be an interesting test to see how far one could push pseudo code,
python or similar to write a short story/novel say.  At what point would that
become illegible to non-programmers or vice versa?

 >A lot of this really goes back to the root question of "what is
>DTML really for?", which I won't go into at length (there have
>been several threads about it lately). I would, however, suggest
>that in many ways the use of External Methods or Python Methods
>is the natural and Pythonic way to deal with reducing complexity
>(at least apparent complexity from the point of view of the DTML
>user). While there is no equivalent to your send-page example
>implemented as a simple embedded DTML command, it is pretty 
>easy to hide that complexity behind External Methods or Python
>Methods that implement those "commands":
>
><dtml-call "send_page_to_someone('luke@rebol.com',
'<http://rebol.com/>http://rebol.com')">
>
>I'll be the first to admit that this is not quite as pretty, 
>but it is not unreasonably ugly.

Precisely. Parse out some pun5tuation adn wired characters and one is back
to a
REBOl like regualkr prose style use of english.

I am left wondering how to improve my Python skills so that my code reads more
simply.
How to construct a 'send' or 'read' c;ass metthod which can parse ahead a
little or at least sniff out protocols under the hood and run defaults unless
over-ridden. Rebol looks  little like 21st century [forward polish] FORTH or
good LINGO. 


>> How could Zope use Rebol or a rebol-like python external 
>> method to best
>> effect?
>> any ideas?
>
>I don't quite understand this - by this do you mean some kind
>of object like an external method but that could be written
>in Rebol? If so, that wouldn't really fix the DTML ugliness
>problem would it? You'd still have to say something like:
>
><dtml-call "send_page_to_someone('luke@rebol.com',
'<http://rebol.com/>http://rebol.com')">
>
>...even if the actual work was done in a different language
>wouldn't you? Perhaps I'm missing your point though.

hmm..well that's close and quote acceptable to zope99ers. 

But how about:

<dtml-rebol send Brian@digicool.com "Hello Brian, check out
<http://www.reol.com/>www.rebol.com and www.zope.org"

or  

<dtml-rebol zope@zope.org read
<http://www.rebol.com/>www.zope.org/members/brian/messages/today>  ??

ie leverage on the Rebol clarity and scalability and excellent potential for
mobile/PDA apps market, but using Zope as richer sophisticated environment for
hosting and integrating = ie what it does well

Or alternatively some friedly construct like <dtml-in rebol> or <dtml-with
rebol>
where 'rebol' dialectfolder can fhold rebol library

I hope this does not seem like I am trying to reinvent Zope. I'm not. But
it is
clear that Zope can get unneccesarily messy (especially in some hands:-) and
despite its excellent concept and power.
 
thoughts?
- Jason 
-------------------------------------------------
Jason Cunliffe  <jasonic@nomadicsltd.com>
NOMADICS.STUDIO(Design Director)
Geo-Digital Arts and Technology
Le Vieux Moulin,  Route de Mons
83440  SEILLANS,  FRANCE
Tel: +33 (0)4 94.76.98.72    
Fax: +33 (0)4 94.76.97.77