[Pharo-dev] Smalltalk = strongly typed

Esteban Lorenzano estebanlm at gmail.com
Fri Aug 2 09:47:04 EDT 2013


On Aug 2, 2013, at 3:39 PM, Camille Teruel <camille.teruel at gmail.com> wrote:

> 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.

I have to say that IMHO, you are wrong in this one. For researchers, maybe. But I have seen in "industry word" that the terms are often exchangeable and for most people I have known, strong=static :(


> 
> [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/41d00e5b/attachment-0002.html>


More information about the Pharo-dev mailing list