I just tried it and you can infact declare Globals inside plain functions that are only scoped to that function, neat. So I think that satisfies the static local definition you were after.
prints 0 1 2 and if you try and add a print a to the end of the code you get identifier 'a' not found. Without the strict it prints an extra 0 as the compiler auto creates a globally scoped (there must be a better term) local a variable old skool style.
That gui thread is in the BlitzPlus forums here:
http://www.blitzbasic.com/Community/posts.php?topic=41587
Strict function inc() global a print a a:+1 end function inc inc inc
prints 0 1 2 and if you try and add a print a to the end of the code you get identifier 'a' not found. Without the strict it prints an extra 0 as the compiler auto creates a globally scoped (there must be a better term) local a variable old skool style.
That gui thread is in the BlitzPlus forums here:
http://www.blitzbasic.com/Community/posts.php?topic=41587