[Pharo-dev] Smalltalk = strongly typed

Camille Teruel camille.teruel at gmail.com
Fri Aug 2 10:22:28 EDT 2013


On 2 août 2013, at 15:47, Esteban Lorenzano wrote:

> 
> 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 :(
 
It depends on the people one knows then ;)
All that shows that these terms are unclear for everyone and must be defined when used.

> 
>> 
>> [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/40ed4e8e/attachment-0002.html>


More information about the Pharo-dev mailing list