+4  A: 

What is a sound type system? Do you consider static typing more "sound" than dynamic typing? Does weak typing imply the type system being "unsound"? Do you consider C or C++ to be weakly typed because they allow for a number of ad hoc type conversions?

Lua is weakly typed, but the types provided make for asonishing power. Soundness lies in the eye of the beholder.

lbruder
Talk about answering a question with a question (or three!). +1 anyway since it moves the discussion along.
Edmund
A "sound type system" means that it is not possible to subvert the type system to make unsafe operations. C is a prime example of an unsound type system - you can easily cast 0 to a pointer and write to it. This doesn't necessary make it a better or worse language for its intended domain. But many other languages have the goal to eliminate the possibility to do such things, since it's error-prone.
kotlinski