Later he gives the following chart

        |Statically checked       | Dynamically checked
-------------------------------------------------
safe   | ML, Haskell, Java, etc. | Lisp, Scheme, Perl, Postscript, etc
unsafe | C, C++, etc.            |


But this chart is not expressive enough... I believe that the properties implied by "weak/strong" refer to the ability (or the disability) of the compiler/runtime (or rather semantics of the language) to change types at will (actually, whenever this seems useful, in cases such as "string" + 7 or "9" - "3").

This category would include C and C++ (implicit conversions of numbers) and certainly dynamically checked languages such as php, javascript, (probably also) Ruby, Python, ...

I believe that these languages need to be distinguished.

- Tom