Are you saying my-variable is better than myVariable?
Yes.
How do global variables get you in trouble in
recursion? Do you have an example?
Not off-hand, we learn to avoid doing that. To construct one - let's
take a method doing recursion properly, and break it:
\ Correct way, using stack manipulation : fibonacci ( fib -- return ) recursive dup 2 >= if ( fib ) dup 1- fibonnaci ( fib fib-1 ) swap 2 - fibonnaci ( fib-1 fib-2 )
+ ( fib )
then ( fib )
; \ Incorrect way - using variable "fib", which will get
overwritten during recursion 0 value fib; : fibonnaci ( fib -- return ) recursive to fib \ to avoid stack
manipulation
fib 2 < if
fib exit
then
fib 1- fibonnaci ( fib-1)
fib 2 - fibonnaci ( fib-1 fib-2 )
+ ( fib )
;
I am not familiar with this alarm level. Could you
explain what it is?
In IEEE 1275, you can set an "alarm" for a device. This will be
called asynchronously when the condition in question triggers
(usually a timer expiring). If you were in the middle of something
else using global variables, you can get in trouble if those global
variables area also used in the alarm code. The Serial driver for
openboot uses alarms, for example.