# HG changeset patch # User Eli Zaretskii # Date 1006591551 0 # Node ID b64f74d6f05664478dff2ff95832da731368b747 # Parent f3df8655e00240dd29009959127dae82712830af Edit image file so arrow lines up properly. diff -r f3df8655e002 -r b64f74d6f056 lispintro/lambda-1.eps --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lispintro/lambda-1.eps Sat Nov 24 08:45:51 2001 +0000 @@ -0,0 +1,451 @@ +%! +%%BoundingBox: 33 710 173 759 +%%Title: lambda-diagram1 +%%CreationDate: Wed Mar 8 14:31:53 1995 +%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) +% +% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 +% + +/tgifdict 132 dict def +tgifdict begin + +% +% Using a zero value radius for an ellipse or an arc would result +% in a non-invertible CTM matrix which causes problem when this +% when this PostScript is wrapped inside other routines, such as +% the multi.ps package from +% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such +% error by uncommenting the sole line of the procedure below: +% +/tgif_min_radius + { +% dup 0.01 lt { pop 0.01 } if + } bind def + +/tgifellipsedict 6 dict def +tgifellipsedict /mtrx matrix put + +/tgifellipse + { tgifellipsedict begin + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + xrad yrad scale + 0 0 1 0 360 arc + savematrix setmatrix + end + } def + +/tgifarrowtipdict 8 dict def +tgifarrowtipdict /mtrx matrix put + +/tgifarrowtip + { tgifarrowtipdict begin + /dy exch def + /dx exch def + /h exch def + /w exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + dy dx atan rotate + 0 0 moveto + w neg h lineto + w neg h neg lineto + savematrix setmatrix + end + } def + +/tgifarcdict 8 dict def +tgifarcdict /mtrx matrix put + +/tgifarcn + { tgifarcdict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + xrad yrad scale + 0 0 1 startangle endangle arc + savematrix setmatrix + end + } def + +/tgifarc + { tgifarcdict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + xrad yrad scale + 0 0 1 startangle endangle arcn + savematrix setmatrix + end + } def + +/tgifsetuserscreendict 22 dict def +tgifsetuserscreendict begin + /tempctm matrix def + /temprot matrix def + /tempscale matrix def + + /concatprocs + { /proc2 exch cvlit def + /proc1 exch cvlit def + /newproc proc1 length proc2 length add array def + newproc 0 proc1 putinterval + newproc proc1 length proc2 putinterval + newproc cvx + } def + /resmatrix matrix def + /findresolution + { 72 0 resmatrix defaultmatrix dtransform + /yres exch def /xres exch def + xres dup mul yres dup mul add sqrt + } def +end + +/tgifsetuserscreen + { tgifsetuserscreendict begin + /spotfunction exch def + /screenangle exch def + /cellsize exch def + + /m tempctm currentmatrix def + /rm screenangle temprot rotate def + /sm cellsize dup tempscale scale def + + sm rm m m concatmatrix m concatmatrix pop + + 1 0 m dtransform /y1 exch def /x1 exch def + + /veclength x1 dup mul y1 dup mul add sqrt def + /frequency findresolution veclength div def + + /newscreenangle y1 x1 atan def + + m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt + + {{neg} /spotfunction load concatprocs + /spotfunction exch def + } if + + frequency newscreenangle /spotfunction load setscreen + end + } def + +/tgifsetpatterndict 18 dict def +tgifsetpatterndict begin + /bitison + { /ybit exch def /xbit exch def + /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def + + /mask 1 7 xbit 8 mod sub bitshift def + bytevalue mask and 0 ne + } def +end + +/tgifbitpatternspotfunction + { tgifsetpatterndict begin + /y exch def /x exch def + + /xindex x 1 add 2 div bpside mul cvi def + /yindex y 1 add 2 div bpside mul cvi def + + xindex yindex bitison + { /onbits onbits 1 add def 1 } + { /offbits offbits 1 add def 0 } + ifelse + end + } def + +/tgifsetpattern + { tgifsetpatterndict begin + /cellsz exch def + /angle exch def + /bwidth exch def + /bpside exch def + /bstring exch def + + /onbits 0 def /offbits 0 def + cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen + {} settransfer + offbits offbits onbits add div setgray + end + } def + +/tgifxpmdict 4 dict def +/tgifbwpicstr 1 string def +/tgifcolorpicstr 3 string def + +/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def + +/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def + +/tgifbwspot + { tgifxpmdict begin + /index exch def + tgifbwpicstr 0 + pixels index 3 mul 3 getinterval aload pop + 255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add + cvi put + tgifbwpicstr + end + } def + +/tgifcolorspot + { tgifxpmdict begin + /index exch def + pixels index 3 mul 3 getinterval aload pop + 255 mul cvi tgifcolorpicstr 2 3 -1 roll put + 255 mul cvi tgifcolorpicstr 1 3 -1 roll put + 255 mul cvi tgifcolorpicstr 0 3 -1 roll put + tgifcolorpicstr + end + } def + +/tgifnewcolorspot + { tgifxpmdict begin + /index exch def + pixels index 3 mul 3 getinterval aload pop setrgbcolor + end + } def + +/tgifcolordict 4 dict def + +/colorimage where + { pop } + { /colorimage + { tgifcolordict begin + pop pop pop pop pop + /ih exch def + /iw exch def + /x 0 def + /y 0 def + 1 1 ih + { pop 1 1 iw + { pop currentfile + tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot + x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto + closepath fill + /x x 1 add def + } for + /y y 1 add def + /x 0 def + } for + end + } def + } ifelse + +/tgifpatdict 10 dict def + +/tgifpatbyte + { currentdict /retstr get exch + pat i cellsz mod get put + } def + +/tgifpatproc + { 0 1 widthlim {tgifpatbyte} for retstr + /i i 1 add def + } def + +/tgifpatfill + { tgifpatdict begin + /h exch def + /w exch def + /lty exch def + /ltx exch def + /cellsz exch def + /pat exch def + + /widthlim w cellsz div cvi 1 sub def + /retstr widthlim 1 add string def + /i 0 def + + ltx lty translate + w h true [1 0 0 1 0 0] {tgifpatproc} imagemask + ltx neg lty neg translate + end + } def + +/pat1 def +/pat2 <0000000000000000> def +/pat3 <8000000008000000> def +/pat4 <8800000022000000> def +/pat5 <8800220088002200> def +/pat6 <8822882288228822> def +/pat7 def +/pat8 <77dd77dd77dd77dd> def +/pat9 <77ffddff77ffddff> def +/pat10 <77ffffff77ffffff> def +/pat11 <7fffffff7fffffff> def +/pat12 <8040200002040800> def +/pat13 <40a00000040a0000> def +/pat14 def +/pat15 def +/pat16 def +/pat17 <038448300c020101> def +/pat18 <081c22c180010204> def +/pat19 <8080413e080814e3> def +/pat20 <8040201008040201> def +/pat21 <8844221188442211> def +/pat22 <77bbddee77bbddee> def +/pat23 def +/pat24 <7fbfdfeff7fbfdfe> def +/pat25 <3e1f8fc7e3f1f87c> def +/pat26 <0102040810204080> def +/pat27 <1122448811224488> def +/pat28 def +/pat29 <83070e1c3870e0c1> def +/pat30 def +/pat31 <7cf8f1e3c78f1f3e> def + +/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def + +/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def + +/tgifreencsmalldict 12 dict def +/tgifReEncodeSmall + { tgifreencsmalldict begin + /newcodesandnames exch def + /newfontname exch def + /basefontname exch def + + /basefontdict basefontname findfont def + /newfont basefontdict maxlength dict def + + basefontdict + { exch dup /FID ne + { dup /Encoding eq + { exch dup length array copy newfont 3 1 roll put } + { exch newfont 3 1 roll put } + ifelse + } + { pop pop } + ifelse + } + forall + + newfont /FontName newfontname put + newcodesandnames aload pop + + newcodesandnames length 2 idiv + { newfont /Encoding get 3 1 roll put} + repeat + + newfontname newfont definefont pop + end + } def + +/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def + +/tgifboxdict 6 dict def +/tgifboxstroke + { tgifboxdict begin + /pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def + 1.415 setmiterlimit + w 1 eq { w setlinewidth } if + pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if + newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath + pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse + pat pat1 ne pat pat2 ne and { grestore } if + w 1 eq { 1 setlinewidth } if + 1 setmiterlimit + end + } def +/tgifboxfill + { tgifboxdict begin + /pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def + pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if + newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath + pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse + pat pat1 ne pat pat2 ne and { grestore } if + end + } def + +end + +%%PageBoundingBox: 33 710 173 759 +tgifdict begin +/tgifsavedpage save def + +1 setmiterlimit +1 setlinewidth + +0 setgray + +72 0 mul 72 11.00 mul translate +72 128 div 100 mul 100 div dup neg scale + +gsave + +% TEXT +0 setgray +/Courier findfont [17 0 0 -17 0 0] makefont setfont + gsave + 63 75 moveto (\(multiply-by-seven 3\)) show + grestore + +% POLY/OPEN-SPLINE +gsave + newpath + 80 80 moveto + 96 96 lineto + 224 96 lineto + 240 80 lineto + stroke +grestore + +% POLY/OPEN-SPLINE +gsave + newpath + 258 119 moveto + -22 0 atan dup cos 8 mul 258 exch sub + exch sin 8 mul 97 exch sub lineto + stroke +grestore +gsave + newpath + 258 97 8 3 0 -22 tgifarrowtip + closepath fill +grestore + +% POLY/OPEN-SPLINE +gsave + newpath + 160 103 moveto + 160 119 lineto + stroke +grestore + +% TEXT +0 setgray +/Courier findfont [17 0 0 -17 0 0] makefont setfont + gsave + 112 139 moveto (function) show + grestore + +% TEXT +0 setgray +/Courier findfont [17 0 0 -17 0 0] makefont setfont + gsave + 224 139 moveto (argument) show + grestore + +grestore +tgifsavedpage restore +end +%MatchingCreationDate: Wed Mar 8 14:31:53 1995 diff -r f3df8655e002 -r b64f74d6f056 lispintro/lambda-2.eps --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lispintro/lambda-2.eps Sat Nov 24 08:45:51 2001 +0000 @@ -0,0 +1,451 @@ +%! +%%BoundingBox: 33 730 240 777 +%%Title: lambda-diagram2 +%%CreationDate: Wed Mar 8 14:33:09 1995 +%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) +% +% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 +% + +/tgifdict 132 dict def +tgifdict begin + +% +% Using a zero value radius for an ellipse or an arc would result +% in a non-invertible CTM matrix which causes problem when this +% when this PostScript is wrapped inside other routines, such as +% the multi.ps package from +% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such +% error by uncommenting the sole line of the procedure below: +% +/tgif_min_radius + { +% dup 0.01 lt { pop 0.01 } if + } bind def + +/tgifellipsedict 6 dict def +tgifellipsedict /mtrx matrix put + +/tgifellipse + { tgifellipsedict begin + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + xrad yrad scale + 0 0 1 0 360 arc + savematrix setmatrix + end + } def + +/tgifarrowtipdict 8 dict def +tgifarrowtipdict /mtrx matrix put + +/tgifarrowtip + { tgifarrowtipdict begin + /dy exch def + /dx exch def + /h exch def + /w exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + dy dx atan rotate + 0 0 moveto + w neg h lineto + w neg h neg lineto + savematrix setmatrix + end + } def + +/tgifarcdict 8 dict def +tgifarcdict /mtrx matrix put + +/tgifarcn + { tgifarcdict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + xrad yrad scale + 0 0 1 startangle endangle arc + savematrix setmatrix + end + } def + +/tgifarc + { tgifarcdict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate + xrad yrad scale + 0 0 1 startangle endangle arcn + savematrix setmatrix + end + } def + +/tgifsetuserscreendict 22 dict def +tgifsetuserscreendict begin + /tempctm matrix def + /temprot matrix def + /tempscale matrix def + + /concatprocs + { /proc2 exch cvlit def + /proc1 exch cvlit def + /newproc proc1 length proc2 length add array def + newproc 0 proc1 putinterval + newproc proc1 length proc2 putinterval + newproc cvx + } def + /resmatrix matrix def + /findresolution + { 72 0 resmatrix defaultmatrix dtransform + /yres exch def /xres exch def + xres dup mul yres dup mul add sqrt + } def +end + +/tgifsetuserscreen + { tgifsetuserscreendict begin + /spotfunction exch def + /screenangle exch def + /cellsize exch def + + /m tempctm currentmatrix def + /rm screenangle temprot rotate def + /sm cellsize dup tempscale scale def + + sm rm m m concatmatrix m concatmatrix pop + + 1 0 m dtransform /y1 exch def /x1 exch def + + /veclength x1 dup mul y1 dup mul add sqrt def + /frequency findresolution veclength div def + + /newscreenangle y1 x1 atan def + + m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt + + {{neg} /spotfunction load concatprocs + /spotfunction exch def + } if + + frequency newscreenangle /spotfunction load setscreen + end + } def + +/tgifsetpatterndict 18 dict def +tgifsetpatterndict begin + /bitison + { /ybit exch def /xbit exch def + /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def + + /mask 1 7 xbit 8 mod sub bitshift def + bytevalue mask and 0 ne + } def +end + +/tgifbitpatternspotfunction + { tgifsetpatterndict begin + /y exch def /x exch def + + /xindex x 1 add 2 div bpside mul cvi def + /yindex y 1 add 2 div bpside mul cvi def + + xindex yindex bitison + { /onbits onbits 1 add def 1 } + { /offbits offbits 1 add def 0 } + ifelse + end + } def + +/tgifsetpattern + { tgifsetpatterndict begin + /cellsz exch def + /angle exch def + /bwidth exch def + /bpside exch def + /bstring exch def + + /onbits 0 def /offbits 0 def + cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen + {} settransfer + offbits offbits onbits add div setgray + end + } def + +/tgifxpmdict 4 dict def +/tgifbwpicstr 1 string def +/tgifcolorpicstr 3 string def + +/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def + +/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def + +/tgifbwspot + { tgifxpmdict begin + /index exch def + tgifbwpicstr 0 + pixels index 3 mul 3 getinterval aload pop + 255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add + cvi put + tgifbwpicstr + end + } def + +/tgifcolorspot + { tgifxpmdict begin + /index exch def + pixels index 3 mul 3 getinterval aload pop + 255 mul cvi tgifcolorpicstr 2 3 -1 roll put + 255 mul cvi tgifcolorpicstr 1 3 -1 roll put + 255 mul cvi tgifcolorpicstr 0 3 -1 roll put + tgifcolorpicstr + end + } def + +/tgifnewcolorspot + { tgifxpmdict begin + /index exch def + pixels index 3 mul 3 getinterval aload pop setrgbcolor + end + } def + +/tgifcolordict 4 dict def + +/colorimage where + { pop } + { /colorimage + { tgifcolordict begin + pop pop pop pop pop + /ih exch def + /iw exch def + /x 0 def + /y 0 def + 1 1 ih + { pop 1 1 iw + { pop currentfile + tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot + x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto + closepath fill + /x x 1 add def + } for + /y y 1 add def + /x 0 def + } for + end + } def + } ifelse + +/tgifpatdict 10 dict def + +/tgifpatbyte + { currentdict /retstr get exch + pat i cellsz mod get put + } def + +/tgifpatproc + { 0 1 widthlim {tgifpatbyte} for retstr + /i i 1 add def + } def + +/tgifpatfill + { tgifpatdict begin + /h exch def + /w exch def + /lty exch def + /ltx exch def + /cellsz exch def + /pat exch def + + /widthlim w cellsz div cvi 1 sub def + /retstr widthlim 1 add string def + /i 0 def + + ltx lty translate + w h true [1 0 0 1 0 0] {tgifpatproc} imagemask + ltx neg lty neg translate + end + } def + +/pat1 def +/pat2 <0000000000000000> def +/pat3 <8000000008000000> def +/pat4 <8800000022000000> def +/pat5 <8800220088002200> def +/pat6 <8822882288228822> def +/pat7 def +/pat8 <77dd77dd77dd77dd> def +/pat9 <77ffddff77ffddff> def +/pat10 <77ffffff77ffffff> def +/pat11 <7fffffff7fffffff> def +/pat12 <8040200002040800> def +/pat13 <40a00000040a0000> def +/pat14 def +/pat15 def +/pat16 def +/pat17 <038448300c020101> def +/pat18 <081c22c180010204> def +/pat19 <8080413e080814e3> def +/pat20 <8040201008040201> def +/pat21 <8844221188442211> def +/pat22 <77bbddee77bbddee> def +/pat23 def +/pat24 <7fbfdfeff7fbfdfe> def +/pat25 <3e1f8fc7e3f1f87c> def +/pat26 <0102040810204080> def +/pat27 <1122448811224488> def +/pat28 def +/pat29 <83070e1c3870e0c1> def +/pat30 def +/pat31 <7cf8f1e3c78f1f3e> def + +/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def + +/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def + +/tgifreencsmalldict 12 dict def +/tgifReEncodeSmall + { tgifreencsmalldict begin + /newcodesandnames exch def + /newfontname exch def + /basefontname exch def + + /basefontdict basefontname findfont def + /newfont basefontdict maxlength dict def + + basefontdict + { exch dup /FID ne + { dup /Encoding eq + { exch dup length array copy newfont 3 1 roll put } + { exch newfont 3 1 roll put } + ifelse + } + { pop pop } + ifelse + } + forall + + newfont /FontName newfontname put + newcodesandnames aload pop + + newcodesandnames length 2 idiv + { newfont /Encoding get 3 1 roll put} + repeat + + newfontname newfont definefont pop + end + } def + +/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def + +/tgifboxdict 6 dict def +/tgifboxstroke + { tgifboxdict begin + /pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def + 1.415 setmiterlimit + w 1 eq { w setlinewidth } if + pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if + newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath + pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse + pat pat1 ne pat pat2 ne and { grestore } if + w 1 eq { 1 setlinewidth } if + 1 setmiterlimit + end + } def +/tgifboxfill + { tgifboxdict begin + /pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def + pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if + newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath + pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse + pat pat1 ne pat pat2 ne and { grestore } if + end + } def + +end + +%%PageBoundingBox: 33 730 240 777 +tgifdict begin +/tgifsavedpage save def + +1 setmiterlimit +1 setlinewidth + +0 setgray + +72 0 mul 72 11.00 mul translate +72 128 div 100 mul 100 div dup neg scale + +gsave + +% TEXT +0 setgray +/Courier findfont [17 0 0 -17 0 0] makefont setfont + gsave + 63 43 moveto (\(\(lambda \(number\) \(* 7 number\)\) 3\)) show + grestore + +% POLY/OPEN-SPLINE +gsave + newpath + 80 48 moveto + 96 64 lineto + 336 64 lineto + 353 49 lineto + stroke +grestore + +% POLY/OPEN-SPLINE +gsave + newpath + 379 85 moveto + -21 0 atan dup cos 8 mul 379 exch sub + exch sin 8 mul 64 exch sub lineto + stroke +grestore +gsave + newpath + 379 64 8 3 0 -21 tgifarrowtip + closepath fill +grestore + +% POLY/OPEN-SPLINE +gsave + newpath + 208 69 moveto + 208 85 lineto + stroke +grestore + +% TEXT +0 setgray +/Courier findfont [17 0 0 -17 0 0] makefont setfont + gsave + 112 102 moveto (anonymous function) show + grestore + +% TEXT +0 setgray +/Courier findfont [17 0 0 -17 0 0] makefont setfont + gsave + 344 102 moveto (argument) show + grestore + +grestore +tgifsavedpage restore +end +%MatchingCreationDate: Wed Mar 8 14:33:09 1995