1 Medley for the Novice, Release 2.0 1 Medley for the Novice, Release 2.0 9. MEDLEY FORGIVENESS: DWIM 1 9. MEDLEY FORGIVENESS: DWIM 1 "9"9. MEDLEY FORGIVENESS: DWIM 6 DWIM (Do What I Mean) is an Interlisp utility that makes life easier. DWIM(DWLM NIL DWlM NIL ("9") 1) tries to match unrecognized variable and function names to known ones. This allows Lisp to interpret minor typing errors or misspellings in a function, without causing a break. Line 152 of Figure 9-1 illustrates how the misspelled BANNANNA was replaced by BANANA before the expression was evaluated. `НСџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјџџџэОР@`wћƒƒПџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјћџџџџнžћпяЗћ}Нпџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјћ§мxџнЎћпяЗћНпџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјјЛЗНЖћРяЗћ‡Няџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјћџx7џНЖћпрwћћƒяџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјћџ{їџНКћпяЗћ§ПяџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјћўЛЗНМћпяЗћ}Пяџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјј мxџнОћРoА;ƒПпџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџџџџпџџџџџџџџпџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџџџџяџџџџџџџџПџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјРРРРРРРРРРРРРРРРРРќ§ћqП>oŸП`п8Тa3ччР|уq„8мa`Р ЦСƒyАcЬи0`™Ž<Чcƒf66`f8ѓyŽ<оcƒ 0С@ ЦСƒyАcЬи0`™Ž<Чcƒf66`f8ѓyŽ<оcƒ 0Чp€ЦљѓmОcŒп>`6Э›fС€Ц6`|lлm›6лfцѹЦСƒmАc˜0`›6Э›fС€Ц7Рflлm›6лfцшЦСƒgАcŒ0`Ÿ3Я™чС€Ц66`f|ЯgŸ3йчС†С@ЦСƒgАkŒ0`БГийьa€Ц66`fЦЯgБГйьa†Сќ§ƒcП>ŒП~1Бииьa€Учц`|ЦЧcББиьa†Р Р€` 0Р Р€` 0Р`Р0`РР€@С>@ С @ Т @Тž<@Т @Т @Т @С>| С Р€@РРРРљћі0ТјЦР Эƒ1‡Ь c С8@ Эƒ‡Ь c ЧD€Эѓц# €ј a†С№љƒ €Ь a†С8€Сƒ€Ь a†С@@СƒРЬ a†С|СћїрмцР€ Р € РРРР€ Ч"‰€ёѓф@Р„Bp@Ф…2(Щ‘@‰ !FEˆ@Ф…2(Щ‘@,‰!FEˆ‡Ч…*(ЉQ@2‰уФсEEˆ‘ФH•*DЉR "ё€>%H•" ŒФO“&|™3р"фЯ“>ФH“&D™2 " $Ш“" ‘Чˆ‘"D‰ "ѓчТ@т$H‘" РР€ РРР€ С<С "Т "Т"Т€"Т€"Т€"С<СР€ РРРРРС8@ЧD€С№С€СD@С8РРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџј Figure 9-1. Examples of DWIM Features Sometimes DWIM may alter an expression you didn't want it to. This may occur if, for example, a hyphenated function name (e.g., (MY-FUNCTION)) is misused. If the system does not recognize the function name, it may think you are trying to subtract "FUNCTION" from "MY". DWIM also takes the liberty of updating the function, so it will have to be fixed. However, this is as much a blessing as a curse, since it points out the misused expression! (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "9-" "") STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "9-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 690) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "9-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "9-" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "9-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "9-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))) ,HHр,HHр,HHр ,HHр2рр5рЬрFјј PAGEHEADING VERSOHEADFјј PAGEHEADING RECTOHEADEјј PAGEHEADINGFOOTINGVEјј PAGEHEADINGFOOTINGR,TITAN MODERN HELVETICACLASSIC  HELVETICA MODERN  TIMESROMAN   HRULE.GETFNMODERN  "  HRULE.GETFNCLASSIC  # HRULE.GETFNCLASSIC  HRULE.GETFNCLASSIC  IM.CHAP.GETFN HELVETICA HRULE.GETFNMODERN AIM.INDEX.GETFNCLASSIC ш& *D BMOBJ.GETFN3CLASSIC    r kЋ  .uJzК