What typing discipline tags would you give this language?
What tags of typing disciplines would you give a language who: - requires the variables to be declared before use. - requires the variable's data-type to be declared before use. - Checks the whole syntax and spelling before execution - Allows variables inside a variable declaration, which are different data type, to be converted to the host data-type without functions, and then proceed to calculating the remaining. - in other words compatible variable-types. This conversion is also in functions and subroutines. For example you declare an integer, but assign a double - it converts it to integer first and then assigns it. - Changing data-types is allowed during execution. (because of the conversion of flexible/compatible data-types) - In order to not make the variables lose meaning there is a keyword that requires the required data-type(for funcs and subs) to be exact, not converted.