Talk:History of the Scheme programming language: Difference between revisions

Content deleted Content added
The Actor model was addressing two interrelated issues: control structure and message order arrival. Unfortunately, Scheme did not successfully address either issue.
Line 50:
 
:[http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-349.pdf ''Scheme: An Interpreter for Extended Lambda Calculus''. MIT AI Lab Memo 349. December 1975] missed the crucial importance of Actor message arrival ordering. Instead they have primitives like START!PROCESS, STOP!PROCESS and EVALUATE!UNINTERRUPTABLY . [[Special:Contributions/76.254.235.105|76.254.235.105]] ([[User talk:76.254.235.105|talk]]) 21:52, 3 November 2009 (UTC)
::According to [http://arxiv.org/abs/0812.4852 ''Common sense for concurrency and strong paraconsistency using unstratified inference and reflection'' arXiv:0812.4852], "In the 1960‟s at the MIT AI Lab, a culture developed around “hacking” that concentrated on remarkable feats of programming. Growing out of this tradition, Gerry Sussman and Guy Steele decided to try to understand Actors by reducing them to machine code that they could understand and so developed a '''Lisp-like language, Scheme, based on the lambda calculus, but extended for side effects, multiprocessing, and process synchronization'' ' [Sussman and Steele 2005] ."
::The Actor model was addressing two interrelated issues: control structure and message order arrival. Unfortunately, Scheme did not successfully address either issue.[[Special:Contributions/76.254.235.105|76.254.235.105]] ([[User talk:76.254.235.105|talk]]) 21:54, 8 November 2009 (UTC)
The quotation deleted from the article published in [http://arxiv.org/abs/0907.3330 ''ActorScript(TM): Industrial strength integration of local and nonlocal concurrency for Client-cloud Computing'' ArXiv 0907.3330 ] is as follows:
: [Sussman and Steele 1975] mistakenly concluded “we discovered that the 'Actors' and the lambda expressions were identical in implementation.” The actual situation is that the lambda calculus is capable of expressing some kinds of sequential and parallel control structures but, in general, not the concurrency expressed in the Actor model. On the other hand, the Actor model is capable of expressing everything in the lambda calculus and more.
Line 64 ⟶ 67:
: As a last point: if you truly care about this topic, '''[[Wikipedia:Why create an account?|please consider registering accounts]]''' , as it is difficult to hold a conversation with an unknown number of anonymous parties.
: <span style="white-space:nowrap">—[[User:Piet Delport|Piet Delport]] <small>([[User talk:Piet Delport|talk]]) 2009-11-05 21:54</small></span>
 
::There were two controversies: (1) the usefulness of hairy control structure and (2) whether Actors were just the lambda calculus. [Sussman and Steele 2005] went around in circles about these issues contradicting itself at multiple points. Hewitt, Hayes, etc. published criticism of hairy control structure. So incorporating re-invocable continuations in Scheme was certainly perpetuating the controversy. The <code>START!PROCESS</code>, <code>STOP!PROCESS</code> and <code>EVALUATE!UNINTERRUPTABLY</code> primitives were part Sussman and Steele's reductionist attempt to address the message arrival order issue. It is unclear where these primitives fit into their summarizing claim at the end of their paper that “we discovered that the 'Actors' and the lambda expressions were identical in implementation.” [[Special:Contributions/76.254.235.105|76.254.235.105]] ([[User talk:76.254.235.105|talk]]) 21:54, 8 November 2009 (UTC)