DWIM ("Do What I Mean") computer systems attempt to anticipate what users intend to do, correcting trivial errors automatically rather than blindly executing users' explicit but incorrect input. The term was coined by Warren Teitelman in his DWIM package for BBN Lisp, part of his PILOT system, some time before 1966.[1][2][3]

Teitelman's DWIM package "correct[ed] errors automatically or with minor user intervention"[2], similarly to a spell checker for natural language.

Teitelman and his Xerox PARC colleague Larry Masinter later described the philosophy of DWIM in the Interlisp programming environment (the successor of BBN Lisp):

Although most users think of DWIM as a single identifiable package, it embodies a pervasive philosophy of user interface design: at the user interface level, system facilties should make reasonable interpretations when given unrecognized input. ...the style of interface used throughout Interlisp allows the user to omit various parameters and have these default to reasonable values...
DWIM is an embodiment of the idea that the user is interacting with an agent who attempts to interpret the user's request from contextual information. Since we want the user to feel that he is conversing with the system, he should not be stopped and forced to correct himself or give additional information in situations where the correction or information is obvious.[4]

Critics of DWIM claimed that it was "tuned to the particular typing mistakes to which Teitelman was prone, and no others" and called it "Do What Teitelman Means" or "Do What Interlisp Means."[5]

Emacs has a function comment-dwim that comments out a selected region if uncommented, or uncomments it, when already commented out.

See also


  1. ^ Warren Teitelman, "PILOT: A Step towards Man-Computer Symbiosis", M.I.T. Ph.D. Dissertation, Project MAC MAC-TR-32, September 1966. DTIC AD0638446 PDF, p. 51
  2. ^ a b Warren Teitelman, "Toward a programming laboratory", in J.N. Buxton and B. Randell, Software Engineering Techniques, April 1970, a report on a conference sponsorted by the NATO Science Committee, Rome, Italy, 27-31 October 1969, p. 108ff.
  3. ^ Donald E. Walker, Lewis M. Norton (Eds.): Proceedings of the 1st International Joint Conference on Artificial Intelligence, Washington, DC, p 715, May 1969.
  4. ^ Warren Teitelman, Larry Masinter, "The Interlisp Programming Environment", Computer (IEEE) 14:4:25-33, April 1981. doi:10.1109/C-M.1981.220410 pdf
  5. ^ Guy L. Steele Jr., Richard P. Gabriel, "The Evolution of Lisp", in History of programming languages---II, 1996, ISBN 0-201-89502-1 doi:10.1145/234286.1057818, p. 16. pdf


  • Warren Teitelman, "Automated programmering [sic]: the programmer's assistant", in Proceedings of the FJCC, 1972 doi:10.1145/1480083.1480119

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • DWIM — En informatique DWIM est un sigle pour Do What I Mean. Cela signifie fais ce que je veux dire . Il est utilisé en informatique pour dénoter la qualité des langages qui permettent d éviter de spécifier en long, en large et en travers l action à… …   Wikipédia en Français

  • dwim — Do what I mean. a command in computing used when you wish your code to function as you would expect, rather than as you have written I need to use the dwim command here …   Dictionary of american slang

  • dwim — Do what I mean. a command in computing used when you wish your code to function as you would expect, rather than as you have written I need to use the dwim command here …   Dictionary of american slang

  • DWIM — …   Википедия

  • DWIM — Do What I Mean (Computing » Assembly) …   Abbreviations dictionary

  • DWIM — Do What I Mean http://www.ccil.org/jargon/jargon.html …   Acronyms

  • DWIM — Do What I Mean (http://www.ccil.org/jargon/jargon.html) …   Acronyms von A bis Z

  • DWIM — сл. Do What I Mean …   Hacker's dictionary

  • DWIM — Do What I Mean …   Glossary of chat acronyms & text shorthand

  • DWIM — abbr. Do What I Mean (DFUE, Usenet, IRC) acronym Do What I Mean …   United dictionary of abbreviations and acronyms

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”