Basically:
Static typing: The compiler knows, right off at compile-time, what type the variable is. You specified what it is at declaration, and it cannot change. (C/++, Java, etc.)
Dynamic typing: The compiler doesn't necessarily know what type the variable is until run-time... (Most scripting languages, and others.)
There are more intricacies in the differences, but that's it in a nutshell.
The reason I wrote "statically" typed, is because I don't actually know if the AppGameKit compiler does dynamic typing.
EDIT:
And I realized that the:
F = foo
declaration is actually the same as:
F as integer
F = foo
As I think if you do not use # or $, it assumes integer (so not dynamic at all, and no reason to disallow F as integer = g!)
I think you're right Markus, the compiler should handle this!
Using AppGameKit v2 T1 + T2
Systems: Primary: Mac OS X 10.10
Secondary: Windows 7