I dont see the reason for the confusion. Static typed language is a language that defines the type of the variable at the creating of the variable.
Strongly typed language is a language that wont automatically convert the type of a variable if the correct type is not used. Dynamic typed language use types but variable can change types depending on the type of data it receives. Weakly typed language will convert the type automatically if the wrong type is used. There is nothing stopping a static type language being weakly typed. Actually javascript is such an example. I have no idea how one could mix up static typing with strong typing , they look similar as word but they semantics if you exclude the fact that both talk about types are vastly different. In case of smalltalk none of the above is valid because smalltalk does not use types but rather objects. At best you could say it uses objects that emulate types, but since the object itself is typeless I dont think it makes a difference. Because of this its possible to emulate all these characteristic at the same time since the nature of smalltalk is to be very flexible. Probably lisp is very similar too. Afterall what forcing an object to complain about its type or do not allow to convert data at passing , or allow it / implement it ? You can do pretty much anything with message sending. Super powerful stuff. -- View this message in context: http://forum.world.st/Smalltalk-strongly-typed-tp4701894p4701965.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
