CSE 505 -- Some Definitions

So far this only has a few definitions of the concepts we've studied ... more will be added next time the course is offered, I hope.

Type safe
Type safe means that the language guarantees that one type can't be incorrectly used in place of another type, in other words, that all expressions are guaranteed to be type consistent. This can be checked at compile time, run time, or a mixture. Lisp, Ada, and Miranda are examples of type safe languages. Fortran and C are examples of languages that aren't type safe.
Statically typed
Statically typed means that the type of every expression can be determined at compile time. We also check at compile time that all functions and operations are applied to expressions of the correct type. Miranda and Ada are examples of statically typed languages. (Lisp is not statically typed though.) "Statically typed" implies "type safe".
Strongly typed
There are two common definitions for strongly typed (sorry) -- one is strongly typed = statically typed; the other is strongly typed = type safe.
Weakly typed
Weakly typed means "not type safe". Fortran and C are examples of weakly typed languages.
Aliasing arises when you have two or more variables referring to the same storage location. I'll add more to the definition after the homework is due...