[Pharo-dev] Smalltalk = strongly typed

Camille Teruel camille.teruel at gmail.com
Fri Aug 2 09:39:20 EDT 2013


Just a citation: 

“I spent a few weeks ... trying to sort out the terminology of ‘strongly typed’, 
‘statically typed’, ‘safe’, etc., and found it amazingly difficult ... The usage of these 
terms is so various as to render them almost useless.”
-- Benjamin C. Pierce

If you use one of these terms, you should give a definition. 
And if you hear one, you shouldn't assume the author means what you think.
For example some people could argue that Smalltalk is untyped (or unityped [1]), while you argued that it is strongly typed since there is no implicit type conversion.
For most people, the static/dynamic and the weak/strong distinctions are supposed to be orthogonal.
So, for most people, strong typing is not a synonymous of static typing.

[1] http://existentialtype.wordpress.com/2011/03/19/dynamic-languages-are-static-languages/  


On 2 août 2013, at 06:03, btc at openInWorld.com wrote:

> greetings all,
> 
> I'm in the final weeks of writing up my Masters dissertation and seeking some scholarly references to Smalltalk being "Strongly Typed."
> 
> I my review of Smalltalk I was surprised to find that [1] describes Smalltalk as Strongly Typed, since Smalltalk is sometimes denigrated as being untyped / weakly typed. From reviewing discussion forums this now makes sense, but I can only find one of scholarly reference that briefly mentions this [2].  The most enlightening is [3] which defines Type Strength as:
> 
> "A strongly typed language prevents any operation on the wrong type of data. In weakly typed languages there are ways to escape this restriction: type conversions"
> 
> meaning that getting a MNU is a form of Strong Typing since you can't make a Smalltalk object run a method that is not its own.  The problem appears to be that Strong Typing has been synonymous with Static Typing for a long time, and Static Typing strongly ties types to variables, except in Dynamically Typed languages, I think types can be considered independently from variables, in which case the definition of [3] has some merit, hence Smalltalk is Strongly Typed.
> 
> Sounds controversial, so I'm just hoping for some peer reviewed backup - but only you have something easily to hand. This is just a small thing I can just leave out if necessary.
> 
> cheers -ben
> 
> [1] http://www.squeak.org/Features/
> [2] p15, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.35.7507&rep=rep1&type=pdf
> [3] http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW415.pdf
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20130802/0f374293/attachment-0002.html>


More information about the Pharo-dev mailing list