concurrent unit of computation, libraries can be shared like peers in a BitTorrent network, and communication between peers is encrypted. Mark Stahl Refresh Savannah, April 2013
unit, easing the burden of the programmer by removing the need to choose whether to thread code. 2. All modern languages are designed for writing a single application running on a single machine. The network is an afterthought and therefore punished to APIs. This is invalid due to the ubiquity of the Internet. 3. The privacy of all communications, whether computational in nature or not, is paramount. All messages between local and remote should be encrypted.
'77) The core of the semantics is Carl Hewitt's Actor Model. All objects exhibit three core behaviors: • Create Objects • Receive Messages • Send Messages All message sending is asynchronous except to Promises, which are ALWAYS local. Promises are first-class (passed as arguments, receive messages, send messages, etc.)
hold onto message, blocking sender. Value - Create Promise, return it to sender, forward message to value 3. Create Promise 4. Return Promise to Sender 2. Send Asynchronous Message (value:) 5. Send Asynchronous Message (bar) 6. Send Asynchronous Message (value:) A C P P2
62. 53. 19. 23. 52. 21. 53. 35] "Are they all order than 20" AGES > 20 \ $& "False" "How many are over 25 but under 60" AGES > 25 & (AGES < 60) \ $+ "8"* * this works because Boolean objects implement the '+' behavior, so a Boolean can be added as if True were 1 and False 0 (once integers are implemented) "What is the percentage of people over 30" 100 * (AGES > 30 \ $+) / AGES count "63.64"
consensus in a network of unreliable processors. Consensus is the process of agreeing on one result among a group of participants. "Reaching Agreement in the Presence of Faults" Leslie Lamport Journal of Association of Computing Machinery 1980 Google uses the Paxos algorithm in their Chubby distributed lock service in order to keep replicas consistent in the case of failure. Chubby is used by BigTable which is in production in Google Analytics and other products. *(out of the scope of this talk... and I'm still learning more about it)