Computing (FOLDOC) dictionary
Jump to user comments
/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
3. Occasionally, an interjection hurled at a balky computer,
especially when one senses one might be tripping over
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
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);