[squeak-dev] Smalltalk and functional programming

Alejandro F. Reimondo aleReimondo at smalltalking.net
Wed Aug 25 13:25:28 UTC 2010


Hi,

> Saying that Smalltalk isn't an FPL because its functions all happen to be 
> associated with a class just seems foolish to me.

There is no Function class in most of my images, and all
 are instances of Smalltalk. ;-)  (all survived the changes
 I made from the day I downloaded somewhere)

If we consider messages..., can be undestood
 (or not) by an object, but it do not mean that we can associate
 the receiver with the message, because the receiver
 can change and do/doNot understand the same message
 when we are still reading this sentence.

There are many instances of smalltalk family that
 support instance based behavior from long time,
 so we can start to accept/consider that evidence to
 undestand that smalltalk do not mean what
 was defined +20 years ago...

Diversity is something present in Smalltalk today.
The language model is a model of exclusion and irresponsibility;
 you change/delete one rule and you have ANOTHER language
 with no relationship with the "old" language.
In a world of change sustainability (of the environment) is more
 important than definition and contents.
If we define smalltalk as a language, people think that
 there are things that can´t be done with Smalltalk (with objects);
 and it is not the case today with modern smalltalk VM.

best,
Ale.




----- Original Message ----- 
From: "Frank Shearar" <frank.shearar at angband.za.org>
To: "The general-purpose Squeak developers list" 
<squeak-dev at lists.squeakfoundation.org>
Sent: Tuesday, August 24, 2010 1:35 PM
Subject: Re: [squeak-dev] Smalltalk and functional programming


> On 2010/08/24 15:27, Michael Haupt wrote:
>> Rob,
>>
>> On Tue, Aug 24, 2010 at 3:19 PM, Rob Withers<reefedjib at gmail.com>  wrote:
>>> Smalltalk is a dynamic fuctional object-oriented language.
>>
>> you forgot "imperative" and, hey, since you can implement Prolog in
>> it, "logic". ;-) Sorry for the sarcasm, but Turing completeness just
>> bites. (Yes, it's a bottom argument, but this kind of question just
>> calls for it.)
>>
>> If someone'd ask me, I'd respond that Smalltalk is IMHO not a
>> functional language. What is the primary means of abstraction at work
>> in Smalltalk? Not functions, right?
>>
>> The other way around, would you agree that, uh, Haskell is an
>> object-oriented language because you can somehow emulate objects and
>> state using monads?
>
> Well, that's the thing. If you tried to write OO in Haskell, you'd fight 
> the language, right? It's not natural to use Haskell to write OO. 
> Similarly, you don't write OO in C because it _hurts_.
>
> On the other hand, while clearly not a pure functional language like 
> Haskell, it's not hard - it's _easy_ - to write in a functional manner.
>
> Languages support certain ways of working better than others. Smalltalk 
> seems to support working in a functional manner rather well. (In contrast, 
> try doing so in Delphi. I don't recommend it.)
>
> (Everything in Common Lisp is an object, so is that not an FPL anymore?)
>
> So, in my book, if a tool's good for hitting things, it's a hammer. 
> Whether that hammer has a metal end and a wooden handle, or a rock, I 
> don't really care.
>
> Saying that Smalltalk isn't an FPL because its functions all happen to be 
> associated with a class just seems foolish to me.
>
> At any rate, it seems I'm relatively alone in thinking this way, which is 
> fine by me.
>
> frank
>
> 





More information about the Squeak-dev mailing list