One part of REBOL that can feel odd is when i have to
define local variables of a function in the first
block of the function. I find it a bit annoying to
have to add new variables to the list for every little
local variable I use. In addition, I  feel it clutters
up the first block and increases function size. In
addition, the way it is currently done could make it
easy to create hard to detect bugs.

What I would like to see is another shortcut to
creating local variables in any context (function,
innerfunction, loop). The obvious way I see of doing
this is as follows:


myfunc: func [][
  localvar:: $25
  myinnerfunc: func [][
    innerlocal:: $10
    print localvar ; prints $25
  ]
  print innerlocal; error!
]
print localvar ; error!

using the "::" for local var will make it more
convienient to create local vars (which i use all the
time over global vars). In addition, it will help
prevent some errors of accidental global var creation
because it is now easy to spot a local var. Best of
all, this type of shortcut would not break anything in
rebol. You could even use this in a loop:

for count 1 10 1 [
  localvar:: "hello"
]

Using the "::" shortcut in a global context would be
the same as using a ":". 

The disadvantage I see is that it adds another thing
to the language.. But consider that now we could stop
using the /local keyword, reduce bugs, and use it
consistently everywhere, overall it can simplify
things.

Anybody have other reasons as to why it was not done
this way??

Perhaps there is a performance issue??

rishi

__________________________________________________
Do You Yahoo!?
Yahoo! Games - play chess, backgammon, pool and more
http://games.yahoo.com/
-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to