[REBOL] Re: [Bot] email command Bot
From: brett:codeconscious at: 27-Mar-2004 13:38
> [small rant]
> I am not a Rebol genius, though I have been using it (discontinued) for
> some time now. There are still many things I have problems to understand,
> mainly due to its "compactness" in the syntax, which I though it was a
> thing the language wanted to avoid. See those neat examples in the library
> to see what I mean. No doubts they are nice pieces of code that run well,
> but they are quite ermetic (cryptic syntax)and often use some undocumented
> parts of the language (like the use of internal ports, sub-ports, system
> objects etc...) which make them quite "mysterious".
Could you please list a few of these neat examples you refer to. Without
seeing them, I cannot see what you mean.
Though, I agree ports/subports are poorly documented.
> I think this is the first problem novices meet when starting grasping with
> the language. The use of forms like :word 'word to-lit-word! to-lit-path!
> set get etc... can be quite powerful but can also make the code a mess
Yes the word datatypes are a real learning curve. However I think it is
important to struggle with them a bit, to find and understand examples where
they are used. In short to make a determined effort to learn them because
doing so gives far better understanding of REBOL.
> (like doing things in C like c = *(unsinged short *) &value[]).
> And often they are done just to keep the code short instead of making it
> clear.
I don't doubt there could be instances of this. It would be nice for such
examples to be shown and compared with more well written code.
However, I have found in my own work that shorter REBOL code often leads to
far more flexibility than the original versions. More than this though, just
thinking about the consequences of choosing a shorter version may point out
new aspects of the problem I had not considered earlier.
> Then the fact that there's not exhaustive documentation on the system
> objects and how to take advantage of them. I have still to understand how
> the async:// thing works and where are those info about the
> sub-ports/handlers explained in the docs. This is just an example.
Yes documentation is a weakness - especially for ports. Async, is somewhat
special because I don't believe RT has finished that area of work. Some
members of the community have jumped into fill some of the gaps which is
good but confuses this area a bit - esp. for me. :-)
> Last a request, which may have already been asked, but I have not seen it.
> Is it not possible to make the interpreter load binary code so that one
> can "convert" the source code to it and have the interpreter load it not
> in ASCII form? So, even though the reverse engineering of the binary could
> be done, only the basic instructions are there and not the entire clear
> source code. This way the users could create "embedded" applications
> without having to mess with packages and source code distribution.
Compilation of REBOL code has been discussed some time back. I would not
hold my breath
on that.
Brett