Also found in: Acronyms, Wikipedia.


/dwim/ [acronym, "Do What I Mean" (not what I say)] 1. Able to guess, sometimes even correctly, the result intended when bogus input was provided.

2. The BBNLISP/INTERLISP function that attempted to accomplish this feat by correcting many of the more common errors. See hairy.

3. Occasionally, an interjection hurled at a balky computer, especially when one senses one might be tripping over legalisms (see legalese).

Warren Teitelman originally wrote DWIM to fix his typos and spelling errors, so it was somewhat idiosyncratic to his style, and would often make hash of anyone else's typos if they were stylistically different. Some victims of DWIM thus claimed that the acronym stood for "Damn Warren's Infernal Machine!'.

In one notorious incident, Warren added a DWIM feature to the command interpreter used at Xerox PARC. One day another hacker there typed "delete *$" to free up some disk space. (The editor there named backup files by appending "$" to the original file name, so he was trying to delete any backup files left over from old editing sessions.) It happened that there weren't any editor backup files, so DWIM helpfully reported "*$ not found, assuming you meant 'delete *'". It then started to delete all the files on the disk! The hacker managed to stop it with a Vulcan nerve pinch after only a half dozen or so files were lost.

The disgruntled victim later said he had been sorely tempted to go to Warren's office, tie Warren down in his chair in front of his workstation, and then type "delete *$" twice.

DWIM is often suggested in jest as a desired feature for a complex program; it is also occasionally described as the single instruction the ideal computer would have. Back when proofs of program correctness were in vogue, there were also jokes about "DWIMC" (Do What I Mean, Correctly). A related term, more often seen as a verb, is DTRT (Do The Right Thing); see Right Thing.


(Do What IMean) A design philosophy that causes the software to figure out what the user means without implicitly stating it. In the mid-1960s, the term DWIM originated with Warren Teitelman's BBN LISP language, which corrected common typing errors when programming. As a result, automatic spelling correction is considered a DWIM concept. See BBN.
Mentioned in ?
References in periodicals archive ?
construct DWIM (do what I mean) capabilities for household, educational, commercial, and industrial appliances, yielding machines that infer the desires and intentions of the users and cooperate with them in achieving their aims.
Making computers easier to use: use of multi-modal interfaces, DWIM techniques, intelligent help, advice giving agents, and cognitive models;
For example, if the user issued a command referring to a nonexistent file, DWIM would not issue an error message but try a spelling correction on the file name.