[Pharo-dev] Smalltalk = strongly typed

Igor Stasenko siguctua at gmail.com
Mon Aug 5 03:35:44 EDT 2013

On 3 August 2013 20:53, kilon <thekilon at yahoo.co.uk> wrote:
> btc wrote
>> btc@
>>  wrote:
>> Kilon, I agree with most of you writeup, except that I think Smalltalk
>> has types - except the types are not associated with variables, rather
>> they are associated with objects.  This aligns with Igor's comment  "in
>> smalltalk, assignment is not copying value, but changing the reference".
> Actually I also mostly agree with Igor point. If I am not mistake we agree
> on the fact that smalltalk has no types.
> The only thing I would not agree, if my assumption is correct here, is that
> Igor appears here implying that smalltalk somehow is special to assign
> values by reference. If this assumption of mine is correct then I do
> disagree strongly , its actually a very common practice. Python also
> implement this, Lisp does, ruby and an array of dynamic type languages. I am
> not so sure about C and C++ but since they use pointers its a moot point
> anyway.
> I explain this concept in my book about python that I have published in
> blenderwiki , section "Reference" which can be found here ->
> http://wiki.blender.org/index.php/User:Kilon/Python_book_of_magic/05.Dictionaries
Sure, i didn't meant that this is unique to smalltalk.

> However this concept is implementation specific and not language specific.
> Its obviously a massive diffirence because a coder rarely worries about the
> implementation itself the same way a user of an OS does not worry how and
> why an OS does the things it does, he only care about what it does.
Well, a language should define how assignment works, so it can be implemented.
And apparently assignment by copying value won't fit for smalltalk.

> Also I am not sure how that prove the existence of types, for me it does
> not, it only describes how values are assigned. What prevents you from
> assigning by reference typeless data ?
> Unless once again we talk about how pharo itself implement this and somehow
> uses its own internal type system. The question that remain why I the coder
> should care about this , if at language level Smalltalk is typeless.
> Maybe Igor can clarify this more to make a more clear picture what happens
> at implementation level. But at language level yes I have seen nothing that
> proves the existence of types inside Smalltalk unless we treat types in a
> very vague kind way which for me it just defeats their purpose.
I think that too.. To me it looks like an attempt to describe the
world with favorite tool - thermometer.

> I also agree on the remark of Duck Typing , it definitely smells like
> smalltalk , but once again the terminology is failed because it implies a
> type system.
> Once more I have to stress the importance of dichotomy between language
> specification and language implementation. Types obviously touch both areas
> but not necessarily for same reasons.
> --
> View this message in context: http://forum.world.st/Smalltalk-strongly-typed-tp4701894p4702028.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Best regards,
Igor Stasenko.

More information about the Pharo-dev mailing list