Are you *sure* you know what "dynamic typing" is ? How does explicit typing system differ from implicit ? Why can a typing system be strong and weak ?

I had some knowledge of this stuff, but it wasn't really organized in my head (bet most of you feel the same). Today I found this on Lambda the Ultimate:

There are a lot of choices when designing a type system

Strong vs Weak Strong: Impossible to treat an object as an wrong type Weak: Possible to use improper operations on an object

Static vs Dynamic Static: The type of an expression is known at compile time. Dynamic: The type of an expression is only known at run time.

Explicit vs Implicit Explicit: All variables and functions are explicitly typed (also called Manifest typing) Implicit: The types of variables are implicit (also called Latent typing)

Many people argue ardently about this stuff while they don't really understand the terms. I paste it here just to remember it :-)