Dr. Dobb's Journal - May 2008 - (Page 56) d04flam_p2as 3/12/08 9:51 AM Page 56 Swaine’s Flames by Michael Swaine Back to the Future with John McCarthy WHEN THEY MAKE the movie of his life, John McCarthy should be played by Christopher Lloyd. There seems to be no computer science challenge too big for this legendary founder of artificial intelligence to take on with the exuberance of Dr. Emmett Brown in Back to the Future, and you have to admit that McCarthy looks the part of a mad scientist. Recently, he’s been talking up Elephant, a proposed very high-level language for transaction processing and electronic data exchange—more or less what XML is supposed to be for, but Elephant is more ambitious as a language. It is, McCarthy says, “on the border of AI.” Jimmy Guterman caught his talk at Etech and reported on it at O’Reilly Radar. McCarthy takes on transactions in terms of “performatives,” a term that I remember well from my grad school days. I came to computer science from psychology with some linguistics and philosophy of science helping to bridge the gap, and one of the books that I came upon back then that seemed to live in all four of these domains was J.L. Austin’s How to Do Things with Words. Austin pointed out something curious in that book, based on his William James Lectures at Harvard: Many utterance that look like statements are not intended to convey information at all, or at least that is not their primary purpose. These utterances, which he named performatives, are actions in the form of speech. When you promise something, you are not (merely) conveying information to someone, you are performing an act. Placing a bet, making an offer, taking a vow, hiring an applicant, giving an order, accepting an assignment, acquitting a defendant, declaring war, are all performatives. And as Austin points out, commands are closely related to performatives. They’re odd things, performatives: Austin finds that the logical relationships of entailment, implication, and presupposition all work a little differently for performatives than for factual statements. What makes performatives particularly interesting for transaction processing and electronic data exchange is that those examples of performatives that I just listed look like just the things we want to do in online transactions. Guterman seems puzzled by McCarthy’s assertion that “ascribing beliefs to thermostats is like adding 0 and 1 to the number system,” but McCarthy dealt with this precise example in his 1979 paper “Ascribing Mental Qualities to Machines,” which can be found on his website (www-formal.stanford.edu/jmc) in html, dvi, pdf, and postscript versions. He even provides a machine-centric “glossary of mental qualities.” I’m not saying that your head will be clearer on the matter after you read that paper—McCarthy freely tosses around Kantian jargon like “syncategorematic” and wrestles with questions like whether the proper objects of machine belief are sentences or propositions—but in that paper the thermostat is his number one example for considering whether and when it can be legitimate to ascribe mental properties to machines. McCarthy’s view is that it is unnecessary but legitimate to ascribe beliefs like “The room is too hot” or “The temperature is 24 degrees” and a goal like “The room should be OK” or “The temperature should be 20 degrees” to a thermostat. And while it does little good to think of a single thermostat in this way, McCarthy suggests that it is helpful in thinking about the class of possible thermostats. But do we think of thermostats as having intentions? Sure we do: It’s the reason—if I’m interpreting McCarthy correctly—that we consider a thermostat with its wires to the furnace cut to be a broken temperature control system rather than just a certain collection of parts. McCarthy even cites a common example of a simple machine to which it makes sense to ascribe introspective beliefs; i.e., beliefs about the machine’s own internal states. Consider an alarm clock, getting power back after an outage: It’s legitimate to say that it realizes that it doesn’t know the time and is flashing to signal this. Not that any of that has anything to do with transactions. But McCarthy has been thinking about very high-level languages for transactions over networks for a long time. In 1975, inspired by an article by networking pioneer Paul Baran that “envisaged a world of the future in which companies would be well equipped with on-line computer systems,” McCarthy wrote “The Common Business Communication Language.” In this article, the updated version of which is also available on his website, he proposed a language for business transactions much like XML. Here’s a transaction in CBCL: (REQUEST-QUOTE (YOUR-STOCK-NUMBER A7305) (UNITS 100)). and here it is in XML: A7305 100 In that paper, McCarthy acknowledges that even handling something as simple as a purchase order involves some thorny semantic issues. In Elephant, he presumably thinks he’s solved some of them. DDJ Michael Swaine Editor-at-Large mike@swaine.com 56 Dr. Dobb’s Journal l www.ddj.com l May 2008 http://www-formal.stanford.edu/jmc http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - May 2008 Dr. Dobb's Journal - May 2008 Contents Friday Night Fish Fry Alia Vox Developer Diaries Software Development Goes to the Movies Cat: A Functional Stack-Based Little Language Mojax: Mobile Ajax Framework Kernel-Mode Databases Getting Better Search Results Effective Concurrency The Agile Edge Dr. Dobb's Journal - May 2008 Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page Cover1) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page Cover2) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 1) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 2) Dr. Dobb's Journal - May 2008 - Dr. Dobb's Journal - May 2008 (Page 3) Dr. Dobb's Journal - May 2008 - Contents (Page 4) Dr. Dobb's Journal - May 2008 - Contents (Page 5) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 6) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 7) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 8) Dr. Dobb's Journal - May 2008 - Friday Night Fish Fry (Page 9) Dr. Dobb's Journal - May 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - May 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 14) Dr. Dobb's Journal - May 2008 - Developer Diaries (Page 15) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 16) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 17) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 18) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 19) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 20) Dr. Dobb's Journal - May 2008 - Software Development Goes to the Movies (Page 21) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 22) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 23) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 24) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 25) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 26) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 27) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 28) Dr. Dobb's Journal - May 2008 - Cat: A Functional Stack-Based Little Language (Page 29) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 30) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 31) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 32) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 33) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 34) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 35) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 36) Dr. Dobb's Journal - May 2008 - Mojax: Mobile Ajax Framework (Page 37) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 38) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 39) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 40) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 41) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 42) Dr. Dobb's Journal - May 2008 - Kernel-Mode Databases (Page 43) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 44) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 45) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 46) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 47) Dr. Dobb's Journal - May 2008 - Getting Better Search Results (Page 48) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 49) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 50) Dr. Dobb's Journal - May 2008 - Effective Concurrency (Page 51) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 52) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 53) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 54) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 55) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page 56) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page Cover3) Dr. Dobb's Journal - May 2008 - The Agile Edge (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.