In Lisp In Small Pieces[0] (a must-read book) on page 40 DWIM is mentioned
The question under discussion is enriching the function environment. To quote:
Finally, we could even allow the function to be in the second position in order to
simulate infix notation. In that case, (1 + 2) should return 3. DWIM (that is, Do
What I Mean) in [Tei74, Tei76] knows how to recover from that kind of situation.
All these innovations are dangerous because they reduce the number of erroneous
forms and thus hide the occurrence of errors that would otherwise be easily
detected. Furthermore, they do not lead to any appreciable savings in code, and
when everything is taken into account, these innovations are actually rarely used.
They also remove that affinity between functions and applicable functional objects,
that is, the objects that could appear in the function position. With these innovations,
a list or a number would be applicable without so much as becoming a function
itself. As a consequence, we could add applicable objects without raising an error:
(apply (list 2 (list 0 (+ 1 2))) '(foo bar hux wok) ) -> (hux (foo wok))
Tim