<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jun 25, 2014 at 6:56 PM, Miles Fidelman <span dir="ltr"><<a href="mailto:mfidelman@meetinghouse.net" target="_blank">mfidelman@meetinghouse.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Joe, Thanks for the info.  A bit of follow-up if I might (embedded inline):<br>
<br>
Joe Armstrong wrote:<div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On Wed, Jun 25, 2014 at 5:20 PM, Miles Fidelman <<a href="mailto:mfidelman@meetinghouse.net" target="_blank">mfidelman@meetinghouse.net</a> <mailto:<a href="mailto:mfidelman@meetinghouse.net" target="_blank">mfidelman@<u></u>meetinghouse.net</a>>> wrote:<br>

<br>
<br>
        On Wednesday 25 June 2014 00:09:35 Robert Virding wrote:<br>
<br>
            I think it is very lucky that we weren't interested in, or<br>
            worried about,<br>
            the theoretical aspects, or that we had heard about the<br>
            actor model. If we<br>
            had we would probably still be discussing whether we were<br>
            doing the actor<br>
            model and which parts of it, or where we differed and how<br>
            important that<br>
            was? Or should we differ and maybe we should drop the<br>
            differences to we<br>
            would comply, etc ... :-)<br>
<br>
            We were trying to solve *THE* problem and this was the<br>
            best solution we<br>
            could come with. It was purely pragmatic. We definitely<br>
            took ideas from<br>
            other inputs but not from the Actor model.<br>
<br>
<br>
    Robert, I know it's probably documented somewhere, but...<br>
    1. what do (did) you see as "*THE* problem" you were trying to<br>
    solve at the time<br>
<br>
<br>
Joe here - I'll dive in with a reply:<br>
<br>
Bjarne Däckers thesis has a good outline of the problem the thesis is<br>
here <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.88.1957" target="_blank">http://citeseerx.ist.psu.edu/<u></u>viewdoc/summary?doi=10.1.1.88.<u></u>1957</a><br>
<br>
This blog has a good summary of Bjarnes thesis<br>
<br>
<a href="http://jlouisramblings.blogspot.se/2012/10/ramblings-on-thesis-of-bjarne-dacker.html" target="_blank">http://jlouisramblings.<u></u>blogspot.se/2012/10/ramblings-<u></u>on-thesis-of-bjarne-dacker.<u></u>html</a><br>

</blockquote></div></div>
Thanks for the pointers - and yes, the blog post is a very nice summary!<br>
<br>
Re.<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    2. what sources DID you draw from (other than the predecessor<br>
    languages at Ericsson), are there any that you'd consider primary<br>
    influences?<br>
<br>
<br>
Prolog and Smalltalk in equal measure. Pattern matching and syntax was inspired by Prolog. Messaging from Smalltalk. We took a few ideas on guarded commands from<br>
Dijkstra.<br>
<br>
</blockquote></div>
This is mostly in the form of historical curiosity of course, but...  can you say a bit more about the Smalltalk influence, and in particular, which version of Smalltalk?  I ask, because:<br>
- The earlier versions of smalltalk included (at least in theory) a lot of concurrency (objects seemed a bit more like actors), whereas later versions, starting with Smalltalk-72, pretty much dropped concurrency as a focus (there was really interesting exchange with Alan Kay on this, a while back, on the fonc email list).<br>
</blockquote><div><br></div><div>I can't be sure but at a guess smalltalk-80. The version I used was</div><div>on a sun workstation and I used to take a coffee break when it garbage collected. To be honest I was more influenced by the books than the</div>
<div>implementation which was very slow - the red green and blue books</div><div>were great reading.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- During that time period (very early 70s), there was a lot of cross-fertilization between Alan Kay (Smalltalk), Hewitt (PLANNER, actor model), and Steele and Sussman (Scheme) </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

(I'm kind of exploring Robert's statement that "I think it is very lucky that we weren't interested in, or worried about, the theoretical aspects, or that we had heard about the actor model." Particularly, in that Alan Kay cites PLANNER as a key influence on Smalltalk.  I'm kind of interested in the origins and history of languages that treat processes as fundamental units of computation, vs. the object model).<br>
</blockquote><div><br></div><div>All the smalltalk stuff did talk about "sending messages to objects" - so was</div><div>in a sense a message passing model - there were a few problems with</div><div>this - message passing was really just a disguised function call, and time and errors didn't fit into the model.</div>
<div><br></div><div>I always thought it was funny to say "everything is an object" - time and</div><div>errors don't seem to naturally fit into this ontology - a time value (like</div><div>10.45 pm on 12 march 1984) might be represented by an object - but</div>
<div>not time as being something which passes as processes execute - this is some kind of invisible stuff that is outside the computation.</div><div><br></div><div>It's funny that the "sending message to an object" way of describing</div>
<div>Java and Smalltalk, Objective-C, C++ etc. objects has persisted despite the fact that this is manifestly *not* what happens (which is a function call).</div><div><br></div><div>In Erlang we really do send a message to an object (well a process actually) - so Erlang is probably the only OO language there is :-)</div>
<div><br></div><div>/Joe</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks,<br>
<br>
Miles Fidelman<div class="HOEnZb"><div class="h5"><br>
<br>
-- <br>
In theory, there is no difference between theory and practice.<br>
In practice, there is.   .... Yogi Berra<br>
<br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div></div>