However, we do want to allow this common markup usage in a sensible way:
>> [<b>word</b>]
== [<b> word </b>]
So, that's even more tricky to scan.
Now, all this being said, we know there are a few minor bugs related to arrows in the scanner. They are listed in the R3 CureCode bug database, and they will be fixed.
For example, we need to allow lit-word quoting of arrow words:
>> if word = '< [...]
** Syntax error: invalid "word-lit" -- "'"
** Near: (line 1) if word = '< [...]
But, I simply wanted to point out this issue, so it is understood that arrows are not general-usage word characters.
As of alpha 97 the issues with arrow-based lit-words and get-words are fixed. Set-words are still a problem: See ticket #1478 for details.
Graham 15-Feb-2010 15:48:58
==> X
REBOL already has an index? function. Did you RTFM before complaining??
i-find: func [ series [series!] value [any-type!] /local pos ][ either pos: find series value [ index? pos ][none ]]
>> i-find "something" "thing"
== 5
>> i-find "something" "nothing"
== none
Oldes 16-Feb-2010 11:46:41
xRatio: Have you ever heard something about REBOL and dialects? Probably not because than you would not say something like: Forget almost all your "datatypes"
I really think that you completely misunderstand the philosophy of REBOL.
btw: do you know that in REBOL you can write something like:
>> head change find "123" "2" "4"
== "143"
or for newbies the same written as:
>> head (change (find "123" "2") "4")
== "143"
Which means, that we don't need index to be an integer! to make series related operations. That's also the reason why you must use head in my example... simply if you are wise, you can write your code without any index holding variables and necessary series related internal jumps.