DWIM
Encyclopedia
DWIM 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
Warren Teitelman
Warren Teitelman is a computer scientist since 1960 to date, who contributed to and invented many technologies like Interlisp.- Early career and ARPANET :...

 in his DWIM package for BBN Lisp
BBN LISP
BBN LISP was a dialect of the Lisp programming language by Bolt, Beranek and Newman Inc. in Cambridge, Massachusetts. It was based on L. Peter Deutsch's implementation of Lisp for the PDP-1 , which was developed from 1960 to 1964...

, part of his PILOT system, some time before 1966.

Teitelman's DWIM package "correct[ed] errors automatically or with minor user intervention", similarly to a spell checker
Spell checker
In computing, a spell checker is an application program that flags words in a document that may not be spelled correctly. Spell checkers may be stand-alone capable of operating on a block of text, or as part of a larger application, such as a word processor, email client, electronic dictionary,...

 for natural language.

Teitelman and his Xerox PARC
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....

 colleague Larry Masinter later described the philosophy of DWIM in the Interlisp
Interlisp
Interlisp was a programming environment built around a version of the Lisp programming language. Interlisp development began in 1967 at Bolt, Beranek and Newman in Cambridge, Massachusetts as BBN LISP, which ran on PDP-10 machines running the TENEX operating system...

 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.


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."

Emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...

has a function comment-dwim that comments out a selected region if uncommented, or uncomments it, when already commented out.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK