[REBOL] Re: Newcomer difficulties with Rebol
From: greg:schofield:iinet:au at: 17-Dec-2007 15:14
Good on you Guiseppe for bringing this up.
I understand that some of these problems may be addressed in REBOL 3, but there is a
major problem with the documentation for newbies - some things work as you would expect
and others don't and it is very hard to work out why they don't.
REBOL needs to consolidate its documentation, which I think is underway as well, but
somehow it also needs to explain its logic as a concept that can be easily understood.
I keep getting lost with really simple stuff, mainly because I keep trying to understand
it in my own terms and not in REBOL's terms.
May I suggest that one thing that is needed is textbook, not a manual (we need that too
of course). A textbook would use very few examples, but concentrate instead on how things
are done in REBOL and why they are done that way. It would have to be well written by
someone who knows it inside out and can write clearly, coherently and well.
It cannot be a manual, but simple prose that has only one purpose - create the concept
of what REBOL is as a language, and explain its major features from blocks to dialects,
in terms of a general concept.
REBOL is very different to any other scripting language I have used (not many, LAU, REXX,
Python, and a tiny tiny bit of JAVA script).
--- Message Received ---
From: Giuseppe Chillemi <gchillemi-aliceposta.it>
Date: Mon, 17 Dec 2007 06:55:04 +0100
Subject: [REBOL] Newcomer difficulties with Rebol
As Newcomer I have faced many difficulties with Rebol due different working
in varius situation or different expectations. You must read a lot before
understanding this or that different behavior
The first time I faced a conceptual problem has been in Forall and Forskip.
They both returned the series at its tail. I expected to have the series at
its starting point when forall and forskip have been started.
The second different working is between using numerals or path values on
series: a: "12345" -> probe a/5 returns 5, a/22 returns none, seventh a
returns "Out of range or past end", I expected a -none- value too.
The third is a very big difference between what I expect and what I get. I
am talking about copy/part.
probe index? find a => 3
probe copy/part a 3 => "123"
probe copy/part a find a "3" => "12"
I expected 3 being the return value of -find a "3"- as it is the index of
the series returned by the fuction find but Rebol works differently
considering it the "end position"
The fourth learning difficulty arised on string inside objects and functions
they are static and global. I must use COPY to have another issue of the
string. Instead I would expect to have it initialized each I declare a:
. For the same reason I must use COPY/DEEP to copy sub-blocks
inside block of data.