; RHQU*U*UPROGNCONDSTATUSNOFEATURENOLDMSGTERPRIMSGFILESPRINCPNPUTU*UjuQUOTE;Loading ERRHAN 64   pSETQxDEFPROPU:U*UT+INTERNAL-STRING-MARKER xALPHALESSPLISPV2071ERRHAN64VERSIONU*U.UPUSHFUNCTIONLAMBDAXORFILE-EXIT-FUNCTIONS      xBASEW*U*uIBASE!!xANDFEATURECOMPLRSPECIAL*SYMBOL-STARTED-WITH-COLON-FLAG*#%'xBOUNDPu;UnW''x*ILLEGAL-FUNCTIONAL-NOTATION-FLAG*#%)x))x*SPECIAL-QUIT-ATOM-FLAG*#%xx*SPECIAL-QUIT-ATOM-LIST*#%+xU:]juQUITSTOP++-x*SPECIAL-LESSON-ATOM-FLAG*#%xx*SPECIAL-LESSON-ATOM-LIST*#%/x?U*U*UHELPINFOLESSON:LESSON:TEACH:LISP:TEACH-LISPTEACH-LISPTEACH:TEACHu;U*W//13579x*ERRORS-HANDLED*#%xxERROR-HANDLED-ERROR-DESCERROR-HANDLEDERROR-DESCDEFSTRUCT-SLOT;=xU:UnUDEFSTRUCT-EXPAND-REF-MACROMACRO;? xERROR-HANDLED-LONG-DESCLONG-DESCA!xA? xERROR-HANDLED-SHORT-DESCSHORT-DESCw*]jWC"xC? xERROR-HANDLED-NAMENAMEE#xE? xMAKE-ERROR-HANDLEDDEFSTRUCT-NAMEG$xW*U*UDEFSTRUCT-EXPAND-CONS-MACROGI xONENAMED-HUNK%%DEFSTRUCT-EMPTY%%NOTYPEU*U*WEVALCOMPILELOADALTER-ERROR-HANDLEDERROR-HANDLED-DEFSTRUCT-DESCRIPTION%K#&M'E"OM'C!(M'A=QM'; G)&S*U+W ,xu:Uju+$xDEFSTRUCT-EXPAND-ALTER-MACRO+Y xFLUSH-MACROMEMOSDEFINE-EXPLANATION-[-xDEFINE-EXPLANATION MACRO[. xMACROFETCHLENGTHWrong number args for macroERRORERROR-DOCPUTPROPMACROMEMOSUBR`] 5B- `/1N` ,8,8.,8g@",<0Z`[Z[Z [(Z([ Z[ ",8-,1  $-,-,1 $-,0H@-,1 $-,@-,2@ 1 $-,*g-,1 $-,0`-,1 =-, g-, d $!-, $(-, $"-,d3-, $#-, G-,(daz E+L%-,,X-, $1-,e*`-,1 $-,z Yw-,e $-,-,1,X-,*z ?}?@ABCDEFGHIpx x~2&   RAU*U*UNDOM LOSSAGE  I'm afraid I can't be of muchU*U*U help here. This type of  (it's called FAIL-U*U*UACT by Maclisp occurs in a large number of caU*U*Uses where it can't figure out quite what youU*U*U've done so doesn't know how to help with a mU*Unwore explicit message.~2% JKLMNOPQRCSTUVWXYZ[\]^_`abcdpx x15ko5axu*Unu5xBAD-GO-TAGbad go tags fpggxg x~2& NU*]nUot yet implemented~% hipjjxj x BAD GO U*U.wTAGS Not yet implemented.~% Jklmnpx xw*Unu1ekgjeaxexIO-LOSSAGEio errors ppx xted.~W;U*U% hiqprrxr x IO  Not yet implementedW;]jU.~% JLstupx x1okroaxoxWRONG-TYPE-ARGStype of arU*U.wguments to supply to functions wxyzpx xU*U*U~2& A wrong typargs  is generated when you trU*U*Uy to invoke a function that expects to receiU*U*Uve arts of a certain type and you  give it aU*U*Urguments of a different type, so that it doesU*U*Un't know how to apply the function to them. U*U*UFor example, th ">" expec see 2 numeric argU*U*Uuments, so if you type  (> 3 'FOO) MaclisU*U*Up is confused because FOO is a symbol and notU*U*U a number. If the value of FOO were a numberU*U*U, say 4, then O) would still be an error, bU*U*Uut  (> 3 FOO) would be acceptable and woulU*U.wd return (in my example) T.~2% {|RC}~       !#%'x)+-/13579;=? A!C"E#G$I1%K&M'O(Q)S*U+W,Y-[.]/qp__x_ xU*U*U WRONG TYPE ARGUMENTS  A wrong gs error iU*U*Us generated when you try to invoke a functioU*U*Un that expects to receive arguments of a certU*U*Uain type and you give it args of a differenU*U*Ut type, so that it doesn't know how to applyU*U*U the o them. For example,ion ">" expects to U*U*U see 2 numeric arguments, so if you (> 3 U*U*U'FOO) Macis confused because FOO is a symbolU*U*Unot a number. If the value of FOO were a numU*U*Uber, say 4, then ld still be an , but (U*U*U> 3 FOO) wouldcceptable and wreturn T.~2%w;]*U J0a1c2e3wg4i5k6m7o8q9s:u;w<y={>}?@ABCDEFGHIJKLMNOPQRS TUVWXYZOS[C\]^M_K`aupx x1vk_vaxvxWRONG-NUM-ARGSnumber of ents U*]nUto supply to funs cdeq pffxf x~2& The maU*U*Ujority of ions in Maclisp know how many they U*U*Ut to receive. Most of them, like ATOM, want U*U*Usome fixeder of; others, like PRINT, want aU*U*U differenter depending oncircumstances. For U*U*Uexample, PRINT can be given only 1 ent, as inU*U*U (PRINT 'foo) which will printsymbol FOOU*U*U on your terminal. It can be given an extra U*U*Uent of where to print its firs. Butou gave PRU*U*UINT 3 args it  be unhappy becit would not knU*U*Uow what to do with the third. Don't worry abU*U*Uout the detailshis now, it is mentioned just U*U*Uto leware that can take varying numbersnts.U*U*U A g number of args error is generated whenU*U*Utry to invoke ation with a different nuts thU*U.wan it understands or expects.~ ghijk'lmnopqw<rstuvwxyz{|}~    @   ^R!#%')+-/1]M3z579y;=? A!C"E#G$I%KXw&M'O(Q)pSSxS xU*U*UONG NUMBER OF A Most funMaclisp know how manU*U*Uy args they expect to receive. Most of them,U*U*U like ATOM, want somme fixed nnts; others, liU*U*Uke PRINT, wantdepending on the circumstancesU*U*U. Forple, PRINT canonly 1 arg, as in  (PRU*U*UINT 'foo) which will print the symbol FOO onU*U*U your terminal. It can be given an extra argU*U*U of wto print its first ant. But ifgave PRINTU*U*U 3 args it wou unhappy be it  not what to doU*U*U withthird arg. Don't worry about the detailU*U*Uthis now, it is mentioned just to let you be U*U*U aware that funs can take varying rs of. U*U*UA wrong nrgs error is generated when you tryU*U*U to invoke a fun with a different than it unU+]nuderstands or ex J0*U+c2W,Y-[.]/_0a1c2e3g4i5k#y6m7o8qI%KX9s:u;w<.y={ >}?@ABCDEFGHIJKLMNO*P^QRSTUVWXYZ[\q]^_w<`#yabcdeqfgchijJupx x1bkfSbaxbxUNDEFINED-FUNCTIONU+]jUundefined ions lpmmxm x~2& When Mp seeU*U*Us a list to be evaluated, it takes the first U*U*Uelement o listassumes it to be a function naU*U*Ume. The other e the are the ants ttion and mU*U*Uay beols (variables) or lists (other fun calU*U*Uls). You have put ~s as the first  elemf a lU*U*Uated but it has no fon definition.  This creU*]nUan error condition.~ nopqrst uvwxyi z{G|;}~q p  w    aOp  x x UNDEFINU*U*UED FUNCTIONS  When Maclisp sees ae evaluateU*U*Ud, it taket element of the list and assumes U*U*Uit toname. The  elemof tst are thehe fun andU*U*U may be symbols (variables) or lists (other U*U*Uion calls). If you put a l as nt of a list U*U*Uto be evaluatedit has no ion definian errorU*Unw condition is created.~2% J!v#%/')+-M/m1)3w<!q579;=? A!C"sE#G$I% K&M'O(Q)S*UUp++x+ x1kkm +kaxu*U.wkxUNBOUND-VARIABLEunbound variables ,Y-[p..x. xU*U*U~2& I a symbol all by itself to Maclisp, it wU*U*Ud as a va its value will be typed on your coU*U*Unsole. On the other hand, when Macsees a lisU*U*Ut to be evaluated, it takes the first el of U*U*Uthe list and assumesa fun name. The other eleU*U*U of  the are the arion and may be ls (variabU*U*Ules) or lists (other fun calls). Yve used thU*U*Ubol ~S in one ese ways, and i no value, so aU*U.wor condition has occurred.~2% ]N/_0a1c2e[#3g-W4i5k6m7o8q9s:u;w<y={>}?@ABpCD<EGFxGHIJKLyMNOnP QR'STUgpx xU*U*UBOUND VARIABLES  If ype a l all by itselfU*U*U to Mp, it be evaluated as a  varits value wU*U*Ue typed on console. If Mahave a value associU*U*Uwith that l, an error is generated. On ther U*U*Uhand,of e argon and may be ss (vaes) or liU*U*Usts (calls). You cannot put the namside e parU;]nWentheses.~ JVWX/YZ[5\]_^[_E`aQbc defghC!v#%/')+-M/mA\iwjk-lmmnoRpnqawprrxr x1Wk.rWaxWxDEFINE-ERROR-HANDLER--xW*TDEFINE-ERROR-HANDLER MACROs xDECLARE-ERROR-REPORTERFIND-ERROR-CONTEXTDEFUN`] `/ += ,=,8,8g",<0Z`[Z[Z  ",8-,1  @0 $-,-,1 -, $(A@tzA3U-, $ -,3-,2@` -,-,1,X-,(`2*z ?02mLISTP @NUM-WANTEDZ7@ $ Z10Bu+V `/+\[`5DXZ`+\ Z` 82N+[Z`+\ `-,ujU,x>X2PWRONG-NUM-ARGS-HANDLERvxa wroror occurrW;U*Ued.~2 Xwgwx px xRECORDED-OUTPUT~&The~S takes a variU*U*U~  ents. ~ ~%It wants somewhere betwU*U*Ueen ~D and ~D ants, but you ~  gave iU;]*Ut ~D.~% z{_c|}|~ p  x x~S has been given ~DU*U*U  art~:*~P; it should re ~D ~ ment~W;U 0:*~P.  }  ; w px xEXPLAINCOMPLAIN,< t[`/Z`[ Np` $[`[ *p,8 ,h,8,8}@"K<y3`` " Z2 0Bu` ,r,8,8g~[g~@3K<y` ,8,8~,8g~33",<y ,8,8g~`0033",o ,/0KW,x b>`2]RANDOM-LOSSAGE-HANDLERxU+]jUa random ered.~ Vap!!x! xERRFRAME informatiU*Unuon we have abour err:~% #%'] )px x;~Aw:Unp +px x;~S ~A -p//x/ x@ 4t ,8,8K<y "-,  ,,8-K<y `/1 , ,8,8[g",<y`# #,8/Zg[`K@ 0<y ,,8,8Ko ,/0D],x!/5Ah2WRONG-TYPE-ARGS-HANDLERu+]nwxng type ar 1gwxp33x3 x #%'] )px x1 +p55x5 x -px xt ,@h00,8_K<y "-,  A,8,80K<y `/=N& K@1,8a[g",<y++ ,+,81,81Zg[`K<y [@`00,8cKo ,/,x" :u35vC21IO-LOSSAGE-HANDLER7xan ioW;]nwr occ e9Upx x #%'] )p;;x; x +px1 x -p==x= xt k,8,8IP``K<y "-,  ,:,8K<y `/ ,?,8,8Jb[g",<y` ,8Zg1[`K<y ,G,8,8K@``"Ko ,/,x;"ujU=oC822BAD-GO-TAG-HANDLERxan unseen go taU+]nwg error occurre ? A!C"UpEExE x #%'] )p##x# x1 +pGGxG x -p$$x$ xt ,O@h00,8K<y "-,  ,8,8cK<y `/=NY @1,8[g",<y+^ ,^,81,8dZg[`K<y @`00,8Ko ,/,x" :uE#G$eCp2UNDEFINED-FUNCTION-HANDLERIxit waU*U*Us used in al position, ~ ~%but h definitioW;U*Un as %K&M'O(Q)S*U pUUxU xDIALECT-VARIANTdialect variantrw:U*U W,Ye-p[[x[ xPROGRAM-RECORD~2&Some lisps have aby thU*U*Uat name, but ~isp dt. Maybe ~ you shouldU*U*U find out aboutsp construct ~A.~ might be wU*U*Uhat you want, thoughsyntax may be dift.~%w:U  ]/_0a1c2eD3g4(i5k6mY7o8q|9s:u;w<y}|={>/p}}x} xOUTPUTMAYBE-MESSED-UP-ARITHMETIC-CALLCHECK-FOR-ODD-SYMBOLt[`@ 00 ,8K<y,81+ B` ,8,8}K<. ,r@1,8Zg",<?``1 8anb```@0 ,8,8~3",o ,0KU,xU[}kDH2eGETCHARGETCHARNU*U*U*^/\postulating attempt at arU+]jUithmetic fon DEFwG px x~&Didperhaps meU*U*Uan to use on "~S" ~accidentally ~ ~%left oU*U*Ue space after tn name? Thce ~ is important ~U*U*Ubecause Ma thought you intended ~S name  ofU*U*W~%funwas confused since i no d asn.~% HIJwK LMoNOqPNQR4(STU$VE}|W XY 'Zq#pw*U*U[[x[ xWEIRD-FIRST-CHARwe think hed a / when he meantU;]*U \ or // \_]^_ p``x` xon "\" or the ~ fU*U*Uon "//"? ~You probably typed / as your fcharaU*U*Ucter and this ~ tricked theisp ~reader intU*U*Uo thinkingwas named ~S. ~If you don't unhy thU*U*Ud it, or why itour ~ion had thnny name,  do ~U*U*U(LESSON OBJECT)~%at your earliest conveniencew8  HIJwa4bwc4(defsgh4ij4(klCEm4(noiQpq}|T4(rsi5t4(u}|vwxu_pyyxy x,< Oa OAA Np *p0`1BB`0`0BC+ , ,831K<. ,8,833K<?+ (1N`% g@a4B ,@b,85K<. ,,8,8,8g~", "<?,x[``yH2,<,8 1.+!AA ;9+  " `C "e $( `A Np *p g+a`c0n=`c (+A`W1n-`U " +, "5B21.`_;9+/7 " 5B21N P  " +2 "/jU*U,xK82 7ink the user accidentally mean inU*U*wvoke -, so we're correcting it. \z{|<}~pxu*U*W xon "-" ~  and accidentally e?~% HIJwMoNOqpw*U*U  x xwe aren't sure-- could have been anU*U*U attempt ~ at + or a quoted structure ~%U;]*Ugone wrong       } px x~&I'msure you there.U*U*U Did erhaps ~  me ~%(+ ~D ...)forgot theU*U*U space other possibility  occurs tome isant tU*U*Uo type '(~D ...) and forgot ~he "'", soexpreU*U*Ussion got by act. ~~2%If my fguessorrect...~w:U*U Q6!!#}%' )P+-C/}%1CI3579}%;= {? As!SC"GpEExE xe is important d~ ~D tohe naU*U*Ume oftion, evengh you are NOT~  ~%allowedU*U*U to give fons nc names (fmes can~  ~%contU*U*Wain nc characters, but can't ete toers.) #G$STUI(%kK&EM'O(Q)S*U+wW,Yw-[.]/_0a1c\2epw33x3 x 5.; ,8,8,8EK@ 1<. u,8K<?+A {,8 ,8FK<. ,A,8,8g3K@ <? ,D,8,8G,8g",<?KW,x E3Gx24DEFINE-DIALECT-VARIANT-g-x1DEFINE-DIALECT-VARIANT MACROg4 x`]5BY `/3+N0 ,N,8,8Z,8g",<0Z`[ZH[*-,1 $-,@-,2J1 $-,+z U%-, $-,2H $1-, g $ `ac0h;W,x_V@2 $+ieE02UNBOUND-VARIABLE-HANDLERixU*Unu~A wad as a var, ~ alue. 5Kk6m( Q7I pooxo xSPECIAL-LESSON-ATOM-HANDLERU*TSPECIAL-QUIT-ATOM-HANDLERLISTENTYIPEEKILLEGAL-FUNCTIONAL-NOTATION-CHECKCOLON-SYMBOLt[`2 ,8",<y/4Je[(Z (2H`+a `8`+[ 1Z 2F`` ``q` ,9@ 1 ,s0N` `:` O `A0N` ``u` ,8,8x ,8g",o ,/,xo%jU*UWVH2special lesson atom handler invokedw:U*U ;w<y={>p}}x} x~&Typing aolic at Ma no parentU*U*Uheses around ~ ~%it cause. "~S"~ has nU*U*Uot been assigned a vf I ete that I will~ ~%geU*U*Ut an . Areps looking for help lessons~ %avaiU*U*Ulable? If so, you sh"(LESSON <name>)" with~ U*U*U%the parentheses. Parentheses are very iand~U*U*U~%shoever be ignoredsee them ile.~~%Funsp arU*U*Ue found only asfirst word~  ~%after a "("U*U*U. Nowtyping (LESSON INTRO) to get trst~~%lesU*U*Uson or (LESSON)et a menu of available lessonsw:U*U ?;@VABCD/Cv#k6E(FGH\IJ)KCLMN.OPQKRS.TUVWcXYZC[H\CY]^_`ambcdefgUhijupx xSPECIAL-LESSON-ATOMEXPLANATION-HAS-BEEN-SEEN~&Areps still ced abU*U*Uout h get ns from me?~ u need help concerniU*U*Ung what leavailable, you~ ~%shSON)"of all the lessons.~ lmXnNop(nqrsjzt)uKUGv}w+pxxxx xTYICLEAR-INPUT 2,8,8K<.6B+ ,8 BC,8g",<? * J "k``  @d,8,8K<?"y}".U*UxW2al quit atom handler invokedw:U*U ;z{|px xps trto get outhis program?~ U*U*U%If so, you should type "(QUITth th ~%Paand sU*U*U never be~ ~%igle. Fmes in ~ %Maclisp are foU*U*Uund only at word after a "(" and, ~ ~%after aU*U.wll, getting outm is done by a ?;@VABCD/Cv#k6E(FGH\IJ)KC}~.Sq)VWc5 ) ZC[Hw . /   )=p!!x! xU*U*USPECIAL-QUIT-ATOMaway from me?~~%Try typing "(QUIT)".~% lmXn#%')p++x+ x ,8,8K<.D6B+ ,8+,8g",<? * C J "``' ',8,8K<?hD]"y!+W2l staU*Unurting colon handler ed -/1 px xSYMBOL-STARTED-WITH-COLONU*U*U~2&That systarted wicolonre are only a few ~U*U*Ucases in w~%you might wando that. (LispMachinU*U*Ue Lisp and NIL both  useols ~ ~%that start wU*U*Uith an for special reasons that ~  to ~ ~%boU*U*Uat the moment.)ou were tr a DDT-style ~~%comU*U*Umand, you'de anr beccommands t must b ~U*U.w%and do nok that way in Mp.~% 5_79;=? A<!C"E#G$I%;K)&M'O(Q)S*]EU|q+)W,Y-X[.U|]/_0a1=ce2Re3cg4#|i5k 6m7omp88x8 x@ 2  3,8,8#K<.Ѐ'+ * C1'3` ,,8GK<? ,"@,8,8$,8g",o,x".T8WW(2-`,|COMMA-CHECK7 1+) `q " `W[`9WAA:UZ`9,xg2It`-,-level|RECORDED-READU*U*WCorrecting user model of ional notation. ;w<y={>} pw*U*U??x? x~&Macdoesn't use thax for funs. WU*U*Uhile %"conventional" computer languages may uU*U*Use a notation ~ ~S (...) %to mean aon ~S to U*U*U Ma uses~%the(~S ...) instead. ~ ~%The geU*U*Uneral formcall is: ~ (  ... ). %Make surealways goes INSIDE tU*]nUhe ~ parentheses!~% @ABR<}|BqCiDEFGH43IiJwKw2M}|L}|M>NOPQyR4(qSTUViWEVXYZ[4px xILLEGAL-FUNCTIONAL-NOTATION~2&..U*U*U.and e way, commas are wrong here. Put ~ sU*U*Upaceseen args.~ ~%Comma meansthingp which isU*U*U dian what you ~ ~%are trying tothem for..U*U*Ug in form again%(correctly this time) ifwant.W;U*W..~% ]a^_`ab4cde}|f%CghiJjmb|dk}|ilmno"px xtional syntax model ;wpq pw*U*Urrxr x~&Remember: Use (~S ...),~S (...) ~U*U*UAlso,al form ofl is:~%  (<ion-name>  ... ) stQu4(vfwq}|xyz{|upx x. and no cU*U*Wommas! Putes between. ~  Try again.. }~ up@bx x s-, : ,gu!9 ,3,8K<.Ѐ)`} ,8,8,8J3,8g~3",<? *  ) "\`7@``{ {,8KA1<?` ,A,8,8KK<. 0,83,8g~K<?7@`+H ,H@h,8,8LK<?/+"KU?rW 2YDIAGNOSE-QUOTED-FUNCTIONDIAGNOSE-RANDOM-FUNCTIONAL-FORMEVAL-HANDLER[[0D+P``u*P,xp82DEFINED-FUNCTION?EXPLAIN-DONT-QUOTE-FUNCTIONS*EVALEXPLAIN-PUT-QUOTE-OUTSIDE`-,[Z,8ZZ D g+`Z[ `1` 3 `-,``  -,,xp(2U*UnuExplainingto quote fons.  Qwpx xTYOU*U*UDONT-QUOTE-FUNCTIONS~&You seem to have qS ...hat inecessary.U*U*U In fact, it's really wrong.~~%Do just: ~% U*U*U (~S ...) ~~%No need to put in the quote.U*U*U Anyway, since you're ~ %just learning, I'llU*U.w corrhe error and continue...~     _!#%')+-/1.35709;ap==x= xC ,8,8j,8 ",<.` ,i,8,8g3K<?u*U,x=pH2a to put ' outside the forW;U*Um.  ? A!Cp""x" xPUT-QUOTE-OUTSIDEe quote mark ina forU*U*Um. ~~%You said: ~ %  ~N~~%where I bet yU*U*Uou meant:  '~N.~~%Rem' always goes on theU*U*U outside o thing ~ %you rying to quote!ect iU*U*Wt thiyou -- real Macisn't so forgiving..   o#G$pI%K&M.'O(Q)S*U+Ws,Y-[.]/_.0Fa1c72e!}(3g4i5k6U pmmxm x QC` ,o,8PbK<.E` ,8,8x[g-,2@1 $-,Zg-,3A@D]K<?,x"mpX2kRandoU+]jUm funrm dianosi 7o8qp99x9 xRANDOM-FUNCTIONAL-FORM~N~  ~%isU*U*Uletely meaningless ... ~he form for a lisp eU*U*Uxpression is a ion name insidet parsis followU*U*Ued byn~ ~%separated by spaces. Thst thing iU*Unps~ ~%is here,t eva it.~ Qi':|uE;w<y={>}?@AB}MqCDw<!qEFG?HBUITVsJ#EpKKxK xC ,8K<.s` ,8``",8,8g",<,x9K]*]nUp02ERRSET^G typed LpMMxM x^GREDEFINED-^G-HANDLER -, " -.  ,8@`cK<. " + ,h%|My`2 ;