<div dir="ltr">Hi Frank,<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Feb 12, 2014 at 1:35 AM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">On 12 February 2014 00:22, tim Rowledge &lt;<a href="mailto:tim@rowledge.org">tim@rowledge.org</a>&gt; wrote:<br>

&gt;<br>
&gt; On 11-02-2014, at 5:02 PM, Jecel Assumpcao Jr. &lt;<a href="mailto:jecel@merlintec.com">jecel@merlintec.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Any discussion of what is Smalltalk and what isn&#39;t can&#39;t get very far<br>
&gt;&gt; without first clearly defining a few things.<br>
&gt;<br>
&gt; In the same way that Filk is music performed by people that consider themselves to be Filkers, I would suggest that maybe Smalltalk is what is written by people that consider themselves to be Smalltalkers.<br>
&gt;<br>
&gt; Is everything an object? Do objects have classes? Do objects communicate by sending messages and getting back results? Is an image saved and restarted? Can you forget about having to deal with memory allocation? If the answer is yes to those questions then it&rsquo;s probably a Smalltalk.<br>

<br>
</div>Of course, this makes Common Lisp a Smalltalk :) (They certainly have<br>
a whole bunch of characteristics in common, which given Smalltalk&#39;s<br>
influences should not be a surprise.) (And no, I don&#39;t seriously<br>
consider Common Lisp a Smalltalk, just in case anyone thinks that I<br>
do.)<br></blockquote><div><br></div><div>Good that you don&#39;t think CL is a Smalltalk. &nbsp;But why? &nbsp;Generic functions vs message sends, instance encapsulation and syntax. &nbsp; I think generic functions are very different to Smalltalk/Self-style message sending (Java/C++/JavaScript message sending is much closer to Smalltalk). &nbsp;And hence method combination is very different in CL to Smalltalk&#39;s simple super send. &nbsp;While Newspeak extends Smalltalk&#39;s send semantics with lexically-scoped sends, the extensions are still very much like Smalltalk message sends (polymorphic, dispatching on a single receiver). &nbsp;The other major difference is encapsulation. &nbsp;In CLOS there isn&#39;t any. &nbsp;Generic functions imply that not everything is an object. &nbsp;But CLOS has a MOP and we&#39;re in catch-up here. &nbsp;Pharo is doing good work with Slots. &nbsp;Finally syntax is important. &nbsp;The mixfix syntax that Smalltalk has is simple and powerful. &nbsp;CLOS has keyword arguments but they&#39;re quite different, for optional parameters and can have default values and occur in any order. &nbsp;A final significant facility is multiple return values. &nbsp;Smalltalk has a neat hack (providing a block to receive the results), but that&#39;s not as convenient.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><br>
&gt; Oh and course the big one - do I like it?<br>
<br>
</div>Why, yes I do! (To both!)<br>
<span class=""><font color="#888888"><br>
frank<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>