blob: ba7f77e4b0b09701d00b65c2747e8e62f7b4a959 [file] [log] [blame]
%!
%%BoundingBox: (atend)
%%Pages: (atend)
%%DocumentFonts: (atend)
%%EndComments
%
% FrameMaker PostScript Prolog 2.0, for use with FrameMaker 2.0
% Copyright (c) 1986,87,89 by Frame Technology, Inc. All rights reserved.
%
% Known Problems:
% Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1
/FMversion (2.0) def
% Set up Color vs. Black-and-White
/FMPrintInColor systemdict /colorimage known def
% Uncomment this line to force b&w on color printer
% /FMPrintInColor false def
/FrameDict 190 dict def
systemdict /errordict known not {/errordict 10 dict def
errordict /rangecheck {stop} put} if
% The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk
FrameDict /tmprangecheck errordict /rangecheck get put
errordict /rangecheck {FrameDict /bug true put} put
FrameDict /bug false put
mark
% Some PS machines read past the CR, so keep the following 3 lines together!
currentfile 5 string readline
00
0000000000
cleartomark
errordict /rangecheck FrameDict /tmprangecheck get put
FrameDict /bug get {
/readline {
/gstring exch def
/gfile exch def
/gindex 0 def
{
gfile read pop
dup 10 eq {exit} if
dup 13 eq {exit} if
gstring exch gindex exch put
/gindex gindex 1 add def
} loop
pop
gstring 0 gindex getinterval true
} def
} if
/FMVERSION {
FMversion ne {
/Times-Roman findfont 18 scalefont setfont
100 100 moveto
(FrameMaker version does not match postscript_prolog!)
dup =
show showpage
} if
} def
/FMLOCAL {
FrameDict begin
0 def
end
} def
/gstring FMLOCAL
/gfile FMLOCAL
/gindex FMLOCAL
/orgxfer FMLOCAL
/orgproc FMLOCAL
/organgle FMLOCAL
/orgfreq FMLOCAL
/yscale FMLOCAL
/xscale FMLOCAL
/manualfeed FMLOCAL
/paperheight FMLOCAL
/paperwidth FMLOCAL
/FMDOCUMENT {
array /FMfonts exch def
/#copies exch def
FrameDict begin
0 ne dup {setmanualfeed} if
/manualfeed exch def
/paperheight exch def
/paperwidth exch def
setpapername
manualfeed {true} {papersize} ifelse
{manualpapersize} {false} ifelse
{desperatepapersize} if
/yscale exch def
/xscale exch def
currenttransfer cvlit /orgxfer exch def
currentscreen cvlit /orgproc exch def
/organgle exch def /orgfreq exch def
end
} def
/pagesave FMLOCAL
/orgmatrix FMLOCAL
/landscape FMLOCAL
/FMBEGINPAGE {
FrameDict begin
/pagesave save def
3.86 setmiterlimit
/landscape exch 0 ne def
landscape {
90 rotate 0 exch neg translate pop
}
{pop pop}
ifelse
xscale yscale scale
/orgmatrix matrix def
gsave
} def
/FMENDPAGE {
grestore
pagesave restore
end
showpage
} def
/FMDEFINEFONT {
FrameDict begin
findfont
ReEncode
2 index exch
definefont exch
scalefont
FMfonts 3 1 roll
put
end
} bind def
/FMNORMALIZEGRAPHICS {
newpath
0.0 0.0 moveto
1 setlinewidth
0 setlinecap
0 0 0 sethsbcolor
0 setgray
} bind def
/fx FMLOCAL
/fy FMLOCAL
/fh FMLOCAL
/fw FMLOCAL
/llx FMLOCAL
/lly FMLOCAL
/urx FMLOCAL
/ury FMLOCAL
/FMBEGINEPSF {
end
/FMEPSF save def
/showpage {} def
FMNORMALIZEGRAPHICS
[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
fx fy translate
rotate
fw urx llx sub div fh ury lly sub div scale
llx neg lly neg translate
} bind def
/FMENDEPSF {
FMEPSF restore
FrameDict begin
} bind def
FrameDict begin
/setmanualfeed {
%%BeginFeature *ManualFeed True
statusdict /manualfeed true put
%%EndFeature
} def
/max {2 copy lt {exch} if pop} bind def
/min {2 copy gt {exch} if pop} bind def
/inch {72 mul} def
/pagedimen {
paperheight sub abs 16 lt exch
paperwidth sub abs 16 lt and
{/papername exch def} {pop} ifelse
} def
/papersizedict FMLOCAL
/setpapername {
/papersizedict 14 dict def
papersizedict begin
/papername /unknown def
/Letter 8.5 inch 11.0 inch pagedimen
/LetterSmall 7.68 inch 10.16 inch pagedimen
/Tabloid 11.0 inch 17.0 inch pagedimen
/Ledger 17.0 inch 11.0 inch pagedimen
/Legal 8.5 inch 14.0 inch pagedimen
/Statement 5.5 inch 8.5 inch pagedimen
/Executive 7.5 inch 10.0 inch pagedimen
/A3 11.69 inch 16.5 inch pagedimen
/A4 8.26 inch 11.69 inch pagedimen
/A4Small 7.47 inch 10.85 inch pagedimen
/B4 10.125 inch 14.33 inch pagedimen
/B5 7.16 inch 10.125 inch pagedimen
end
} def
/papersize {
papersizedict begin
/Letter {lettertray} def
/LetterSmall {lettertray lettersmall} def
/Tabloid {11x17tray} def
/Ledger {ledgertray} def
/Legal {legaltray} def
/Statement {statementtray} def
/Executive {executivetray} def
/A3 {a3tray} def
/A4 {a4tray} def
/A4Small {a4tray a4small} def
/B4 {b4tray} def
/B5 {b5tray} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
statusdict begin stopped end
} def
/manualpapersize {
papersizedict begin
/Letter {letter} def
/LetterSmall {lettersmall} def
/Tabloid {11x17} def
/Ledger {ledger} def
/Legal {legal} def
/Statement {statement} def
/Executive {executive} def
/A3 {a3} def
/A4 {a4} def
/A4Small {a4small} def
/B4 {b4} def
/B5 {b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
stopped
} def
/desperatepapersize {
statusdict /setpageparams known
{
paperwidth paperheight 0 1
statusdict begin
{setpageparams} stopped pop
end
} if
} def
/savematrix {
orgmatrix currentmatrix pop
} bind def
/restorematrix {
orgmatrix setmatrix
} bind def
/dmatrix matrix def
/dpi 72 0 dmatrix defaultmatrix dtransform
dup mul exch dup mul add sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
/ReEncode {
dup
length
dict begin
{
1 index /FID ne
{def}
{pop pop} ifelse
} forall
Encoding StandardEncoding eq
{
/Encoding DiacriticEncoding def
}if
currentdict
end
} bind def
/graymode true def
/bwidth FMLOCAL
/bpside FMLOCAL
/bstring FMLOCAL
/onbits FMLOCAL
/offbits FMLOCAL
/xindex FMLOCAL
/yindex FMLOCAL
/x FMLOCAL
/y FMLOCAL
/setpattern {
/bwidth exch def
/bpside exch def
/bstring exch def
/onbits 0 def /offbits 0 def
freq sangle landscape {90 add} if
{/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
bstring yindex bwidth mul xindex 8 idiv add get
1 7 xindex 8 mod sub bitshift and 0 ne
{/onbits onbits 1 add def 1}
{/offbits offbits 1 add def 0}
ifelse
}
setscreen
{} settransfer
offbits offbits onbits add div FMsetgray
/graymode false def
} bind def
/grayness {
FMsetgray
graymode not {
/graymode true def
orgxfer cvx settransfer
orgfreq organgle orgproc cvx setscreen
} if
} bind def
/HUE FMLOCAL
/SAT FMLOCAL
/BRIGHT FMLOCAL
/Colors FMLOCAL
FMPrintInColor
{
/HUE 0 def
/SAT 0 def
/BRIGHT 0 def
% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
/Colors
[[0 0 ] % black
[0 0 ] % white
[0.00 1.0] % red
[0.37 1.0] % green
[0.60 1.0] % blue
[0.50 1.0] % cyan
[0.83 1.0] % magenta
[0.16 1.0] % comment / yellow
] def
/BEGINBITMAPCOLOR {
BITMAPCOLOR} def
/BEGINBITMAPCOLORc {
BITMAPCOLORc} def
/K {
Colors exch get dup
0 get /HUE exch store
1 get /BRIGHT exch store
HUE 0 eq BRIGHT 0 eq and
{1.0 SAT sub setgray}
{HUE SAT BRIGHT sethsbcolor}
ifelse
} def
/FMsetgray {
/SAT exch 1.0 exch sub store
HUE 0 eq BRIGHT 0 eq and
{1.0 SAT sub setgray}
{HUE SAT BRIGHT sethsbcolor}
ifelse
} bind def
}
{
/BEGINBITMAPCOLOR {
BITMAPGRAY} def
/BEGINBITMAPCOLORc {
BITMAPGRAYc} def
/FMsetgray {setgray} bind def
/K {
pop
} def
}
ifelse
/normalize {
transform round exch round exch itransform
} bind def
/dnormalize {
dtransform round exch round exch idtransform
} bind def
/lnormalize {
0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
} bind def
/H {
lnormalize setlinewidth
} bind def
/Z {
setlinecap
} bind def
/X {
fillprocs exch get exec
} bind def
/V {
gsave eofill grestore
} bind def
/N {
stroke
} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
/n FMLOCAL
/L {
/n exch def
newpath
normalize
moveto
2 1 n {pop normalize lineto} for
} bind def
/Y {
L
closepath
} bind def
/x1 FMLOCAL
/x2 FMLOCAL
/y1 FMLOCAL
/y2 FMLOCAL
/rad FMLOCAL
/R {
/y2 exch def
/x2 exch def
/y1 exch def
/x1 exch def
x1 y1
x2 y1
x2 y2
x1 y2
4 Y
} bind def
/RR {
/rad exch def
normalize
/y2 exch def
/x2 exch def
normalize
/y1 exch def
/x1 exch def
newpath
x1 y1 rad add moveto
x1 y2 x2 y2 rad arcto
x2 y2 x2 y1 rad arcto
x2 y1 x1 y1 rad arcto
x1 y1 x1 y2 rad arcto
closepath
16 {pop} repeat
} bind def
/C {
grestore
gsave
R
clip
} bind def
/U {
grestore
gsave
} bind def
/F {
FMfonts exch get
setfont
} bind def
/T {
moveto show
} bind def
/RF {
rotate
0 ne {-1 1 scale} if
} bind def
/TF {
gsave
moveto
RF
show
grestore
} bind def
/P {
moveto
0 32 3 2 roll widthshow
} bind def
/PF {
gsave
moveto
RF
0 32 3 2 roll widthshow
grestore
} bind def
/S {
moveto
0 exch ashow
} bind def
/SF {
gsave
moveto
RF
0 exch ashow
grestore
} bind def
/B {
moveto
0 32 4 2 roll 0 exch awidthshow
} bind def
/BF {
gsave
moveto
RF
0 32 4 2 roll 0 exch awidthshow
grestore
} bind def
/x FMLOCAL
/y FMLOCAL
/dx FMLOCAL
/dy FMLOCAL
/dl FMLOCAL
/t FMLOCAL
/t2 FMLOCAL
/Cos FMLOCAL
/Sin FMLOCAL
/r FMLOCAL
/W {
dnormalize
/dy exch def
/dx exch def
normalize
/y exch def
/x exch def
/dl dx dx mul dy dy mul add sqrt def
dl 0.0 gt {
/t currentlinewidth def
savematrix
/Cos dx dl div def
/Sin dy dl div def
/r [Cos Sin Sin neg Cos 0.0 0.0] def
/t2 t 2.5 mul 3.5 max def
newpath
x y translate
r concat
0.0 0.0 moveto
dl t 2.7 mul sub 0.0 rlineto
stroke
restorematrix
x dx add y dy add translate
r concat
t 0.67 mul setlinewidth
t 1.61 mul neg 0.0 translate
0.0 0.0 moveto
t2 1.7 mul neg t2 2.0 div moveto
0.0 0.0 lineto
t2 1.7 mul neg t2 2.0 div neg lineto
stroke
t setlinewidth
restorematrix
} if
} bind def
/G {
gsave
newpath
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath fill
grestore
} bind def
/A {
gsave
savematrix
newpath
2 index 2 div add exch 3 index 2 div sub exch
normalize 2 index 2 div sub exch 3 index 2 div add exch
translate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
stroke
grestore
} bind def
/x FMLOCAL
/y FMLOCAL
/w FMLOCAL
/h FMLOCAL
/xx FMLOCAL
/yy FMLOCAL
/ww FMLOCAL
/hh FMLOCAL
/FMsaveobject FMLOCAL
/FMoptop FMLOCAL
/FMdicttop FMLOCAL
/BEGINPRINTCODE {
/FMdicttop countdictstack 1 add def
/FMoptop count 4 sub def
/FMsaveobject save def
userdict begin
/showpage {} def
FMNORMALIZEGRAPHICS
3 index neg 3 index neg translate
} bind def
/ENDPRINTCODE {
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
FMsaveobject restore
} bind def
/gn {
0
{ 46 mul
cf read pop
32 sub
dup 46 lt {exit} if
46 sub add
} loop
add
} bind def
/str FMLOCAL
/cfs {
/str sl string def
0 1 sl 1 sub {str exch val put} for
str def
} bind def
/ic [
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0
{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
] def
/sl FMLOCAL
/val FMLOCAL
/ws FMLOCAL
/im FMLOCAL
/bs FMLOCAL
/cs FMLOCAL
/len FMLOCAL
/pos FMLOCAL
/ms {
/sl exch def
/val 255 def
/ws cfs
/im cfs
/val 0 def
/bs cfs
/cs cfs
} bind def
400 ms
/ip {
is
0
cf cs readline pop
{ ic exch get exec
add
} forall
pop
} bind def
/wh {
/len exch def
/pos exch def
ws 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/bl {
/len exch def
/pos exch def
bs 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/s1 1 string def
/fl {
/len exch def
/pos exch def
/val cf s1 readhexstring pop 0 get def
pos 1 pos len add 1 sub {im exch val put} for
pos len
} bind def
/hx {
3 copy getinterval
cf exch readhexstring pop pop
} bind def
/h FMLOCAL
/w FMLOCAL
/d FMLOCAL
/lb FMLOCAL
/bitmapsave FMLOCAL
/is FMLOCAL
/cf FMLOCAL
/wbytes {
dup
8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse
} bind def
/BEGINBITMAPBWc {
1 {} COMMONBITMAPc
} bind def
/BEGINBITMAPGRAYc {
8 {} COMMONBITMAPc
} bind def
/BEGINBITMAP2BITc {
2 {} COMMONBITMAPc
} bind def
/COMMONBITMAPc {
/r exch def
/d exch def
gsave
translate rotate scale /h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
r
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} image
bitmapsave restore
grestore
} bind def
/BEGINBITMAPBW {
1 {} COMMONBITMAP
} bind def
/BEGINBITMAPGRAY {
8 {} COMMONBITMAP
} bind def
/BEGINBITMAP2BIT {
2 {} COMMONBITMAP
} bind def
/COMMONBITMAP {
/r exch def
/d exch def
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
r
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} image
bitmapsave restore
grestore
} bind def
/proc1 FMLOCAL
/proc2 FMLOCAL
/newproc FMLOCAL
/Fmcc {
/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
} bind def
/ngrayt 256 array def
/nredt 256 array def
/nbluet 256 array def
/ngreent 256 array def
/gryt FMLOCAL
/blut FMLOCAL
/grnt FMLOCAL
/redt FMLOCAL
/indx FMLOCAL
/cynu FMLOCAL
/magu FMLOCAL
/yelu FMLOCAL
/k FMLOCAL
/u FMLOCAL
/colorsetup {
currentcolortransfer
/gryt exch def
/blut exch def
/grnt exch def
/redt exch def
0 1 255 {
/indx exch def
/cynu 1 red indx get 255 div sub def
/magu 1 green indx get 255 div sub def
/yelu 1 blue indx get 255 div sub def
/k cynu magu min yelu min def
/u k currentundercolorremoval exec def
nredt indx 1 0 cynu u sub max sub redt exec put
ngreent indx 1 0 magu u sub max sub grnt exec put
nbluet indx 1 0 yelu u sub max sub blut exec put
ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
} for
{255 mul cvi nredt exch get}
{255 mul cvi ngreent exch get}
{255 mul cvi nbluet exch get}
{255 mul cvi ngrayt exch get}
setcolortransfer
{pop 0} setundercolorremoval
{} setblackgeneration
} bind def
/tran FMLOCAL
/fakecolorsetup {
/tran 256 string def
0 1 255 {/indx exch def
tran indx
red indx get 77 mul
green indx get 151 mul
blue indx get 28 mul
add add 256 idiv put} for
currenttransfer
{255 mul cvi tran exch get 255.0 div}
exch Fmcc settransfer
} bind def
/BITMAPCOLOR {
/d 8 def
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
colorsetup
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} {is} {is} true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPCOLORc {
/d 8 def
gsave
translate rotate scale /h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
colorsetup
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} {is} {is} true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPGRAY {
8 {fakecolorsetup} COMMONBITMAP
} bind def
/BITMAPGRAYc {
8 {fakecolorsetup} COMMONBITMAPc
} bind def
/ENDBITMAP {
} bind def
end
%%EndProlog
%%BeginSetup
(2.0) FMVERSION
1 1 612 792 0 1 47 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 9 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<03060c183060c081> 8 1 setpattern } put
fillprocs 14 {<8040201008040201> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 25 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 30 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 31 {} put
%%EndSetup
0 36 /Times-Roman FMDEFINEFONT
1 32 /Times-Roman FMDEFINEFONT
2 12 /Times-Bold FMDEFINEFONT
3 12 /Times-Italic FMDEFINEFONT
4 12 /Times-Roman FMDEFINEFONT
%%Page: "1" 1
%%BeginPaperSize: Letter
%%EndPaperSize
612 792 0 FMBEGINPAGE
72 63 540 747.36 R
7 X
0 K
V
0 F
0 X
(The S) 175.58 563.36 T
1 F
(ELF) 260.56 563.36 T
0 F
( Manual) 317.46 563.36 T
2 F
(Urs H\232lzle) 278.85 451.36 T
(Bay-W) 265.52 436.36 T
(ei Chang) 300.84 436.36 T
(Craig Chambers) 263.2 421.36 T
(Ole Agesen) 277.19 406.36 T
(David Ungar) 272.85 391.36 T
3 F
(Center for Integrated Systems) 234.21 361.36 T
(Computer Systems Laboratory) 232.71 346.36 T
(Stanfor) 259.08 331.36 T
(d University) 293.96 331.36 T
(Stanfor) 258.41 316.36 T
(d, CA 94305) 293.29 316.36 T
4 F
(V) 278.68 190.36 T
(ersion 1.1) 286.01 190.36 T
(February 4, 1991) 264.86 175.36 T
FMENDPAGE
%%EndPage: "1" 2
0 10 /Times-Roman FMDEFINEFONT
1 9 /Times-Roman FMDEFINEFONT
5 11 /Times-Bold FMDEFINEFONT
6 11 /Times-Roman FMDEFINEFONT
%%Page: "2" 2
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
71.42 742.9 539.42 742.9 2 L
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 F
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Manual) 92.96 749.62 T
(Table of Contents) 467.8 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(T) 71.42 708.11 T
(able of Contents) 78.32 708.11 T
(Part I:) 71.42 676.11 T
(S) 143.42 676.11 T
5 F
(ELF) 150.09 676.11 T
2 F
( System Manual) 171.46 676.11 T
4 F
(Chapter 1) 71.42 652.11 T
(Introduction) 143.42 652.11 T
0 F
( ) 202.72 652.11 T
(................................................................................................................................) 207.39 652.11 T
(I-1) 527.77 652.11 T
4 F
(Chapter 2) 71.42 636.11 T
(About this release) 143.42 636.11 T
0 F
(......................................................................................................................) 232.37 636.11 T
(I-2) 527.77 636.11 T
4 F
(Chapter 3) 71.42 620.11 T
(Overview of S) 143.42 620.11 T
6 F
(ELF) 213.37 620.11 T
0 F
(.....................................................................................................................) 234.87 620.11 T
(I-4) 527.77 620.11 T
4 F
(Chapter 4) 71.42 604.11 T
(Installing S) 143.42 604.11 T
6 F
(ELF) 198.4 604.11 T
0 F
(...........................................................................................................................) 219.88 604.11 T
(I-6) 527.77 604.11 T
4 F
(Chapter 5) 71.42 588.11 T
(Using S) 143.42 588.11 T
6 F
(ELF) 181.74 588.11 T
0 F
(................................................................................................................................) 202.39 588.11 T
(I-10) 522.77 588.11 T
4 F
(Appendix A) 71.42 567.11 T
(Run-time message lookup errors) 143.42 567.11 T
0 F
(.........................................................................................) 299.83 567.11 T
(I-28) 522.77 567.11 T
4 F
(Appendix B) 71.42 551.11 T
(The initial S) 143.42 551.11 T
6 F
(ELF) 202.73 551.11 T
4 F
( world) 222.26 551.11 T
0 F
(...........................................................................................................) 254.86 551.11 T
(I-29) 522.77 551.11 T
4 F
(Appendix C) 71.42 535.11 T
(startup.self) 143.42 535.11 T
0 F
(..................................................................................................................................) 197.39 535.11 T
(I-32) 522.77 535.11 T
4 F
(Appendix D) 71.42 519.11 T
(VM configuration) 143.42 519.11 T
0 F
(....................................................................................................................) 232.37 519.11 T
(I-34) 522.77 519.11 T
4 F
(Appendix E) 71.42 503.11 T
(The system monitor) 143.42 503.11 T
0 F
(.................................................................................................................) 239.87 503.11 T
(I-35) 522.77 503.11 T
4 F
(Appendix F) 71.42 487.11 T
(Primitives) 143.42 487.11 T
0 F
(...................................................................................................................................) 194.89 487.11 T
(I-37) 522.77 487.11 T
4 F
(References) 71.42 466.11 T
0 F
(...............................................................................................................................................................) 124.93 466.11 T
(I-51) 522.77 466.11 T
2 F
(Part II:) 71.42 436.11 T
(The S) 143.42 436.11 T
5 F
(ELF) 173.08 436.11 T
2 F
( World) 194.45 436.11 T
4 F
(Chapter 1) 71.42 412.11 T
(Organizing the world) 143.42 412.11 T
0 F
( ) 246.02 412.11 T
(.............................................................................................................) 249.86 412.11 T
(II-1) 524.44 412.11 T
4 F
(Chapter 2) 71.42 396.11 T
(Map of the world) 143.42 396.11 T
0 F
(......................................................................................................................) 227.38 396.11 T
(II-5) 524.44 396.11 T
4 F
(Appendix A) 71.42 375.11 T
(Mirrors) 143.42 375.11 T
0 F
(......................................................................................................................................) 182.4 375.11 T
(II-16) 519.45 375.11 T
4 F
(Appendix B) 71.42 359.11 T
(Strings) 143.42 359.11 T
0 F
(.......................................................................................................................................) 179.9 359.11 T
(II-18) 519.45 359.11 T
4 F
(Appendix C) 71.42 343.11 T
(Other objects in the S) 143.42 343.11 T
6 F
(ELF) 247.36 343.11 T
4 F
( world) 266.89 343.11 T
0 F
(.......................................................................................) 299.83 343.11 T
(II-20) 519.45 343.11 T
4 F
(Appendix D) 71.42 327.11 T
(The S) 143.42 327.11 T
6 F
(ELF) 171.74 327.11 T
4 F
( prototype user interface) 191.27 327.11 T
0 F
(...................................................................................) 309.83 327.11 T
(II-21) 519.45 327.11 T
4 F
(Appendix E) 71.42 311.11 T
(Selector glossary) 143.42 311.11 T
0 F
(....................................................................................................................) 227.38 311.11 T
(II-23) 519.45 311.11 T
4 F
(References) 71.42 290.11 T
0 F
(.............................................................................................................................................................) 124.93 290.11 T
(II-31) 519.45 290.11 T
2 F
(Part III:) 71.42 260.11 T
(S) 143.42 260.11 T
5 F
(ELF) 150.09 260.11 T
2 F
( Language Reference Manual) 171.46 260.11 T
4 F
(Chapter 1) 71.42 236.11 T
(Introduction) 143.42 236.11 T
0 F
( ) 202.72 236.11 T
(.............................................................................................................................) 207.39 236.11 T
(III-1) 521.11 236.11 T
4 F
(Chapter 2) 71.42 220.11 T
(Objects) 143.42 220.11 T
0 F
(.......................................................................................................................................) 182.4 220.11 T
(III-2) 521.11 220.11 T
4 F
(Chapter 3) 71.42 204.11 T
(Slot descriptors) 143.42 204.11 T
0 F
(........................................................................................................................) 219.88 204.11 T
(III-7) 521.11 204.11 T
4 F
(Chapter 4) 71.42 188.11 T
(Expressions) 143.42 188.11 T
0 F
(.............................................................................................................................) 202.39 188.11 T
(III-1) 516.49 188.11 T
(1) 534.43 188.11 T
4 F
(Chapter 5) 71.42 172.11 T
(Message lookup semantics) 143.42 172.11 T
0 F
(.................................................................................................) 272.35 172.11 T
(III-15) 516.12 172.11 T
4 F
(Chapter 6) 71.42 156.11 T
(Lexical elements) 143.42 156.11 T
0 F
(...................................................................................................................) 227.38 156.11 T
(III-21) 516.12 156.11 T
4 F
(Appendix A) 71.42 135.11 T
(Glossary) 143.42 135.11 T
0 F
(...................................................................................................................................) 187.4 135.11 T
(III-25) 516.12 135.11 T
4 F
(Appendix B) 71.42 119.11 T
(Lexical overview) 143.42 119.11 T
0 F
(...................................................................................................................) 227.38 119.11 T
(III-28) 516.12 119.11 T
4 F
(Appendix C) 71.42 103.11 T
(Syntax overview) 143.42 103.11 T
0 F
(....................................................................................................................) 224.88 103.11 T
(III-29) 516.12 103.11 T
4 F
(Appendix D) 71.42 87.11 T
(Built-in types) 143.42 87.11 T
0 F
(..........................................................................................................................) 209.88 87.11 T
(III-31) 516.12 87.11 T
4 F
(References) 71.42 66.11 T
0 F
(............................................................................................................................................................) 124.93 66.11 T
(III-32) 516.12 66.11 T
FMENDPAGE
%%EndPage: "2" 3
7 24 /Times-Roman FMDEFINEFONT
8 21 /Times-Roman FMDEFINEFONT
%%Page: "1" 3
612 792 0 FMBEGINPAGE
72 63 540 747.36 R
7 X
0 K
V
7 F
0 X
(Part I) 279.69 641.36 T
(S) 202.71 591.36 T
8 F
(ELF) 216.05 591.36 T
7 F
( System Manual) 253.38 591.36 T
FMENDPAGE
%%EndPage: "1" 4
%%Page: "1" 4
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
71.42 742.9 539.42 742.9 2 L
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 F
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Table of Contents) 467.8 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(T) 71.42 708.11 T
(able of Contents) 78.32 708.11 T
4 F
(1) 71.42 674.11 T
(Introduction) 107.42 674.11 T
0 F
(................................................................................................................................................) 167.41 674.11 T
(I-1) 527.77 674.11 T
4 F
(2) 71.42 646.11 T
(About this release) 107.42 646.11 T
0 F
(.....................................................................................................................................) 194.89 646.11 T
(I-2) 527.77 646.11 T
(2.1) 107.42 631.45 T
(Implementation status) 143.42 631.45 T
(......................................................................................................................) 232.37 631.45 T
(I-2) 527.77 631.45 T
(2.2) 107.42 615.45 T
(Major changes) 143.42 615.45 T
(.................................................................................................................................) 204.89 615.45 T
(I-2) 527.77 615.45 T
(2.3) 107.42 599.45 T
(Future implementation changes and known bugs) 143.42 599.45 T
(...........................................................................) 339.81 599.45 T
(I-2) 527.77 599.45 T
(2.4) 107.42 583.45 T
(Potential language changes) 143.42 583.45 T
(..............................................................................................................) 252.36 583.45 T
(I-3) 527.77 583.45 T
(2.5) 107.42 567.45 T
(Bug reports) 143.42 567.45 T
(......................................................................................................................................) 192.39 567.45 T
(I-3) 527.77 567.45 T
4 F
(3) 71.42 540.11 T
(Overview of S) 107.42 540.11 T
6 F
(ELF) 177.37 540.11 T
0 F
(....................................................................................................................................) 197.39 540.11 T
(I-4) 527.77 540.11 T
(3.1) 107.42 525.45 T
(The system) 143.42 525.45 T
(.......................................................................................................................................) 189.9 525.45 T
(I-4) 527.77 525.45 T
(3.2) 107.42 509.45 T
(The translation process) 143.42 509.45 T
(....................................................................................................................) 237.37 509.45 T
(I-4) 527.77 509.45 T
4 F
(4) 71.42 482.11 T
(Installing S) 107.42 482.11 T
6 F
(ELF) 162.4 482.11 T
0 F
(..........................................................................................................................................) 182.4 482.11 T
(I-6) 527.77 482.11 T
(4.1) 107.42 467.45 T
(Setting up the environment) 143.42 467.45 T
(..............................................................................................................) 252.36 467.45 T
(I-6) 527.77 467.45 T
(4.2) 107.42 451.45 T
(The primeval world of S) 143.42 451.45 T
1 F
(ELF) 241.69 451.45 T
0 F
( objects) 257.67 451.45 T
(...............................................................................................) 289.84 451.45 T
(I-6) 527.77 451.45 T
(4.3) 107.42 435.45 T
(Creating the default world) 143.42 435.45 T
(...............................................................................................................) 249.86 435.45 T
(I-8) 527.77 435.45 T
4 F
(5) 71.42 408.11 T
(Using S) 107.42 408.11 T
6 F
(ELF) 145.74 408.11 T
0 F
(..............................................................................................................................................) 167.41 408.11 T
(I-10) 522.77 408.11 T
(5.1) 107.42 393.45 T
(Elementary skills) 143.42 393.45 T
(...........................................................................................................................) 214.88 393.45 T
(I-10) 522.77 393.45 T
(5.2) 107.42 377.45 T
(Entering S) 143.42 377.45 T
1 F
(ELF) 185.9 377.45 T
0 F
( expressions) 201.88 377.45 T
(............................................................................................................) 252.36 377.45 T
(I-1) 523.14 377.45 T
(1) 534.43 377.45 T
(5.3) 107.42 361.45 T
(Printing objects) 143.42 361.45 T
(..............................................................................................................................) 207.39 361.45 T
(I-12) 522.77 361.45 T
(5.4) 107.42 345.45 T
(Debugging) 143.42 345.45 T
(.....................................................................................................................................) 189.9 345.45 T
(I-16) 522.77 345.45 T
(5.5) 107.42 329.45 T
(Scripts) 143.42 329.45 T
(............................................................................................................................................) 172.4 329.45 T
(I-20) 522.77 329.45 T
(5.6) 107.42 313.45 T
(Editing objects) 143.42 313.45 T
(...............................................................................................................................) 204.89 313.45 T
(I-21) 522.77 313.45 T
(5.7) 107.42 297.45 T
(Option primitives) 143.42 297.45 T
(...........................................................................................................................) 214.88 297.45 T
(I-26) 522.77 297.45 T
(5.8) 107.42 281.45 T
(System-triggered messages) 143.42 281.45 T
(...........................................................................................................) 254.86 281.45 T
(I-27) 522.77 281.45 T
4 F
(Appendix A) 71.42 246.11 T
(Run-time message lookup errors) 143.42 246.11 T
0 F
(.........................................................................................) 299.83 246.11 T
(I-28) 522.77 246.11 T
4 F
(Appendix B) 71.42 232.11 T
(The initial S) 143.42 232.11 T
6 F
(ELF) 202.73 232.11 T
4 F
( world) 222.26 232.11 T
0 F
(...........................................................................................................) 254.86 232.11 T
(I-29) 522.77 232.11 T
4 F
(Appendix C) 71.42 218.11 T
(startup.self) 143.42 218.11 T
0 F
(..................................................................................................................................) 197.39 218.11 T
(I-32) 522.77 218.11 T
4 F
(Appendix D) 71.42 204.11 T
(VM configuration) 143.42 204.11 T
0 F
(....................................................................................................................) 232.37 204.11 T
(I-34) 522.77 204.11 T
4 F
(Appendix E) 71.42 190.11 T
(The system monitor) 143.42 190.11 T
0 F
(.................................................................................................................) 239.87 190.11 T
(I-35) 522.77 190.11 T
4 F
(Appendix F) 71.42 176.11 T
(Primitives) 143.42 176.11 T
0 F
(...................................................................................................................................) 194.89 176.11 T
(I-37) 522.77 176.11 T
4 F
(References) 71.42 154.11 T
0 F
(...............................................................................................................................................................) 124.93 154.11 T
(I-51) 522.77 154.11 T
FMENDPAGE
%%EndPage: "1" 5
9 16 /Times-Bold FMDEFINEFONT
10 6 /Times-Roman FMDEFINEFONT
11 8 /Times-Roman FMDEFINEFONT
%%Page: "1" 5
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-1) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Introduction) 490.01 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(1 Intr) 71.42 705.45 T
(oduction) 114.66 705.45 T
4 F
0.82 (This document explains how to use the current \050W) 71.42 678.11 P
0.82 (inter 1991\051 implementation of S) 320.02 678.11 P
6 F
0.75 (ELF) 477.22 678.11 P
10 F
0.41 (\252) 496.76 680.91 P
4 F
0.82 (, devel-) 502.63 678.11 P
-0.12 (oped at Stanford University) 71.42 664.11 P
-0.12 (. This is ) 203.2 664.11 P
3 F
-0.12 (not) 244.16 664.11 P
4 F
-0.12 ( a tutorial on the language\321we assume that you are some-) 259.49 664.11 P
0.62 (what familiar with the language already \050see [US87] for an introduction to the language and the) 71.42 650.11 P
0.09 (S) 71.42 636.11 P
6 F
0.08 (ELF) 78.09 636.11 P
4 F
0.09 ( Language Reference Manual for detailed information\051. Rather) 97.63 636.11 P
0.09 (, this document explains how) 398.83 636.11 P
0.21 (to get started, how to create objects and programs, and how to con\336gure S) 71.42 622.11 P
6 F
0.19 (ELF) 429.6 622.11 P
4 F
0.21 (. It also documents) 448.17 622.11 P
(the parts of S) 71.42 608.11 T
6 F
(ELF) 135.05 608.11 T
4 F
( that are not part of the language de\336nition itself \050such as the S) 154.58 608.11 T
6 F
(ELF) 455.38 608.11 T
4 F
( primitives\051.) 474.91 608.11 T
0.63 (The \336rst version of the S) 71.42 582.11 P
6 F
0.58 (ELF) 193.5 582.11 P
4 F
0.63 ( language was designed in 1986 by David Ungar and Randy Smith) 213.04 582.11 P
-0.16 ([US87]. Since then, the language has evolved: we have streamlined the syntax, de\336ned S) 71.42 568.11 P
6 F
-0.14 (ELF) 495.74 568.11 P
4 F
-0.16 (\325) 515.27 568.11 P
-0.16 (s fa-) 518.6 568.11 P
-0.12 (cilities for multiple inheritance, and added the concept of private slots. The very \336rst implementa-) 71.42 554.11 P
-0.35 (tion of S) 71.42 540.11 P
6 F
-0.32 (ELF) 112.04 540.11 P
4 F
-0.35 ( was an experimental interpreter written in the Smalltalk-80) 131.57 540.11 P
0 F
-0.29 (\240) 415.23 544.91 P
4 F
-0.35 ( system [GR83] by Craig) 420.23 540.11 P
0.07 (Chambers, Elgin Lee, and Martin Rinard in early 1987. The S) 71.42 526.11 P
6 F
0.06 (ELF) 368.92 526.11 P
4 F
0.07 ( project started in earnest in the) 388.45 526.11 P
0.54 (summer of 1987 with the implementation of a custom memory system and a S) 71.42 512.11 P
6 F
0.49 (ELF) 453.85 512.11 P
4 F
0.54 ( compiler) 473.38 512.11 P
0.54 (. By) 518.89 512.11 P
0.32 (the summer of 1988, the \336rst ef) 71.42 498.11 P
0.32 (\336cient implementation was completed [CU89] [CUL89] [Lee88].) 224.04 498.11 P
(Since then, new ideas have led to the development of a second-generation compiler [CU90]. ) 71.42 484.11 T
-0.2 (The S) 71.42 458.11 P
6 F
-0.18 (ELF) 99.54 458.11 P
4 F
-0.2 ( system is the result of an ongoing research project and therefore is an experimental sys-) 119.07 458.11 P
-0.13 (tem. W) 71.42 444.11 P
-0.13 (e believe, however) 105.64 444.11 P
-0.13 (, that the system is stable enough to be used by a lar) 195.15 444.11 P
-0.13 (ger community) 442.19 444.11 P
-0.13 (, giv-) 514.24 444.11 P
(ing people outside of the project a chance to experiment with S) 71.42 430.11 T
6 F
(ELF) 374.21 430.11 T
4 F
(. ) 392.78 430.11 T
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(Smalltalk-80 is a trademark of ParcPlace Systems, Inc.) 79.42 62.77 T
FMENDPAGE
%%EndPage: "1" 6
10 14 /Times-Bold FMDEFINEFONT
12 11 /Courier FMDEFINEFONT
%%Page: "2" 6
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-2) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(About this release) 467.25 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(2 About this r) 71.42 705.45 T
(elease) 169.75 705.45 T
4 F
0.59 (S) 71.42 678.11 P
6 F
0.54 (ELF) 78.09 678.11 P
4 F
0.59 ( is not a \336nished product, and it will continue to evolve. This chapter describes the current) 97.63 678.11 P
0.12 (status of S) 71.42 664.11 P
6 F
0.11 (ELF) 121.64 664.11 P
4 F
0.12 ( and gives an overview of the major changes that have been made since the last re-) 141.17 664.11 P
(lease. It also brie\337y discusses some aspects of S) 71.42 650.11 T
6 F
(ELF) 301.6 650.11 T
4 F
( that are likely to change in future. ) 321.14 650.11 T
10 F
(2.1 Implementation status) 71.42 616.78 T
4 F
2.05 (S) 71.42 590.11 P
6 F
1.88 (ELF) 78.09 590.11 P
4 F
2.05 ( currently runs on Sun-3 and Sun-4 workstations using SunOS 4.0.3 or 4.1. The Sun-4) 97.63 590.11 P
0.55 (\050SP) 71.42 576.11 P
0.55 (ARC\051 version is the fastest and most reliable version. The Sun-3 version is considerably less) 87.65 576.11 P
-0.42 (ef) 71.42 562.11 P
-0.42 (\336cient \050compared to C on the same platform\051 and may be somewhat buggier due to less thorough) 80.53 562.11 P
(testing \050since we do not use the Sun-3 version daily\051. ) 71.42 548.11 T
0.14 (T) 71.42 522.11 P
0.14 (wo compilers are distributed with the S) 77.91 522.11 P
6 F
0.13 (ELF) 267.29 522.11 P
4 F
0.14 ( system: the \322old\323 compiler and the \322new\323 compiler) 286.83 522.11 P
0.14 (.) 536.42 522.11 P
-0.07 (The old compiler supports both the Sun-3 and Sun-4 architectures whereas the new compiler only) 71.42 508.11 P
0.21 (supports the Sun-4. Compile times are longer with the new compiler; however) 71.42 494.11 P
0.21 (, the code it gener-) 449 494.11 P
1.03 (ates is much better) 71.42 480.11 P
1.03 (. The option primitive ) 163.45 480.11 P
12 F
2.26 (_UseNewCompiler) 275.84 480.11 P
4 F
1.03 (:) 374.71 480.11 P
10 F
1.2 ( ) 378.05 480.11 P
4 F
1.03 (controls which compiler is used) 382.74 480.11 P
(\050option primitives are described in section I-5.7\051.) 71.42 466.11 T
10 F
(2.2 Major changes) 71.42 432.78 T
4 F
0.22 (Below is a list of changes and enhancements that have been made since the last release. Only the) 71.42 406.11 P
-0.4 (major changes are included. In addition to the changes listed, many small changes have been made) 71.42 392.11 P
(and bugs have been \336xed.) 71.42 378.11 T
(\245) 71.42 358.11 T
(Two compilers are now distributed with the system \050see section I-2.1\051.) 84.96 358.11 T
(\245) 71.42 338.11 T
1.28 (The virtual machine now supports lightweight processes through a set of primitive methods) 84.96 338.11 P
(\050see Table 16 in Appendix F\051.) 84.96 324.11 T
(\245) 71.42 304.11 T
-0.09 (The programming primitives have been changed. ) 84.96 304.11 P
12 F
-0.19 (_DefineSlots:) 323.27 304.11 P
4 F
-0.09 ( has been removed and two) 408.96 304.11 P
-0.19 (new primitives introduced instead: ) 84.96 290.11 P
12 F
-0.42 (_AddSlotsIfAbsent:) 253.42 290.11 P
4 F
-0.19 ( and ) 372.08 290.11 P
12 F
-0.42 (_Define:) 395.01 290.11 P
4 F
-0.19 ( \050see section I-5.6\051.) 447.74 290.11 P
(\245) 71.42 270.11 T
(Byte and object vectors can now have user-defined slots.) 84.96 270.11 T
(\245) 71.42 250.11 T
(The representation of strings has been changed.) 84.96 250.11 T
(\245) 71.42 230.11 T
(Compiled code space has been divided into four areas \050see Appendix E\051.) 84.96 230.11 T
10 F
(2.3 Futur) 71.42 196.78 T
(e implementation changes and known bugs) 130.64 196.78 T
4 F
0.82 (Currently) 71.42 170.11 P
0.82 (, the S) 116.61 170.11 P
6 F
0.76 (ELF) 148.58 170.11 P
4 F
0.82 ( world is spartan\321there is no nice user interface, no editor) 168.12 170.11 P
0.82 (, no debugger) 457.34 170.11 P
0.82 (. A) 523.94 170.11 P
-0.06 (prototype implementation of a S) 71.42 156.11 P
6 F
-0.05 (ELF) 226.43 156.11 P
4 F
-0.06 ( object browser is included to help you explore the world and) 245.96 156.11 P
(to demonstrate some of S) 71.42 142.11 T
6 F
(ELF) 193.35 142.11 T
4 F
(\325) 212.88 142.11 T
(s possibilities. ) 216.22 142.11 T
1.33 (Many parts of the implementation will change over time. Future versions are likely to include) 71.42 116.11 P
0.85 (more complete programming and debugging support. On the S) 71.42 102.11 P
6 F
0.78 (ELF) 379.06 102.11 P
4 F
0.85 ( level, the user interface will) 398.6 102.11 P
(change considerably) 71.42 88.11 T
(, and collections may be redesigned.) 168.89 88.11 T
FMENDPAGE
%%EndPage: "2" 7
%%Page: "3" 7
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-3) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(About this release) 467.25 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(The known weaknesses and bugs in the current system are:) 71.42 708.11 T
(\245) 84.96 688.11 T
1.26 (Floats have a very limited range since the exponent contains two bits less than the IEEE) 98.42 688.11 P
(standard. We may provide double-precision floats in future releases.) 98.42 674.11 T
(\245) 84.96 654.11 T
1.57 (Immutability of the bytecodes of a method is not enforced; changing the bytecodes of a) 98.42 654.11 P
(method can crash the system.) 98.42 640.11 T
(\245) 84.96 620.11 T
0.94 (Programs using dynamic inheritance \050DI\051 can be significantly slower than equivalent pro-) 98.42 620.11 P
0.07 (grams not using DI, since the compiler does not inline lookups that proceed through assign-) 98.42 606.11 P
(able parents.) 98.42 592.11 T
(\245) 84.96 572.11 T
-0.14 (The compiler does not handle long methods well; such methods may take several seconds to) 98.42 572.11 P
0.77 (compile, and the compiled code can be quite large. At worst, the compiler may run out of) 98.42 558.11 P
(memory and generate a fatal error.) 98.42 544.11 T
(\245) 84.96 524.11 T
0.11 (Adding slots to the lobby, the global name spaces \050e.g. prototypes\051, or to common traits ob-) 98.42 524.11 P
2.1 (jects \050like integer traits\051 may flush many compiled methods from the cache, leading to) 98.42 510.11 P
(lengthy recompilations.) 98.42 496.11 T
(\245) 84.96 476.11 T
0.9 (Programming primitives like ) 98.42 476.11 P
12 F
1.98 (_AddSlots:) 242.72 476.11 P
4 F
0.9 ( terminate the currently running S) 308.64 476.11 P
6 F
0.82 (ELF) 475.36 476.11 P
4 F
0.9 ( program) 494.89 476.11 P
(and return the user to the prompt.) 98.42 462.11 T
10 F
(2.4 Potential language changes) 71.42 428.78 T
4 F
(This is a short list of possible language changes currently being discussed:) 71.42 402.11 T
(\245) 84.96 382.11 T
(Characters and strings could change; in particular, there may be character literals.) 98.42 382.11 T
(\245) 84.96 362.11 T
0.05 (Comment syntax could change to provide \322comment to end of line\323 semantics. Periods sep-) 98.42 362.11 P
(arating slot descriptors and statements could become optional.) 98.42 348.11 T
(\245) 84.96 328.11 T
-0.03 (Ordered inheritance in its current form could be replaced by another mechanism; this would) 98.42 328.11 P
(especially affect the semantics of resends, which we would like to be simpler.) 98.42 314.11 T
(\245) 84.96 294.11 T
1.05 (S) 98.42 294.11 P
6 F
0.96 (ELF) 105.09 294.11 P
4 F
1.05 ( might support multimethods, i.e. dispatching on the type of the receiver and one or) 124.63 294.11 P
(more arguments \050instead of dispatching just on the type of the receiver\051.) 98.42 280.11 T
10 F
(2.5 Bug r) 71.42 246.78 T
(eports) 129.48 246.78 T
4 F
0.05 (Bug reports can be sent to self-bugs@self.stanford.edu. Please include an exact description of the) 71.42 220.11 P
(problem and a short S) 71.42 206.11 T
6 F
(ELF) 176.69 206.11 T
4 F
( program reproducing the bug.) 196.22 206.11 T
FMENDPAGE
%%EndPage: "3" 8
13 11 /Times-Italic FMDEFINEFONT
14 10 /Helvetica FMDEFINEFONT
15 9 /Helvetica FMDEFINEFONT
%%Page: "4" 8
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-4) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Overview of SELF) 463.37 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(3 Overview of S) 71.42 705.45 T
10 F
(ELF) 183.35 705.45 T
4 F
0.39 (This section contains an overview of the system and its implementation; it can be skipped if you) 71.42 678.11 P
(wish to get started as quickly as possible.) 71.42 664.11 T
10 F
(3.1 The system) 71.42 630.78 T
4 F
0.16 (Although S) 71.42 604.11 P
6 F
0.15 (ELF) 126.56 604.11 P
4 F
0.16 ( runs as a single U) 146.1 604.11 P
6 F
0.15 (NIX) 235.17 604.11 P
0 F
0.13 (\240) 254.69 608.91 P
4 F
0.16 ( process, it really has two parts: the ) 259.69 604.11 P
3 F
0.16 (virtual machine) 433.18 604.11 P
4 F
0.16 ( \050VM\051) 508.96 604.11 P
(and the ) 71.42 590.11 T
3 F
(S) 109.39 590.11 T
13 F
(ELF) 115.39 590.11 T
3 F
( world) 134.93 590.11 T
4 F
(, the collection of S) 165.92 590.11 T
6 F
(ELF) 259.52 590.11 T
4 F
( objects that are the S) 279.06 590.11 T
6 F
(ELF) 381.99 590.11 T
4 F
( prototypes and programs: ) 401.52 590.11 T
0.95 (The VM executes S) 71.42 486.05 P
6 F
0.87 (ELF) 169.21 486.05 P
4 F
0.95 ( programs speci\336ed by objects in the S) 188.74 486.05 P
6 F
0.87 (ELF) 380.95 486.05 P
4 F
0.95 ( world and provides a set of) 400.48 486.05 P
3 F
1.12 (primitives) 71.42 472.05 P
4 F
1.12 ( \050which may be thought of as methods written in C++\051 that can be invoked by S) 119.4 472.05 P
6 F
1.02 (ELF) 519.89 472.05 P
4 F
0.46 (methods to carry out basic operations like integer arithmetic, object copying, and I/O. The S) 71.42 458.05 P
6 F
0.42 (ELF) 519.89 458.05 P
4 F
-0.48 (world distributed with the VM is a collection of S) 71.42 444.05 P
6 F
-0.44 (ELF) 305.99 444.05 P
4 F
-0.48 ( objects implementing various ) 325.52 444.05 P
3 F
-0.48 (traits) 471.52 444.05 P
4 F
-0.48 ( and ) 496.85 444.05 P
3 F
-0.48 (pr) 519.21 444.05 P
-0.48 (o-) 529.43 444.05 P
0.48 (totypes ) 71.42 430.05 P
4 F
0.48 (like cloning traits and dictionaries. These objects can be used \050or changed\051 to implement) 108.88 430.05 P
(your own programs.) 71.42 416.05 T
10 F
(3.2 The translation pr) 71.42 382.71 T
(ocess) 205.27 382.71 T
4 F
0.32 (S) 71.42 356.05 P
6 F
0.29 (ELF) 78.09 356.05 P
4 F
0.32 ( programs are translated to machine code in a two-stage process \050see Figure 2\051. Code typed) 97.63 356.05 P
0.25 (in at the prompt or read in from a \336le is parsed into S) 71.42 342.05 P
6 F
0.23 (ELF) 329.58 342.05 P
4 F
0.25 ( objects. Some of these objects are data) 349.11 342.05 P
1.21 (objects; others are methods. Methods have their own behavior which they represent with ) 71.42 328.05 P
3 F
1.21 (byte-) 515.45 328.05 P
0.38 (codes) 71.42 314.05 P
4 F
0.38 (. The bytecodes are the instructions for a very simple virtual processor that understands in-) 98.73 314.05 P
1.47 (structions like \322push receiver\323 or \322send the \324x\325 message.\323 In fact, S) 71.42 300.05 P
6 F
1.35 (ELF) 409.7 300.05 P
4 F
1.47 ( bytecodes correspond) 429.23 300.05 P
-0.45 (much more closely to source code than, say) 71.42 286.05 P
-0.45 (, Smalltalk-80 bytecodes. \050See [CUL89] for a list of the) 276.67 286.05 P
0.39 (S) 71.42 272.05 P
6 F
0.36 (ELF) 78.09 272.05 P
4 F
0.39 ( byte codes.\051 The ) 97.63 272.05 P
3 F
0.39 (raison d\325\220tr) 184.78 272.05 P
0.39 (e) 241.7 272.05 P
4 F
0.39 ( of the virtual machine is to pretend that these bytecodes are) 247.02 272.05 P
-0.15 (directly executed by the computer; the programmer can explore the S) 71.42 258.05 P
6 F
-0.13 (ELF) 402.37 258.05 P
4 F
-0.15 ( world down to the byte-) 421.9 258.05 P
-0.44 (code level, but no further) 71.42 244.05 P
-0.44 (. This pretense ensures that the behavior of a S) 189.9 244.05 P
6 F
-0.41 (ELF) 409.76 244.05 P
4 F
-0.44 ( program can be under-) 429.29 244.05 P
(stood by looking only at the S) 71.42 230.05 T
6 F
(ELF) 215.36 230.05 T
4 F
( source code.) 234.89 230.05 T
-0.21 (The second stage of translation is the actual ) 71.42 204.05 P
3 F
-0.21 (compilation) 282.26 204.05 P
4 F
-0.21 ( of the bytecodes to machine code) 339.57 204.05 P
-0.21 (. This is) 501.52 204.05 P
-0.09 (how the \322execution\323 of bytecodes is implemented\321it is totally invisible on the S) 71.42 190.05 P
6 F
-0.08 (ELF) 459.45 190.05 P
4 F
-0.09 ( level except) 478.99 190.05 P
-0.14 (for side ef) 71.42 176.05 P
-0.14 (fects like execution speed and memory usage. The compilation takes place the \336rst time) 119.55 176.05 P
-0.45 (a message is actually sent; thus, the \336rst execution of a program will be slower than subsequent ex-) 71.42 162.05 P
(ecutions.) 71.42 148.05 T
0 F
0.47 (Actually) 71.42 126.38 P
0.47 (, this explanation is not entirely accurate: the compiled method is specialized on the type of the receiver) 105.19 126.38 P
0.47 (. If) 527.3 126.38 P
0.58 (the same message is later sent to a receiver of dif) 71.42 114.38 P
0.58 (ferent type \050e.g. \337oat instead of integer\051, a new compilation takes) 272.99 114.38 P
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(U) 79.42 62.77 T
1 F
(NIX) 86.64 62.77 T
0 F
( is a trademark of A) 102.61 62.77 T
(T&T Bell Laboratories.) 181.15 62.77 T
71.42 55.44 539.42 716.11 C
132.17 508.05 478.67 586.11 C
132.17 508.05 478.67 586.11 R
7 X
0 K
V
233.42 509.68 377.42 524.46 R
V
2 F
0 X
(Figur) 236.72 516.46 T
(e 1) 265.15 516.46 T
(The S) 285.47 516.46 T
5 F
(ELF) 315.13 516.46 T
2 F
( system) 336.5 516.46 T
242.42 532 368.42 550 R
7 X
V
0.5 H
2 Z
0 X
N
14 F
(S) 258.86 537.36 T
15 F
(ELF) 265.52 537.36 T
14 F
( virtual machine) 282.01 537.36 T
242.42 550 368.42 568 R
7 X
V
0 X
N
(S) 280.52 555.36 T
15 F
(ELF) 287.19 555.36 T
14 F
( world) 303.67 555.36 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "4" 9
16 10 /Times-Italic FMDEFINEFONT
17 8 /Helvetica FMDEFINEFONT
18 7 /Helvetica FMDEFINEFONT
%%Page: "5" 9
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-5) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Overview of SELF) 463.37 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
0.59 (place. This technique is called ) 71.42 709.45 P
16 F
0.59 (customization) 197.6 709.45 P
0 F
0.59 (; see [CU89] for details. Also, the compiled methods are placed into a) 253.13 709.45 P
(cache from which they can be \337ushed for various reasons; therefore, they might be recompiled from time to time.) 71.42 697.45 T
0.56 (Don\325) 71.42 676.45 P
0.56 (t be misled by the term \322compiled method\323 if you are familiar with Smalltalk: in Smalltalk terminology it de-) 91.78 676.45 P
0.22 (notes a method in its bytecode form, but in) 71.42 664.45 P
1 F
0.19 ( ) 244.43 664.45 P
0 F
0.22 (S) 246.87 664.45 P
1 F
0.19 (ELF) 252.43 664.45 P
0 F
0.22 ( it denotes the native machine code form. In Smalltalk there is only) 268.41 664.45 P
0.19 (one compiled method per source method, but in S) 71.42 652.45 P
1 F
0.17 (ELF) 271.96 652.45 P
0 F
0.19 ( there may be several dif) 287.94 652.45 P
0.19 (ferent compiled methods for the same) 387.21 652.45 P
(source method \050because of customization\051.) 71.42 640.45 T
71.42 55.44 539.42 716.11 C
73.12 424.19 537.73 637.11 C
73.12 424.19 537.73 637.11 R
7 X
0 K
V
258.42 604.24 267.07 601.76 258.42 599.28 258.42 601.76 4 Y
0 X
V
173.32 601.76 259.42 601.76 2 L
0.5 H
2 Z
N
83.62 592.7 173.62 611.68 9.49 RR
7 X
V
0 X
N
178.82 442.05 430.82 455.44 R
7 X
V
2 F
0 X
(Figur) 192.03 447.44 T
(e 2) 220.46 447.44 T
(How S) 240.78 447.44 T
5 F
(ELF) 274.43 447.44 T
2 F
( pr) 295.8 447.44 T
(ograms ar) 310.58 447.44 T
(e compiled) 362.65 447.44 T
17 F
(S) 97.85 599.63 T
18 F
(ELF) 103.18 599.63 T
17 F
( Source Code) 116 599.63 T
(disk \336le) 118.04 584.15 T
(RunScript primitive) 187.14 593.56 T
84.04 555.46 174.04 574.44 9.49 RR
7 X
V
0 X
N
(S) 97.78 562.39 T
18 F
(ELF) 103.11 562.39 T
17 F
( Source Code) 115.93 562.39 T
(keyboard) 114.01 546.5 T
258.42 567.53 267.07 565.05 258.42 562.57 258.42 565.05 4 Y
V
173.32 565.05 259.42 565.05 2 L
N
267.07 560.58 351.88 609.69 R
N
(parser) 301.15 584.15 T
418.12 576.6 508.12 595.57 9.49 RR
7 X
V
0 X
N
(S) 441.64 583.52 T
18 F
(ELF) 446.97 583.52 T
17 F
( Objects) 459.79 583.52 T
(S) 446.3 568.04 T
18 F
(ELF) 451.63 568.04 T
17 F
( heap) 464.45 568.04 T
(when a method) 193.34 489.61 T
258.42 500.95 267.07 498.47 258.42 495.99 258.42 498.47 4 Y
V
186.72 498.47 259.42 498.47 2 L
N
267.07 480.23 351.88 515.95 R
N
(compiler) 297.38 496.11 T
387.87 500.47 396.52 497.99 387.87 495.51 387.87 497.99 4 Y
V
351.88 497.99 388.87 497.99 2 L
N
396.52 485.44 534.91 513.68 14.12 RR
7 X
V
0 X
N
(Compiled Method) 434.05 502.4 T
(Compiled method cache) 426.23 477.35 T
410.19 588.64 418.84 586.16 410.19 583.68 410.19 586.16 4 Y
V
351.88 586.16 411.19 586.16 2 L
N
75.12 485.39 186.72 513.62 14.12 RR
7 X
V
0 X
N
(S) 105.12 502.34 T
18 F
(ELF) 110.45 502.34 T
17 F
( Methods) 123.27 502.34 T
(S) 109.92 477.29 T
18 F
(ELF) 115.25 477.29 T
17 F
( heap) 128.07 477.29 T
(\050objects with bytecodes\051) 87.76 492.31 T
(is called) 206.24 472.55 T
135.9 522.55 133.15 514.01 130.95 522.71 133.43 522.63 4 Y
V
351.88 586.16 M
387.6 586.16 387.6 586.16 387.6 562.63 D
387.6 539.1 387.6 539.1 260.37 539.1 D
149.8 539.1 135.33 539.1 133.43 522.62 D
0 Z
N
(not in the cache) 192.45 481.08 T
(disk \336le) 118.04 584.15 T
(read-eval-print loop) 184.51 556.72 T
(parser) 301.15 584.15 T
(compiler) 297.38 496.11 T
(Compiled Method) 434.05 502.4 T
(\050machine code\051) 437.83 491.4 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "5" 10
18 11 /Courier-Bold FMDEFINEFONT
19 13 /Times-Bold FMDEFINEFONT
%%Page: "6" 10
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-6) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Installing SELF) 475.84 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(4 Installing S) 71.42 705.45 T
10 F
(ELF) 165.18 705.45 T
(4.1 Setting up the envir) 71.42 670.78 T
(onment) 213.43 670.78 T
4 F
-0.03 (After the \336les have been copied to your machine, perform these steps to make sure that S) 71.42 644.11 P
6 F
-0.03 (ELF) 498.26 644.11 P
4 F
-0.03 ( will) 517.79 644.11 P
(run properly on your machine:) 71.42 630.11 T
(1.) 71.42 610.11 T
0.51 (Set the U) 84.96 610.11 P
6 F
0.47 (NIX) 130.62 610.11 P
4 F
0.51 ( ) 150.14 610.11 P
6 F
0.47 (SELFDIR) 153.65 610.11 P
4 F
0.51 ( environment variable to the directory where the S) 198.21 610.11 P
6 F
0.47 (ELF) 443.43 610.11 P
4 F
0.51 ( source \336les are) 462.96 610.11 P
1.07 (stored \050e.g. \322) 84.96 596.11 P
12 F
2.35 (setenv SELFDIR /usr/myname/self) 149.04 596.11 P
4 F
1.07 (\323\051. This de\336nition should be put into) 358.09 596.11 P
0.26 (your \322.cshrc\323 \336le. If ) 84.96 582.11 P
6 F
0.24 (SELFDIR) 185.25 582.11 P
4 F
0.26 ( is unde\336ned, S) 229.81 582.11 P
6 F
0.24 (ELF) 304.56 582.11 P
4 F
0.26 ( will search the current directory when look-) 324.1 582.11 P
(ing for S) 84.96 568.11 T
6 F
(ELF) 126.94 568.11 T
4 F
( source \336les.) 146.47 568.11 T
(2.) 71.42 548.11 T
0.5 (Make sure that the directory where the S) 84.96 548.11 P
6 F
0.45 (ELF) 283.27 548.11 P
4 F
0.5 ( binaries are stored is in your search path. If it is) 302.81 548.11 P
1.86 (not, put the directory in your search path. If the path is set correctly) 84.96 534.11 P
1.86 (, the U) 431.72 534.11 P
6 F
1.7 (NIX) 467.74 534.11 P
4 F
1.86 ( command) 487.27 534.11 P
(\322) 84.96 520.11 T
12 F
(which Self) 90.29 520.11 T
4 F
(\323 should tell you where S) 156.2 520.11 T
6 F
(ELF) 277.79 520.11 T
4 F
( is installed.) 297.33 520.11 T
(3.) 71.42 500.11 T
(Make sure that your machine has been con\336gured with enough swap space:) 84.96 500.11 T
(\245) 84.96 480.11 T
(Check the size of your machine\325s swap space:) 98.42 480.11 T
12 F
(% ) 98.42 466.11 T
18 F
(pstat -s) 111.61 466.11 T
12 F
(30640k allocated + 11944k reserved = 42584k used, 47552k available) 98.42 452.11 T
4 F
1.6 (You should have at least 12000k of swap space available for ) 98.42 438.11 P
1.6 (S) 409.48 438.11 P
6 F
1.47 (ELF) 416.15 438.11 P
4 F
1.6 ( \050the example output) 435.68 438.11 P
1.46 (above shows 47552k available\051. If your machine does not have enough swap space, you) 98.42 424.11 P
(should add some as described next. Otherwise, you\325re done.) 98.42 410.11 T
(\245) 84.96 390.11 T
(To add swap space:) 98.42 390.11 T
(\245) 116.42 370.11 T
(Login as super user.) 125.42 370.11 T
(\245) 116.42 350.11 T
(Create a swap file of the desired size:) 125.42 350.11 T
12 F
(# ) 125.42 336.11 T
18 F
(mkfile 12m /mySwapFile) 138.61 336.11 T
4 F
0.67 (\050The example creates a 12MB file named \322/mySwapFile\323. Any name may be chosen) 125.42 322.11 P
(for the swap file.\051) 125.42 308.11 T
(\245) 116.42 288.11 T
(Edit /etc/fstab, adding the following line:) 125.42 288.11 T
12 F
(/mySwapFile swap swap rw,noquota 0 0) 125.42 274.11 T
4 F
(\050Assuming that your swap file is named /mySwapFile.\051) 125.42 260.11 T
(\245) 116.42 240.11 T
(Make the new swap file available to the system:) 125.42 240.11 T
12 F
(# ) 125.42 226.11 T
18 F
(swapon -a) 138.61 226.11 T
4 F
-0.18 (Details about the con\336guration \050especially about the amount of memory required by S) 71.42 200.11 P
6 F
-0.17 (ELF) 482.3 200.11 P
4 F
-0.18 (\051 can be) 501.83 200.11 P
-0.19 (found in Appendix D. The default values will probably work reasonably well so you don\325) 71.42 186.11 P
-0.19 (t have to) 498.51 186.11 P
0.14 (worry about these details right now) 71.42 172.11 P
0.14 (, but we recommend that you read the appendix at a later time) 240.92 172.11 P
(to determine the best con\336guration for your system.) 71.42 158.11 T
10 F
(4.2 The primeval world of S) 71.42 124.78 T
19 F
(ELF) 241.28 124.78 T
10 F
( objects) 266.53 124.78 T
4 F
0.16 (Y) 71.42 98.11 P
0.16 (ou are now ready to run S) 78.88 98.11 P
6 F
0.15 (ELF) 203.76 98.11 P
4 F
0.16 (. This section will explain what you\325ll encounter when starting up) 222.34 98.11 P
(the \322bare\323 S) 71.42 84.11 T
6 F
(ELF) 130.04 84.11 T
4 F
( world) 149.57 84.11 T
0 F
(; ) 180.55 84.11 T
4 F
(the next section will tell you how to create the ) 185.83 84.11 T
3 F
(default world) 410.34 84.11 T
4 F
(. ) 474.65 84.11 T
FMENDPAGE
%%EndPage: "6" 11
%%Page: "7" 11
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-7) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Installing SELF) 475.84 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.44 (Upon entering S) 71.42 708.11 P
6 F
0.41 (ELF) 150.93 708.11 P
4 F
0.44 ( you are greeted by the prompt, indicating that the system is ready to accept) 170.46 708.11 P
(input:) 71.42 694.11 T
12 F
(% ) 93.02 674.78 T
18 F
(Self) 106.21 674.78 T
12 F
(Self Virtual Machine Version 1.1, Jan 23 1991 13:13:31) 93.02 661.78 T
(Copyright 1991: The Self Group) 93.02 648.78 T
(David Ungar, Craig Chambers, Bay-Wei Chang, and Urs Hoelzle) 93.02 635.78 T
(Stanford University, Stanford, CA) 93.02 622.78 T
(\050Type _Help for help\051) 93.02 596.78 T
(>) 93.02 570.78 T
4 F
-0.47 (Y) 71.42 545.11 P
-0.47 (ou can now enter a S) 78.88 545.11 P
6 F
-0.43 (ELF) 176.78 545.11 P
4 F
-0.47 ( expression. This expression will be evaluated in the context of an object) 196.32 545.11 P
0.04 (called the ) 71.42 531.11 P
3 F
0.04 (lobby) 120.8 531.11 P
4 F
0.04 ( \050sometimes called the ) 147.45 531.11 P
3 F
0.04 (r) 258.21 531.11 P
0.04 (oot) 262.43 531.11 P
4 F
0.04 (\051) 277.76 531.11 P
0.04 (, i.e., as if it were a method invoked with the lobby as) 281.75 531.11 P
(the receiver) 71.42 517.11 T
(.) 127.04 517.11 T
0 F
(\240) 130.04 521.91 T
4 F
( S) 135.03 517.11 T
6 F
(ELF) 144.7 517.11 T
4 F
( will evaluate the expression and print the result. ) 164.23 517.11 T
0.07 (The system has only a very few prede\336ned objects, namely the ones that are absolutely necessary) 71.42 491.11 P
0.14 (for bootstrapping the system \050like ) 71.42 477.11 P
12 F
0.3 (true) 237.01 477.11 P
4 F
0.14 ( and the prototypical string; see Appendix B\051. Thus, even) 263.37 477.11 P
(basic methods like integer \322+\323 are not de\336ned:) 71.42 463.11 T
12 F
(> ) 93.02 437.78 T
18 F
(3 + 4) 106.21 437.78 T
12 F
(lookup failure: couldn\325t send undefinedSelector:Type:Delegatee:Met) 93.02 424.78 T
(hodHolder:Arguments: to 3.) 93.02 411.78 T
(#0: + = \050 | _ self* = 3. _ :arg1 = 4. | ... \051) 93.02 398.78 T
(#1 \050<stdin>:1\051: doIt = \050 | _ self* = lobby. | 3 + 4\051) 93.02 372.78 T
(#2 \050<predefined>:1\051: printIt = \050 | _ self* = lobby. | doIt _Print\051) 93.02 346.78 T
(>) 93.02 314.78 T
0 F
-0.08 (Ignore the details of the error message for the moment; they will be described in section I-5.4.3. Y) 71.42 293.45 P
-0.08 (ou only need to un-) 462.03 293.45 P
(derstand that the \322+\323 message wasn\325) 71.42 281.45 T
(t found because it is not de\336ned at this point.) 217.04 281.45 T
4 F
-0.04 (However) 71.42 256.11 P
-0.04 (, there are numerous primitives de\336ned by the system, such as ) 114.9 256.11 P
12 F
-0.09 (_IntAdd:) 415.22 256.11 P
4 F
-0.04 ( for integer ad-) 467.95 256.11 P
(dition:) 71.42 242.11 T
12 F
(> ) 93.02 216.78 T
18 F
(3 _IntAdd: 4) 106.21 216.78 T
12 F
(7: \050 | ^ parent* = <0>. | \051) 93.02 203.78 T
(> ) 93.02 184.78 T
4 F
-0.36 (Normally) 71.42 159.11 P
-0.36 (, you will not work with the system in its initial state; rather) 116.61 159.11 P
-0.36 (, you\325ll use more comfortable) 398.64 159.11 P
(worlds created with scripts and snapshots. The following section explains how to do this.) 71.42 145.11 T
71.42 91.44 539.42 111.53 C
71.42 99.43 203.4 99.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.09 (\240 ) 71.42 88.77 P
0 F
0.11 (The lobby object\325) 79.6 84.77 P
0.11 (s special status as the receiver of messages evaluated in the root context makes it desirable to put) 150.33 84.77 P
0.14 (the lobby in a central place in the S) 71.42 73.77 P
1 F
0.12 (ELF) 213.54 73.77 P
0 F
0.14 ( world inheritance graph, and in fact most objects of the default world inherit) 229.52 73.77 P
(from the lobby) 71.42 62.77 T
(. See the S) 130.18 62.77 T
1 F
(ELF) 172.38 62.77 T
0 F
( W) 188.36 62.77 T
(orld manual.) 199.49 62.77 T
FMENDPAGE
%%EndPage: "7" 12
%%Page: "8" 12
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-8) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Installing SELF) 475.84 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(4.3 Cr) 71.42 706.78 T
(eating the default world) 111.97 706.78 T
4 F
-0.05 (S) 71.42 680.11 P
6 F
-0.05 (ELF) 78.09 680.11 P
4 F
-0.05 ( comes with a set of objects \050a \322world\323\051 to use as a starting point for your explorations. Sub-) 97.63 680.11 P
(sequent examples will presume that you are using this world. T) 71.42 666.11 T
(o create the default world:) 374.05 666.11 T
(1.) 71.42 646.11 T
0.68 (Make sure that the SELFDIR environment variable is set correctly \050see section I-4.1\051, or that) 84.96 646.11 P
(your S) 84.96 632.11 T
6 F
(ELF) 116.61 632.11 T
4 F
( \336les are in the current directory) 136.14 632.11 T
(.) 289.24 632.11 T
(2.) 71.42 612.11 T
(Start S) 84.96 612.11 T
6 F
(ELF) 117.28 612.11 T
0 F
(:) 136.82 612.11 T
12 F
(% ) 93.02 586.78 T
18 F
(Self) 106.21 586.78 T
12 F
(Self Virtual Machine Version 1.1, Jan 23 1991 13:13:31) 93.02 573.78 T
(Copyright 1991: The Self Group) 93.02 560.78 T
(David Ungar, Craig Chambers, Bay-Wei Chang, and Urs Hoelzle) 93.02 547.78 T
(Stanford University, Stanford, CA) 93.02 534.78 T
(\050Type _Help for help\051) 93.02 508.78 T
(>) 93.02 482.78 T
4 F
(3.) 71.42 463.11 T
-0.3 (Read in the default world. This will take about a minute on a Sun-4. Y) 84.96 463.11 P
-0.3 (ou can keep track of what) 417.36 463.11 P
(\336les it is reading by \336rst typing in:) 84.96 449.11 T
12 F
(> ) 93.02 423.78 T
18 F
(_PrintScriptName: true) 106.21 423.78 T
12 F
(false <0>: \050 | ^ parent* = lobby. | \051) 93.02 410.78 T
0 F
(This line is printed by the system.) 395.42 410.78 T
12 F
(>) 93.02 391.78 T
4 F
0.25 (This instructs the system to print the name of each \336le read in by) 84.96 372.11 P
12 F
0.55 ( _RunScript) 399 372.11 P
4 F
0.25 (. Then read in) 472.06 372.11 P
(the world with) 84.96 358.11 T
12 F
(> ) 93.02 332.78 T
18 F
(\325all\325 _RunScript) 106.21 332.78 T
12 F
(reading all...) 93.02 319.78 T
(reading init...) 93.02 306.78 T
(reading defaults...) 93.02 293.78 T
0 F
(et cetera.) 323.42 293.78 T
4 F
-0.16 (Sending the primitive message ) 84.96 274.11 P
12 F
-0.35 (_RunScript) 234.91 274.11 P
4 F
-0.16 ( to the string ) 300.82 274.11 P
12 F
-0.35 (\325all\325) 363.49 274.11 P
4 F
-0.16 ( causes S) 396.45 274.11 P
6 F
-0.14 (ELF) 440.1 274.11 P
4 F
-0.16 ( to evaluate each) 459.64 274.11 P
0.27 (expression in the \336le \322all.self\323 without echoing the result of the expression \050see section I-5.5\051.) 84.96 260.11 P
0.56 (\322all.self\323 is simply a \336le of ) 84.96 246.11 P
12 F
1.23 (_RunScript) 220.55 246.11 P
4 F
0.56 ( messages sent to the names of each of the \336les that) 286.47 246.11 P
(create the objects of the default world.) 84.96 232.11 T
0.87 (\050If you did not tell the system to print the names of the \336les being read, the lines \322) 84.96 214.11 P
12 F
1.9 (reading) 493.28 214.11 P
(all...) 84.96 200.11 T
4 F
(\323, etc., will not be printed.\051) 124.51 200.11 T
(4.) 71.42 180.11 T
-0.17 ( Save the S) 84.96 180.11 P
6 F
-0.16 (ELF) 138.08 180.11 P
4 F
-0.17 ( objects in a snapshot \336le. This will create a \336le called \322Snapshot\323 in the current) 157.61 180.11 P
(directory) 84.96 166.11 T
(.) 127.48 166.11 T
12 F
(> ) 93.02 140.78 T
18 F
(\325Snapshot\325 _WriteSnapshot) 106.21 140.78 T
12 F
(\324Snapshot\324) 93.02 127.78 T
(>) 93.02 108.78 T
FMENDPAGE
%%EndPage: "8" 13
%%Page: "9" 13
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-9) 300.17 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Installing SELF) 475.84 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.23 (From now on, you can start S) 71.42 708.11 P
6 F
0.21 (ELF) 214.37 708.11 P
4 F
0.23 ( using the snapshot rather than starting the bare S) 233.9 708.11 P
6 F
0.21 (ELF) 472.12 708.11 P
4 F
0.23 (; just type) 491.65 708.11 P
-0.41 (\322Snapshot\323 instead of \322Self\323 at the U) 71.42 694.11 P
6 F
-0.37 (NIX) 247.52 694.11 P
4 F
-0.41 ( prompt. This will invoke S) 267.04 694.11 P
6 F
-0.37 (ELF) 396.94 694.11 P
4 F
-0.41 ( and automatically read in) 416.48 694.11 P
(the snapshot \336le \322Snapshot.\323) 71.42 680.11 T
-0.3 (If there were any problems during these steps, S) 71.42 654.11 P
6 F
-0.28 (ELF) 299.85 654.11 P
4 F
-0.3 ( probably hasn\325) 319.38 654.11 P
-0.3 (t been installed correctly) 393.18 654.11 P
-0.3 (. Con-) 509.74 654.11 P
(sult section I-4.1. ) 71.42 640.11 T
0 F
0.18 (Snapshots can be quite lar) 71.42 618.45 P
0.18 (ge \050several megabytes\051 depending on the size of your world. The default world consists of) 176.34 618.45 P
(about 2MBytes. ) 71.42 606.45 T
FMENDPAGE
%%EndPage: "9" 14
20 10 /Courier FMDEFINEFONT
%%Page: "10" 14
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-10) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(5 Using S) 71.42 705.45 T
10 F
(ELF) 139.4 705.45 T
4 F
-0.45 (This chapter presents the basic skills needed to operate in the S) 71.42 678.11 P
6 F
-0.41 (ELF) 369.3 678.11 P
4 F
-0.45 ( world \050the S) 388.84 678.11 P
6 F
-0.41 (ELF) 449.79 678.11 P
4 F
-0.45 ( W) 469.33 678.11 P
-0.45 (orld manual) 482.24 678.11 P
0.14 (describes the objects in the S) 71.42 664.11 P
6 F
0.13 (ELF) 211.04 664.11 P
4 F
0.14 ( world in more detail\051. W) 230.57 664.11 P
0.14 (e assume that you are familiar with the) 352.23 664.11 P
0.2 (language itself or at least have a rough knowledge of S) 71.42 650.11 P
6 F
0.19 (ELF) 336.58 650.11 P
4 F
0.2 (\325) 356.12 650.11 P
0.2 (s syntax and semantics \050see the S) 359.45 650.11 P
6 F
0.19 (ELF) 519.89 650.11 P
4 F
(Language Reference Manual\051.) 71.42 636.11 T
10 F
(5.1 Elementary skills) 71.42 602.78 T
2 F
1.4 (Starting S) 71.42 576.11 P
5 F
1.28 (ELF) 124.46 576.11 P
2 F
1.4 (.) 144.73 576.11 P
4 F
1.4 ( T) 147.73 576.11 P
1.4 (o start up S) 158.61 576.11 P
6 F
1.28 (ELF) 217.1 576.11 P
4 F
1.4 (, type \322Self\323 at the U) 235.68 576.11 P
6 F
1.28 (NIX) 343.24 576.11 P
4 F
1.4 ( prompt and read in the world with) 362.77 576.11 P
12 F
-0.34 (\325all\325) 71.42 562.11 P
4 F
-0.15 ( ) 104.38 562.11 P
12 F
-0.34 (_RunScript) 107.23 562.11 P
4 F
-0.15 (, as in section I-4.3; or simply start the snapshot created in an earlier session:) 173.15 562.11 P
12 F
(% ) 93.02 536.78 T
18 F
(Self) 106.21 536.78 T
12 F
(Self Virtual Machine Version 1.1, Jan 23 1991 13:13:31) 93.02 523.78 T
(Copyright 1991: The Self Group) 93.02 510.78 T
(David Ungar, Craig Chambers, Bay-Wei Chang, and Urs Hoelzle) 93.02 497.78 T
(Stanford University, Stanford, CA) 93.02 484.78 T
(\050Type _Help for help\051) 93.02 458.78 T
(> ) 93.02 432.78 T
18 F
(\325Snapshot\325 _ReadSnapshot) 106.21 432.78 T
12 F
(>) 93.02 413.78 T
4 F
0.41 (Starting a snapshot from the U) 71.42 388.11 P
6 F
0.37 (NIX) 220.37 388.11 P
4 F
0.41 ( prompt is equivalent to starting S) 239.9 388.11 P
6 F
0.37 (ELF) 404.93 388.11 P
4 F
0.41 ( and then reading in the) 424.46 388.11 P
(snapshot with ) 71.42 374.11 T
12 F
(_ReadSnapshot) 140.72 374.11 T
4 F
(.) 226.41 374.11 T
12 F
(% ) 93.02 348.78 T
18 F
(Snapshot) 106.21 348.78 T
12 F
(Self Virtual Machine Version 1.1, Jan 23 1991 13:13:31) 93.02 335.78 T
(Copyright 1991: The Self Group) 93.02 322.78 T
(David Ungar, Craig Chambers, Bay-Wei Chang, and Urs Hoelzle) 93.02 309.78 T
(Stanford University, Stanford, CA) 93.02 296.78 T
(\050Type _Help for help\051) 93.02 270.78 T
(>) 93.02 244.78 T
0 F
2.08 (When S) 71.42 223.45 P
1 F
1.87 (ELF) 105.43 223.45 P
0 F
2.08 ( is started, it looks for the script \336le \322startup.self\323 in the S) 121.4 223.45 P
1 F
1.87 (ELF) 376.77 223.45 P
0 F
2.08 ( directory \050scripts are discussed in) 392.74 223.45 P
-0.13 (section I-5.5\051. If it exists, the startup script is read in just before displaying the prompt \050after the snapshot is read in, if) 71.42 211.45 P
0.05 (S) 71.42 199.45 P
1 F
0.05 (ELF) 76.98 199.45 P
0 F
0.05 ( was invoked by starting a snapshot\051. The startup script is useful for setting favorite options and de\336ning abbre-) 92.96 199.45 P
(viations for common messages. Appendix C contains an example startup script.) 71.42 187.45 T
2 F
0.08 (Snapshots.) 71.42 162.11 P
4 F
0.08 ( Snapshots are used to save your work and restart from where you left of) 126.41 162.11 P
0.08 (f. A snapshot) 475.65 162.11 P
0.49 (captures the state of the object world \050i.e. all objects and methods, but not the process state\051 and) 71.42 148.11 P
(writes it to a \336le. A snapshot is created with the ) 71.42 134.11 T
12 F
(_WriteSnapshot) 302.61 134.11 T
4 F
( primitive:) 394.89 134.11 T
12 F
(> ) 93.02 108.78 T
18 F
(\325mySnapshot\325 _WriteSnapshot) 106.21 108.78 T
20 F
( ) 284.19 108.78 T
0 F
(Creates a snapshot file called \324\324mySnapshot\325\325) 323.42 108.78 T
12 F
(\324mySnapshot\324) 93.02 95.78 T
(>) 93.02 76.78 T
FMENDPAGE
%%EndPage: "10" 15
%%Page: "11" 15
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-11) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.32 (A snapshot may be read with the ) 71.42 708.11 P
12 F
-0.69 (_ReadSnapshot) 229.43 708.11 P
4 F
-0.32 ( primitive. The current world will be complete-) 315.13 708.11 P
(ly overwritten by the world read from the snapshot.) 71.42 694.11 T
0 F
0.28 (Reading and writing snapshots trigger the system to send certain messages before and after the action. For example,) 71.42 672.45 P
0.39 (the VM sends the message ) 71.42 660.45 P
20 F
0.94 (snapshotAction preWrite) 182.48 660.45 P
0 F
0.39 ( to the lobby before writing a snapshot, and in the de-) 321.35 660.45 P
0.1 (fault world that message \336nds the slot ) 71.42 648.45 P
20 F
0.24 (preWrite) 226.2 648.45 P
0 F
0.1 ( containing a method that performs a garbage collection in memo-) 274.17 648.45 P
(ry) 71.42 636.45 T
(. See section I-5.8 for a full description of the messages that the system automatically sends on certain actions.) 79.1 636.45 T
2 F
-0.56 (Quitting S) 71.42 611.11 P
5 F
-0.52 (ELF) 123.85 611.11 P
2 F
-0.56 (.) 144.11 611.11 P
4 F
-0.56 ( Leave S) 147.11 611.11 P
6 F
-0.52 (ELF) 187.94 611.11 P
4 F
-0.56 ( by typing ) 207.48 611.11 P
12 F
-1.24 (_Quit) 257.42 611.11 P
4 F
-0.56 ( or by typing ) 290.38 611.11 P
12 F
-1.24 (^D) 352.75 611.11 P
4 F
-0.56 ( \050control-D\051 at the prompt. This does) 365.94 611.11 P
3 F
(not) 71.42 597.11 T
4 F
( save the world in a snapshot.) 86.75 597.11 T
10 F
(5.2 Entering S) 71.42 563.78 T
19 F
(ELF) 160.05 563.78 T
10 F
( expr) 185.31 563.78 T
(essions) 215.76 563.78 T
4 F
-0.11 (An arbitrary S) 71.42 537.11 P
6 F
-0.1 (ELF) 139.82 537.11 P
4 F
-0.11 ( ) 159.35 537.11 P
3 F
-0.11 (expr) 162.24 537.11 P
-0.11 (ession) 183.11 537.11 P
4 F
-0.11 ( can be entered at the S) 213.1 537.11 P
6 F
-0.1 (ELF) 323.68 537.11 P
4 F
-0.11 ( prompt. The expression is evaluated and) 343.22 537.11 P
(the result is printed \050like in the Lisp read-eval-print loop\051. ) 71.42 523.11 T
0 F
0.16 (The exact sequence of events is as follows: an expression is read from the standard input. The input is treated as if it) 71.42 501.45 P
0.22 (were an expression in the body of the ) 71.42 489.45 P
20 F
0.53 (doIt) 225.31 489.45 P
0 F
0.22 ( slot of the lobby) 249.3 489.45 P
0.22 (. If the input is syntactically correct, the system installs) 317.28 489.45 P
0.04 (the generated bytecodes as the ) 71.42 477.45 P
20 F
0.09 (doIt) 195.67 477.45 P
0 F
0.04 ( method and sends ) 219.66 477.45 P
20 F
0.09 (printIt) 296.42 477.45 P
0 F
0.04 ( to the lobby) 338.4 477.45 P
0.04 (. ) 388.11 477.45 P
20 F
0.09 (printIt) 393.15 477.45 P
0 F
0.04 ( is a SELF method \050modi-) 435.13 477.45 P
(\336able by the user\051 which calls ) 71.42 465.45 T
20 F
(doIt) 193.56 465.45 T
0 F
( and then prints the result \050see section I-5.3.2\051.) 217.54 465.45 T
4 F
(The following examples illustrate legal and illegal entries at the S) 71.42 440.11 T
6 F
(ELF) 386.55 440.11 T
4 F
( prompt:) 406.08 440.11 T
12 F
(% ) 93.02 414.78 T
18 F
(Snapshot) 106.21 414.78 T
12 F
(Self Virtual Machine Version 1.1, Jan 23 1991 13:13:31) 93.02 401.78 T
(Copyright 1991: The Self Group) 93.02 388.78 T
(David Ungar, Craig Chambers, Bay-Wei Chang, and Urs Hoelzle) 93.02 375.78 T
(Stanford University, Stanford, CA) 93.02 362.78 T
(\050Type _Help for help\051) 93.02 336.78 T
(> ) 93.02 310.78 T
18 F
(3 + 4) 106.21 310.78 T
12 F
(7) 93.02 297.78 T
0 F
(The system reads the expression, evaluates it and prints the result.) 251.42 297.78 T
12 F
(> ) 93.02 278.78 T
18 F
(10 factorial) 106.21 278.78 T
12 F
(3628800) 93.02 265.78 T
(> ) 93.02 246.78 T
18 F
(10 do: [| :i | i print. \325 \325 print]) 106.21 246.78 T
12 F
(0 1 2 3 4 5 6 7 8 9 nil) 93.02 233.78 T
(>) 93.02 214.78 T
4 F
0.06 (In the last example, ) 71.42 189.11 P
12 F
0.13 (nil) 168.59 189.11 P
4 F
0.06 ( is the result of the ) 188.37 189.11 P
12 F
0.13 (do:) 280.67 189.11 P
4 F
0.06 ( method and is printed by the read-eval-print loop) 300.44 189.11 P
(\050) 71.42 175.11 T
12 F
(printIt) 75.42 175.11 T
4 F
(\051.) 121.56 175.11 T
12 F
(> ) 93.02 149.78 T
18 F
(\325hello\325 print. \325 world\325 printLine) 106.21 149.78 T
12 F
(^) 197.42 136.78 T
(error: ) 93.02 123.78 T
(unexpected token on line 1, column 17) 143.42 123.78 T
( ) 93.02 110.78 T
( found a \325.\325 token) 143.42 110.78 T
( ) 93.02 97.78 T
( expecting the end of the expression) 143.42 97.78 T
(>) 93.02 78.78 T
FMENDPAGE
%%EndPage: "11" 16
21 12 /Courier-Bold FMDEFINEFONT
22 12 /Times-BoldItalic FMDEFINEFONT
%%Page: "12" 16
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-12) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.38 (Only a single expression is allowed\321not a statement sequence. Enclose statement lists in paren-) 71.42 708.11 P
(theses to do evaluate a statement sequence:) 71.42 694.11 T
12 F
(> ) 93.02 668.78 T
18 F
(\050\325hello\325 print. \325 world\325 printLine\051) 106.21 668.78 T
12 F
(hello world) 93.02 655.78 T
(\325 world\325) 93.02 642.78 T
(> ) 93.02 623.78 T
4 F
(The next example shows how to enter a multi-line expression: ) 71.42 598.11 T
12 F
(> ) 93.02 573.45 T
18 F
(4 do: [ | :i |) 106.21 573.45 T
(\050i printString, \325! = \325, i factorial printString\051 printLine ]) 143.42 561.45 T
12 F
(0! = 1) 93.02 549.45 T
(1! = 1) 93.02 537.45 T
(2! = 2) 93.02 525.45 T
(3! = 6) 93.02 513.45 T
20 F
(nil) 93.02 501.45 T
12 F
(>) 93.02 482.78 T
20 F
( ) 99.62 482.78 T
4 F
-0.25 (Multi-line expressions need to have open \050unbalanced\051 parentheses or brackets \050in this case a \324) 71.42 457.11 P
12 F
-0.56 ([) 521.51 457.11 P
4 F
-0.25 (\325\051;) 528.1 457.11 P
-0.29 (when all parentheses are matched at the end of a line, the parser considers the input to be complete) 71.42 443.11 P
0.67 (and evaluates it. The same convention applies to multi-line expressions in scripts \050see section I-) 71.42 429.11 P
(5.5\051.) 71.42 415.11 T
10 F
(5.3 Printing objects) 71.42 381.78 T
4 F
0.75 (This section describes dif) 71.42 355.11 P
0.75 (ferent ways that objects can be examined by printing some textual de-) 195.72 355.11 P
0.11 (scription. These vary from very low-level descriptions to high-level and user) 71.42 341.11 P
0.11 (-modi\336able methods) 440.37 341.11 P
(for printing objects.) 71.42 327.11 T
2 F
(5.3.1 The ) 71.42 295.11 T
21 F
(_Print) 124.4 295.11 T
2 F
( primitive and object r) 167.57 295.11 T
(efer) 282.62 295.11 T
(ence numbers) 302.37 295.11 T
4 F
-0.02 (The) 71.42 269.11 P
12 F
-0.04 ( _Print) 90.07 269.11 P
4 F
-0.02 ( primitive is a low-level routine that prints out its receiver and returns ) 136.18 269.11 P
12 F
-0.04 (nil) 472.74 269.11 P
4 F
-0.02 ( as the re-) 492.52 269.11 P
0.47 (sult. The output always lists the slots of the receiver) 71.42 255.11 P
0.47 (, but may contain additional information de-) 324.38 255.11 P
(pending on the type of the receiver) 71.42 241.11 T
(.) 237.96 241.11 T
3 F
0.02 (Object r) 71.42 215.11 P
0.02 (efer) 110.63 215.11 P
0.02 (ence numbers) 128.84 215.11 P
4 F
0.02 ( are provided by t) 195.13 215.11 P
0.02 (he virtual machine as a way) 279.8 215.11 P
0.02 ( ) 413.43 215.11 P
0.02 (to refer to objects that are) 416.45 215.11 P
-0.35 (displayed by ) 71.42 201.11 P
12 F
-0.77 (_Print) 134.69 201.11 P
4 F
-0.35 ( and in stack dumps \050see section I-5.4.3\051. Reference numbers are assigned by) 174.24 201.11 P
-0.1 (the system: it keeps track of the last ) 71.42 187.11 P
3 F
-0.1 (n) 245.21 187.11 P
4 F
-0.1 ( objects assigned reference numbers, where ) 251.2 187.11 P
3 F
-0.1 (n) 462.1 187.11 P
4 F
-0.1 ( is a con\336gura-) 468.1 187.11 P
0.49 (tion parameter controlled by the ) 71.42 173.11 P
12 F
1.07 (_HistoryLength) 230.74 173.11 P
4 F
0.49 ( primitive \050the default is 1000; see section I-) 323.02 173.11 P
0.21 (5.7\051. As long as an object\325) 71.42 159.11 P
0.21 (s reference number is within the last ) 198.05 159.11 P
3 F
0.21 (n) 376.39 159.11 P
4 F
0.21 ( numbers assigned) 382.38 159.11 P
0.21 (, references to) 471.41 159.11 P
-0.04 (the object by the VM will use the same reference number) 71.42 145.11 P
-0.04 (. A reference to an object is displayed as) 345.53 145.11 P
(a number surrounded by angle brackets.) 71.42 131.11 T
2 F
-0.5 (Plain objects.) 71.42 105.11 P
22 F
-0.5 ( ) 139.55 105.11 P
4 F
-0.5 (Most objects respond to _) 142.05 105.11 P
12 F
-1.1 (Print) 263.98 105.11 P
4 F
-0.5 ( by printing their) 296.93 105.11 P
-0.5 ( reference number and ) 376.39 105.11 P
-0.5 (listing their) 484.95 105.11 P
-0.42 (slots. ) 71.42 91.11 P
12 F
-0.93 (_Print) 99 91.11 P
4 F
-0.42 ( is a \322shallow print\323: it does ) 138.55 91.11 P
3 F
-0.42 (not) 272.51 91.11 P
4 F
-0.42 ( follow references in the slots of its receiver and send) 287.84 91.11 P
12 F
(_Print) 71.42 77.11 T
4 F
( to those objects as well. Instead, the contents of a slot print out in its \322short form\323:) 110.97 77.11 T
FMENDPAGE
%%EndPage: "12" 17
%%Page: "13" 17
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-13) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(\245) 84.96 708.11 T
(its conventional form if it is an integer, a float, or a string,) 98.42 708.11 T
(\245) 84.96 688.11 T
(\324) 98.42 688.11 T
12 F
(true) 102.42 688.11 T
4 F
(\325, \324) 128.79 688.11 T
12 F
(false) 142.77 688.11 T
4 F
(\325, \324) 175.73 688.11 T
12 F
(nil) 189.71 688.11 T
4 F
(\325, or \324) 209.49 688.11 T
12 F
(lobby) 236.46 688.11 T
4 F
(\325 for the ) 269.42 688.11 T
12 F
(true) 311.05 688.11 T
4 F
(, ) 337.42 688.11 T
12 F
(false) 343.41 688.11 T
4 F
(, ) 376.37 688.11 T
12 F
(nil) 382.37 688.11 T
4 F
(, and ) 402.14 688.11 T
12 F
(lobby) 428.46 688.11 T
4 F
( objects,) 461.42 688.11 T
(\245) 84.96 668.11 T
(\324) 98.42 668.11 T
12 F
(<-) 102.42 668.11 T
4 F
(\325 if the slot contains the assignment primitive,) 115.6 668.11 T
(\245) 84.96 648.11 T
(\324) 98.42 648.11 T
12 F
(<a method>) 102.42 648.11 T
4 F
(\325 if the slot contains an object that has code, or) 168.34 648.11 T
(\245) 84.96 628.11 T
(the reference number of the referenced object otherwise.) 98.42 628.11 T
-0.06 (The slot list is printed in normal S) 71.42 602.11 P
6 F
-0.06 (ELF) 234.58 602.11 P
4 F
-0.06 ( syntax. A private slot name is preceded by \324) 254.12 602.11 P
12 F
-0.14 (_) 467.4 602.11 P
4 F
-0.06 (\325 and a public) 473.99 602.11 P
(slot by \324) 71.42 588.11 T
12 F
(^) 110.74 588.11 T
4 F
(\325. Asterisks following the slot name indicate parent slots.) 117.33 588.11 T
(For example, sending ) 71.42 562.11 T
12 F
(_Print) 178.02 562.11 T
4 F
( to ) 217.57 562.11 T
12 F
(3@4) 232.9 562.11 T
4 F
( gives:) 252.68 562.11 T
12 F
(> ) 93.02 536.78 T
18 F
(\0503 @ 4\051 _Print) 106.21 536.78 T
12 F
(<19>: \050 | _ parent* = <18>. _ thisObjectPrints = true. ^ x = 3. _ ) 93.02 523.78 T
(x: = <-. ^ y = 4. _ y: = <-. | \051) 93.02 510.78 T
(nil) 93.02 497.78 T
0 F
(The result of ) 323.42 497.78 T
20 F
(_Print) 376.99 497.78 T
0 F
( is ) 412.98 497.78 T
20 F
(nil; ) 424.64 497.78 T
0 F
(it is printed by) 454.62 497.78 T
( ) 323.42 484.78 T
(the read-eval-print loop. ) 333 484.78 T
12 F
(>) 93.02 465.78 T
0.64 (<19>) 71.42 440.11 P
4 F
0.29 ( refers to the object ) 97.79 440.11 P
12 F
0.64 (3@4) 194.84 440.11 P
4 F
0.29 (; its reference number is 19. Similarly) 214.62 440.11 P
0.29 (, the ) 397.14 440.11 P
12 F
0.64 (parent) 421.37 440.11 P
4 F
0.29 ( slot contains an) 460.92 440.11 P
0.94 (object with reference number 18. The slots ) 71.42 426.11 P
12 F
2.07 (thisObjectPrints) 286.53 426.11 P
4 F
0.94 (, ) 392 426.11 P
12 F
2.07 (x) 398.94 426.11 P
4 F
0.94 (, and ) 405.53 426.11 P
12 F
2.07 (y) 433.73 426.11 P
4 F
0.94 ( contain objects that) 440.32 426.11 P
0.47 (print out in their conventional forms: the boolean object true, and the integers 3 and 4. The slots) 71.42 412.11 P
12 F
(x:) 71.42 398.11 T
4 F
( and ) 84.61 398.11 T
12 F
(y:) 107.92 398.11 T
4 F
( contain the assignment primitive. ) 121.11 398.11 T
0.35 (A reference number for an object will be valid as long as fewer than ) 71.42 372.11 P
3 F
0.35 (n) 406.11 372.11 P
4 F
0.35 (-1) 412.11 372.11 P
0.35 ( other objects have been) 422.1 372.11 P
1.54 (assigned reference numbers after its \336rst appearance \050where ) 71.42 358.11 P
3 F
1.54 (n) 374.16 358.11 P
4 F
1.54 ( is the parameter determined by) 380.16 358.11 P
12 F
(_HistoryLength) 71.42 344.11 T
4 F
(\051. This permits continuity between printings of the same object:) 163.71 344.11 T
12 F
(> ) 93.02 318.78 T
18 F
(\0505 @ 7\051 _Print) 106.21 318.78 T
12 F
(<20>: \050 | _ parent* = <18>. _ thisObjectPrints = true. ^ x = 5. _ ) 93.02 305.78 T
(x: = <-. ^ y = 7. _ y: = <-. | \051) 93.02 292.78 T
(nil) 93.02 279.78 T
(>) 93.02 260.78 T
4 F
-0.3 (Both ) 71.42 235.11 P
12 F
-0.67 (3@4) 97.45 235.11 P
4 F
-0.3 ( and ) 117.22 235.11 P
12 F
-0.67 (5@7) 139.93 235.11 P
4 F
-0.3 ( share the same parent, and thus both ) 159.7 235.11 P
12 F
-0.67 (parent) 337.47 235.11 P
4 F
-0.3 ( slots indicate the same object, the) 377.02 235.11 P
0.01 (object with reference number 18 \050the point traits object\051. T) 71.42 221.11 P
0.01 (o look at this object, we follow the ref-) 352.47 221.11 P
(erence explicitly by converting it to an object using the ) 71.42 207.11 T
12 F
(_AsObject) 338.58 207.11 T
4 F
( primitive:) 397.9 207.11 T
12 F
(> ) 93.02 181.78 T
18 F
(18 _AsObject _Print) 106.21 181.78 T
12 F
(<18>: \050 | _ parent* = <21>. ^ printString = <a method>. ^ xAxis ) 93.02 168.78 T
(Reflect = <a method>. ^ yAxisReflect = <a method>. ^ restrictTo: = ) 93.02 155.78 T
(<a method>. ^ alignToGrid: = <a method>. ^ # = <a method>. ^ ## = ) 93.02 142.78 T
(<a method>. | \051) 93.02 129.78 T
(nil) 93.02 116.78 T
(>) 93.02 97.78 T
FMENDPAGE
%%EndPage: "13" 18
%%Page: "14" 18
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-14) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.37 (If the history length is 1000, this object will keep its reference number until the system assigns ref-) 71.42 708.11 P
0.52 (erence number 1018. At that point, 18 is no longer a valid object reference number \050because the) 71.42 694.11 P
0.42 (system is keeping only the last 1000 object references\051. The ) 71.42 680.11 P
12 F
0.92 (_AsObject) 365.73 680.11 P
4 F
0.42 ( primitive will fail if its) 425.05 680.11 P
(receiver is not a valid object reference.) 71.42 666.11 T
2 F
-0.06 (V) 71.42 640.11 P
-0.06 (ectors.) 78.98 640.11 P
4 F
-0.06 ( ) 112.61 640.11 P
-0.06 (Object vectors and byte vectors also display their array elements after their slots. The el-) 115.55 640.11 P
-0.03 (ements of the array are printed in the same manner as the contents of slots. The ) 71.42 626.11 P
12 F
-0.05 (_VectorPrint-) 453.73 626.11 P
(Limit) 71.42 612.11 T
4 F
( primitive controls how many elements of a vector are printed; the default is 20.) 104.38 612.11 T
12 F
(> ) 93.02 586.78 T
18 F
(someVector _Print) 106.21 586.78 T
12 F
(<49>: \050 | ^ parent* = <29>. | object array: {true, <50>, 2.45} \051) 93.02 573.78 T
(nil) 93.02 560.78 T
(>) 93.02 541.78 T
2 F
-0.42 (Integers and \337oats.) 71.42 516.11 P
4 F
-0.42 ( Integers and \337oats are not assigned history numbers since they can be directly) 168.19 516.11 P
0.99 (referred to so easily) 71.42 502.11 P
0.99 (. Consequently) 168.54 502.11 P
0.99 (, integers and \337oats print their value in place of their history) 240.71 502.11 P
(number when sent ) 71.42 488.11 T
12 F
(_Print) 162.36 488.11 T
4 F
(.) 201.91 488.11 T
12 F
(> ) 93.02 462.78 T
18 F
(1.3 _Print) 106.21 462.78 T
12 F
(1.3: \050 | ^ parent* = <0>. | \051) 93.02 449.78 T
0 F
(The output of ) 297 449.78 T
20 F
(_Print) 353.91 449.78 T
0 F
(.) 389.89 449.78 T
12 F
(nil) 93.02 436.78 T
(> ) 93.02 417.78 T
18 F
(16r2f _Print) 106.21 417.78 T
0 F
(A hexadecimal number \0502F radix 16\051.) 297 417.78 T
12 F
(47: \050 | ^ parent* = <1>. | \051) 93.02 404.78 T
0 F
(Integers always ) 297 404.78 T
20 F
(_Print) 361.94 404.78 T
0 F
( in decimal.) 397.92 404.78 T
12 F
(nil) 93.02 391.78 T
2 F
-0.11 (Strings, special objects, pr) 71.42 366.11 P
-0.11 (ocesses, and mirr) 205.14 366.11 P
-0.11 (ors.) 292.98 366.11 P
4 F
-0.11 ( Strings and the ) 311.96 366.11 P
12 F
-0.24 (true) 389.49 366.11 P
4 F
-0.11 (, ) 415.86 366.11 P
12 F
-0.24 (false) 421.74 366.11 P
4 F
-0.11 (, ) 454.7 366.11 P
12 F
-0.24 (nil) 460.59 366.11 P
4 F
-0.11 (, and ) 480.37 366.11 P
12 F
-0.24 (lobby) 506.46 366.11 P
4 F
0.28 (objects) 71.42 352.11 P
0.28 ( print their conventional form before their reference number and slot lists. Process objects) 105.4 352.11 P
1.04 (print the special keyword ) 71.42 338.11 P
12 F
2.28 (process) 200.15 338.11 P
4 F
1.04 ( before their reference number and slot lists. Mirror objects) 246.3 338.11 P
1.03 (\050see the S) 71.42 324.11 P
6 F
0.94 (ELF) 120.11 324.11 P
4 F
1.03 ( W) 139.64 324.11 P
1.03 (orld manual\051 print the short form of their re\337ectee in addition to the reference) 154.03 324.11 P
(number and slots of the mirror) 71.42 310.11 T
(.) 217 310.11 T
12 F
(> ) 93.02 290.78 T
18 F
(\325tree\325 _Print) 106.21 290.78 T
12 F
(\325tree\325 <2>: \050 | ^ parent* = <3>. | byte array: {116, 114, 101, ) 93.02 277.78 T
(101} \051) 93.02 264.78 T
0 F
(Strings are surrounded by single quotes.) 323.42 264.78 T
12 F
(nil) 93.02 251.78 T
(> ) 93.02 232.78 T
18 F
(true _Print) 106.21 232.78 T
12 F
(true <4>: \050 | _ parent* = <5>. _ thisObjectPrints = true. ^ ) 93.02 219.78 T
(printString = \324true\325. ^ ifTrue:False: = <a method>. ^ || = <a ) 93.02 206.78 T
(method>. ^ && = <a method>. ^ ^^ = <a method>. ^ not = false. | \051) 93.02 193.78 T
(nil) 93.02 180.78 T
(> ) 93.02 161.78 T
18 F
(_ThisProcess _Print) 106.21 161.78 T
20 F
(_ThisProcess) 323.42 161.78 T
0 F
( returns the current process object) 395.39 161.78 T
12 F
(process <6>: \050 | ^ parent* = <7>. ^ queue = <8>. ^ queue: = <-. | \051) 93.02 148.78 T
(nil) 93.02 135.78 T
(> ) 93.02 110.78 T
18 F
(\050reflect: 2@3\051 _Print) 106.21 110.78 T
0 F
(This creates a mirror on ) 323.42 110.78 T
20 F
(2@3) 421.4 110.78 T
0 F
( and sends ) 439.39 110.78 T
20 F
(_Print) 483.53 110.78 T
0 F
( to it) 519.51 110.78 T
12 F
(mirror <reflectee = <67>> <68>: \050 | ^ parent* = <48>. _ thisObjec ) 93.02 97.78 T
(tPrints = true. | \051) 93.02 84.78 T
(nil) 93.02 71.78 T
FMENDPAGE
%%EndPage: "14" 19
%%Page: "15" 19
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-15) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
12 F
0 X
(>) 93.02 708.78 T
2 F
(5.3.2 Printing in the default world) 71.42 677.11 T
4 F
-0.34 (This subsection brie\337y discusses ways that objects print in the default world. For more detailed in-) 71.42 651.11 P
(formation, see the S) 71.42 637.11 T
6 F
(ELF) 167.36 637.11 T
4 F
( W) 186.89 637.11 T
(orld manual.) 200.25 637.11 T
2 F
0.45 (Object-speci\336c printing. ) 71.42 611.11 P
4 F
0.45 (Objects may understand messages that cause them to print themselves) 199.25 611.11 P
-0.07 (in object-speci\336c manners. The convention in the default world is for such methods to be invoked) 71.42 597.11 P
(upon sending ) 71.42 583.11 T
12 F
(print) 138.72 583.11 T
4 F
( to the object.) 171.68 583.11 T
12 F
(> ) 93.02 557.78 T
18 F
(\0503 @ 4\051 print) 106.21 557.78 T
12 F
(3@43@4) 93.02 544.78 T
0 F
(The first ) 251.42 544.78 T
20 F
(3@4) 288.06 544.78 T
0 F
( is the output of the message send; the second ) 306.05 544.78 T
20 F
(3@4) 490.93 544.78 T
0 F
(is the result printed by the read-eval-print loop \050) 251.42 531.78 T
20 F
(printIt) 443.51 531.78 T
0 F
(\051.) 485.48 531.78 T
12 F
(> ) 93.02 512.78 T
18 F
(\0503 @ 4\051 printLine) 106.21 512.78 T
12 F
(3@4) 93.02 499.78 T
(3@4) 93.02 486.78 T
(>) 93.02 467.78 T
4 F
0.48 (The default world uses the name ) 71.42 442.11 P
12 F
1.05 (printString) 233.51 442.11 P
4 F
0.48 ( \050and variants of ) 306.02 442.11 P
12 F
1.05 (printString) 389.21 442.11 P
4 F
0.48 (\051 as the conven-) 461.72 442.11 P
(tion for methods that return an object-speci\336c string. ) 71.42 428.11 T
2 F
-0.44 (The r) 71.42 402.11 P
-0.44 (ead-eval-print loop. ) 99.08 402.11 P
4 F
-0.44 (As mentioned in section I-5.2, S) 201.8 402.11 P
6 F
-0.41 (ELF) 354.49 402.11 P
4 F
-0.44 ( sends ) 374.02 402.11 P
12 F
-0.98 (printIt) 405.78 402.11 P
4 F
-0.44 ( to the lobby when) 451.92 402.11 P
0.39 (an expression is typed at the prompt, after \336rst installing the expression into the ) 71.42 388.11 P
12 F
0.85 (doIt) 461.59 388.11 P
4 F
0.39 ( slot in the) 487.95 388.11 P
0.66 (lobby) 71.42 374.11 P
0.66 (. ) 97.96 374.11 P
12 F
1.46 (printIt) 104.63 374.11 P
4 F
0.66 ( in the bare world \050before the default world objects are read in\051 is prede\336ned to) 150.77 374.11 P
0.3 (perform ) 71.42 360.11 P
12 F
0.65 (doIt) 113.35 360.11 P
4 F
0.3 ( and then send ) 139.72 360.11 P
12 F
0.65 (_Print) 212.86 360.11 P
4 F
0.3 ( to the result. So in the bare world the following can be ob-) 252.41 360.11 P
(served:) 71.42 346.11 T
12 F
(> ) 93.02 320.78 T
18 F
(14 _Print) 106.21 320.78 T
12 F
(14: \050 | ^ parent* = <0>. | \051) 93.02 307.78 T
0 F
(The output generated by ) 333 307.78 T
20 F
(_Print) 432.92 307.78 T
12 F
(.) 468.9 307.78 T
(nil <1>: \050 | ^ parent* = lobby. | \051) 93.02 294.78 T
0 F
(The result of ) 333 294.78 T
20 F
(_Print ) 386.57 294.78 T
0 F
(is printed by the ) 428.55 294.78 T
(read-eval-print loop by sending) 342 281.78 T
20 F
( _Print) 467.74 281.78 T
0 F
(.) 509.72 281.78 T
12 F
(>) 93.02 262.78 T
4 F
-0.14 (The default world replaces the prede\336ned ) 71.42 237.11 P
12 F
-0.32 (printIt) 273.05 237.11 P
4 F
-0.14 ( with a method that attempts to print the result) 319.19 237.11 P
-0.41 (of ) 71.42 223.11 P
12 F
-0.89 (doIt) 84.01 223.11 P
4 F
-0.41 ( in an intelligent manner) 110.37 223.11 P
-0.41 (. It does this by invoking the ) 225.35 223.11 P
3 F
-0.41 (name infer) 362.42 223.11 P
-0.41 (encer) 413.21 223.11 P
4 F
-0.41 (, a S) 439.84 223.11 P
6 F
-0.37 (ELF) 460.02 223.11 P
4 F
-0.41 (-level mech-) 479.55 223.11 P
-0.09 (anism that asks objects to print themselves if they know how, or tries to infer a name based on the) 71.42 209.11 P
0.65 (object\325s location in the world otherwise. \050The inferred name uses the ) 71.42 195.11 P
3 F
0.65 (path cache) 411.69 195.11 P
4 F
0.65 (, a S) 464.63 195.11 P
6 F
0.6 (ELF) 486.93 195.11 P
4 F
0.65 ( object) 506.46 195.11 P
0.08 (that caches paths from the lobby to objects in the world; see section II-1.3 for more details.\051 Here) 71.42 181.11 P
(are some examples illustrating the read-eval-print loop in the default world:) 71.42 167.11 T
12 F
(> ) 93.02 141.78 T
18 F
(14 _Print) 106.21 141.78 T
12 F
(14: \050 | ^ parent* = <0>. | \051) 93.02 128.78 T
(nil) 93.02 115.78 T
0 F
(The read-eval-print loop now gives a \322nicer\323 output.) 324 115.78 T
FMENDPAGE
%%EndPage: "15" 20
%%Page: "16" 20
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-16) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
12 F
0 X
(> ) 93.02 708.78 T
18 F
(\0503 @ 4\051 _Print) 106.21 708.78 T
12 F
(<29>: \050 | _ parent* = <18>. _ thisObjectPrints = true. ^ x = 3. _ ) 93.02 695.78 T
(x: = <-. ^ y = 4. _ y: = <-. | \051) 93.02 682.78 T
(nil) 93.02 669.78 T
(> ) 93.02 650.78 T
18 F
(3 @ 4) 106.21 650.78 T
12 F
(3@4) 93.02 637.78 T
0 F
(The ) 323.42 637.78 T
20 F
(printString) 341.46 637.78 T
0 F
( method for points is invoked.) 407.43 637.78 T
12 F
(> ) 93.02 618.78 T
18 F
(18 _AsObject) 106.21 618.78 T
12 F
(traits point) 93.02 605.78 T
0 F
(A name is inferred for this object.) 323.42 605.78 T
12 F
(>) 93.02 586.78 T
2 F
-0.55 (Inspecting objects. ) 71.42 561.11 P
4 F
-0.55 (The ) 168.61 561.11 P
12 F
-1.2 (inspect:) 189.71 561.11 P
4 F
-0.55 ( method, de\336ned in the default world, uses the name inferencer) 242.44 561.11 P
0 (to print the contents of each slot in its ar) 71.42 547.11 P
0 (gument. ) 264.12 547.11 P
12 F
0.01 (inspect:) 306.1 547.11 P
4 F
0 ( also prints the de\336nitions of methods) 358.83 547.11 P
(contained in slots of the inspected object.) 71.42 533.11 T
12 F
(> ) 93.02 507.78 T
18 F
(inspect: 3@4) 106.21 507.78 T
12 F
(\050 |) 93.02 494.78 T
(_ parent* = traits point.) 119.42 494.78 T
(_ thisObjectPrints = true.) 119.42 481.78 T
(^_ x <- 3.) 119.42 468.78 T
(^_ y <- 4. | \051) 119.42 455.78 T
(3@4) 93.02 442.78 T
0 F
(The result of ) 244.42 442.78 T
20 F
(inspect:) 297.99 442.78 T
0 F
(, printed by the read-eval-print loop.) 345.97 442.78 T
12 F
(> ) 93.02 417.78 T
18 F
(inspect: traits point) 106.21 417.78 T
12 F
(\050 |) 93.02 404.78 T
(_ parent* = traits pair.) 119.42 404.78 T
(^ printString = \050 x printString, \325@\325, y printString \051.) 119.42 391.78 T
(^ copyX: x Y: y = \050 \050clone x: x\051 y: y \051.) 119.42 378.78 T
(^ xAxisReflect = \050 copy y: y negate \051.) 119.42 365.78 T
(^ yAxisReflect = \050 copy x: x negate \051.) 119.42 352.78 T
(^ alignToGrid: s =) 119.42 339.78 T
(\050) 238.08 339.78 T
( ) 119.42 326.78 T
(\050\050x / s width \051 * s width \051 @) 144 326.78 T
( ) 93.02 313.78 T
(\050\050y / s height\051 * s height\051 \051.) 144 313.78 T
(^ # pt = \050 rectangle copy from: self To: pt \051. | \051) 119.42 300.78 T
(traits point) 93.02 287.78 T
0 F
(The result of ) 215.42 287.78 T
20 F
(inspect:) 268.99 287.78 T
0 F
(, printed by the read-eval-print loop.) 316.97 287.78 T
12 F
(>) 93.02 268.78 T
10 F
(5.4 Debugging) 71.42 235.78 T
4 F
0.31 (This section covers basic information on errors, stack dumps, and the rudimentary debugging fa-) 71.42 209.11 P
(cilities of the current S) 71.42 195.11 T
6 F
(ELF) 180.68 195.11 T
4 F
( system.) 200.22 195.11 T
2 F
(5.4.1 Err) 71.42 163.11 T
(ors) 119.84 163.11 T
4 F
-0.09 (T) 71.42 137.11 P
-0.09 (wo types of errors can occur during the execution of S) 77.91 137.11 P
6 F
-0.08 (ELF) 337.52 137.11 P
4 F
-0.09 ( programs. The \336rst category is ) 357.06 137.11 P
3 F
-0.09 (primi-) 509.44 137.11 P
-0.27 (tive failur) 71.42 123.11 P
-0.27 (es) 117.69 123.11 P
4 F
-0.27 (. Primitive failures occur when a primitive cannot perform the requested operation, for) 127.68 123.11 P
-0.04 (example, because of invalid ar) 71.42 109.11 P
-0.04 (guments. Appendix F describes how primitive failures are handled.) 217.27 109.11 P
0.67 (The second category is ) 71.42 83.11 P
3 F
0.67 (lookup err) 187.36 83.11 P
0.67 (ors) 237.89 83.11 P
4 F
0.67 (. For example, a message could be sent to an object which) 253.22 83.11 P
0.09 (doesn\325) 71.42 69.11 P
0.09 (t understand that particular message. In such a case, the system sends a message indicating) 103.18 69.11 P
FMENDPAGE
%%EndPage: "16" 21
%%Page: "17" 21
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-17) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.26 (the error situation to that object. For most objects \050which inherit from the lobby and the default er-) 71.42 708.11 P
0.8 (ror handling object\051 this will result in an error report and a stack dump to be displayed \050see the) 71.42 694.11 P
0.17 (S) 71.42 680.11 P
6 F
0.16 (ELF) 78.09 680.11 P
4 F
0.17 ( W) 97.63 680.11 P
0.17 (orld manual\051. However) 111.16 680.11 P
0.17 (, every object can handle these errors in its own way) 222.59 680.11 P
0.17 (. If the object) 474.97 680.11 P
0.07 (does not understand the lookup error) 71.42 666.11 P
0.07 (, the system will force a stack trace and return to the prompt.) 247.49 666.11 P
(A typical error situation is shown in section I-5.4.3. For details, see Appendix A.) 71.42 652.11 T
-0.1 (The system will display a stack trace and abort the program if it runs out of stack space \050too much) 71.42 626.11 P
1.22 (recursion\051 or if a block is invoked whose lexically-enclosing scope has already returned \050a so-) 71.42 612.11 P
-0.26 (called non-lifo block; see the S) 71.42 598.11 P
6 F
-0.24 (ELF) 219.02 598.11 P
4 F
-0.26 ( Language Reference Manual\051. Currently) 238.55 598.11 P
-0.26 (, these two errors can-) 434.23 598.11 P
(not be handled at the S) 71.42 584.11 T
6 F
(ELF) 181.02 584.11 T
4 F
( level.) 200.55 584.11 T
2 F
(5.4.2 Fatal err) 71.42 552.11 T
(ors) 146.82 552.11 T
4 F
-0.03 (If the VM detects a fatal error \050e.g. a built-in hard limit is exceeded, or an internal error occurs\051, a) 71.42 526.11 P
(short menu is displayed:) 71.42 512.11 T
12 F
(Internal error: signal 11 code 3 addr 4 pc 0x1ac768.) 93.02 486.78 T
(Do you want to:) 93.02 460.78 T
( 1\051 Quit Self) 93.02 447.78 T
( 2\051 Try to print the Self stack) 93.02 434.78 T
( 3\051 Try to return to the Self prompt) 93.02 421.78 T
( 4\051 Force a core dump) 93.02 408.78 T
(Your choice:) 93.02 395.78 T
4 F
0.12 (Attempting to print the S) 71.42 370.11 P
6 F
0.1 (ELF) 191.83 370.11 P
4 F
0.12 ( stack may provide more information about the problem but will not) 211.36 370.11 P
0.03 (work in all situations. Attempting to return to the S) 71.42 356.11 P
6 F
0.02 (ELF) 316.86 356.11 P
4 F
0.03 ( prompt will usually be successful, though) 336.39 356.11 P
0.09 (the system integrity may have been compromised if the memory system was corrupted as a result) 71.42 342.11 P
0.17 (of the fatal error \050the primitive ) 71.42 328.11 P
12 F
0.37 (_Verify) 222.31 328.11 P
4 F
0.17 ( can be used to verify VM integrity; see T) 268.45 328.11 P
0.17 (able 18 in Ap-) 469.97 328.11 P
(pendix F\051.) 71.42 314.11 T
(See section I-2.5 for information on where to send bug reports.) 71.42 288.11 T
2 F
(5.4.3 Stack dumps) 71.42 256.11 T
4 F
-0.28 (Since there is no debugger in the S) 71.42 230.11 P
6 F
-0.25 (ELF) 236.36 230.11 P
4 F
-0.28 ( system, the best thing to do when an error occurs is to print) 255.9 230.11 P
-0.31 (a stack trace. This is normally done explicitly \050e.g. in the S) 71.42 216.11 P
6 F
-0.28 (ELF) 350.54 216.11 P
4 F
-0.31 ( code handling lookup errors\051 using) 370.07 216.11 P
-0.29 (the ) 71.42 202.11 P
12 F
-0.64 (_PrintProcessStack) 88.79 202.11 P
4 F
-0.29 ( primitive, but in a few cases \050see Appendix A\051 the virtual machine it-) 207.44 202.11 P
(self prints the stack.) 71.42 188.11 T
-0.14 (Let\325) 71.42 162.11 P
-0.14 (s provoke a lookup error by sending ) 90.75 162.11 P
12 F
-0.3 (glmpf) 266 162.11 P
4 F
-0.14 ( to the lobby \050in the default world, ) 298.96 162.11 P
12 F
-0.3 (glmpf) 465.43 162.11 P
4 F
-0.14 ( is unde-) 498.39 162.11 P
(\336ned\051. This will produce the following:) 71.42 148.11 T
12 F
(> ) 93.02 122.78 T
18 F
(glmpf) 106.21 122.78 T
12 F
(Message not understood) 93.02 103.78 T
(#0 \050process:24\051: stackTrace = \050 | _ self* = <10>. | ) 93.02 84.78 T
(_PrintProcessStack \051) 93.02 71.78 T
FMENDPAGE
%%EndPage: "17" 22
%%Page: "18" 22
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-18) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(\050some lines omitted here for brevity\051) 93.02 708.78 T
12 F
(#5 glmpf = \050 | _ self* = lobby. | ... \051) 93.02 689.78 T
(#6 \050<stdin>:1\051: doIt = \050 | _ self* = lobby. | glmpf\051) 93.02 670.78 T
(#7 \050printIt:8\051: \050...\051 = \050 reflect: doIt\051) 93.02 651.78 T
(#8 \050printIt:8\051: printIt = \050 | _ self* = lobby. | \050reflect: doIt\051 ) 93.02 632.78 T
(name printLine. self \051) 93.02 619.78 T
(Message not understood) 93.02 600.78 T
(Message type: implicitSelf) 179.42 587.78 T
(Receiver: <14>: lobby) 179.42 574.78 T
(Selector: \324glmpf\324) 179.42 561.78 T
(MethodHolder: <14>: lobby) 179.42 548.78 T
(>) 93.02 529.78 T
0 F
0.18 (If you try this on your system, you should get something very similar to the above except for some lines which have) 71.42 508.45 P
(been omitted here. The last ten lines or so should look the same, except for the actual reference numbers.) 71.42 496.45 T
4 F
-0.11 (The lines of frame ) 71.42 471.11 P
12 F
-0.25 (#8) 162.23 471.11 P
4 F
-0.11 ( represent the top-level activation record \050the one called by the system\051. The) 175.41 471.11 P
(individual parts of that line are:) 71.42 457.11 T
(\245) 71.42 437.11 T
12 F
(#8) 84.96 437.11 T
4 F
3.12 (the number of the frame. ) 143.42 437.11 P
12 F
6.87 (#0) 280.95 437.11 P
4 F
3.12 ( is the youngest frame, i.e. the one that called) 294.13 437.11 P
12 F
0.71 (_PrintProcessStack) 143.42 423.11 P
4 F
0.32 (; its frame is the first frame printed. The frames are num-) 262.08 423.11 P
-0.17 (bered for convenience; the number of the last frame indicates the stack depth at the) 143.42 409.11 P
(time of the error. ) 143.42 395.11 T
(\245) 71.42 375.11 T
12 F
(\050printIt:8\051) 84.96 375.11 T
4 F
0.09 (The file name and line number of the source file where this method is defined \050the) 143.42 361.11 P
0.94 (method in our example is defined in \322printIt.self\323 whose definition starts on line) 143.42 347.11 P
(8\051.) 143.42 333.11 T
(\245) 71.42 313.11 T
12 F
(printIt) 84.96 313.11 T
4 F
1.3 (The method\325s selector \050name\051. ) 143.42 313.11 P
12 F
2.87 (\050...\051) 298.18 313.11 P
4 F
1.3 ( as in frame #7 indicates an inner method) 331.14 313.11 P
(\050parenthetical expression\051.) 143.42 299.11 T
(\245) 71.42 279.11 T
12 F
(| _ self* = lobby. | ) 84.96 279.11 T
4 F
1 (The current values of the arguments and local slots in the activation record. The) 143.42 265.11 P
1.12 (example method has only one slot called ) 143.42 251.11 P
12 F
2.45 (self) 349.45 251.11 P
4 F
1.12 ( denoting implicit self. If a slot\325s) 375.81 251.11 P
0.61 (current value differs from its initial value, the initial value is displayed as a com-) 143.42 237.11 P
0.33 (ment \050enclosed in double quotes\051 after the current value. Assignment slots are not) 143.42 223.11 P
(displayed.) 143.42 209.11 T
(For example, in the stack dump generated by) 143.42 191.11 T
12 F
-0.18 (foo = \050 | a. b <- 3. c = 1. | b: 0. _PrintProcessStack\051) 179.42 177.11 P
(foo) 143.42 163.11 T
4 F
(\325) 163.2 163.11 T
(s activation record might look like this:) 166.53 163.11 T
12 F
(| _ self* = lobby. a = nil. b = 0 "3". c = 1. |) 179.42 149.11 T
4 F
(\245) 71.42 129.11 T
12 F
(\050reflect: doIt\051 name printLine. self) 84.96 129.11 T
4 F
0.9 (This is the source code of the method as it appears in the file \050or as typed at the) 143.42 115.11 P
0.64 (prompt\051. Ellipses \050\324...\325 as in frame #5\051 indicate that there is no source code avail-) 143.42 101.11 P
(able \050the method wasn\325t found, thus causing the error\051.) 143.42 87.11 T
FMENDPAGE
%%EndPage: "18" 23
%%Page: "19" 23
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-19) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.02 (The last few lines before the next prompt are not part of the stack trace; they make up an error re-) 71.42 708.11 P
(port generated by the error handler in the default world:) 71.42 694.11 T
12 F
(Message not understood) 93.02 668.78 T
(Message type: implicitSelf) 143.42 655.78 T
(Receiver: <14>: lobby) 143.42 642.78 T
(Selector: \324glmpf\324) 143.42 629.78 T
(MethodHolder: <14>: lobby) 143.42 616.78 T
(>) 93.02 603.78 T
4 F
0.54 (The \336rst line describes the particular problem \050\322message not understood\323\051. The follow lines dis-) 71.42 578.11 P
-0.13 (play details of the failed message: the receiver \050in our example: the ) 71.42 564.11 P
12 F
-0.28 (lobby) 394.96 564.11 P
4 F
-0.13 (\051, the selector \050) 427.92 564.11 P
12 F
-0.28 (glmpf) 499.47 564.11 P
4 F
-0.13 (\051,) 532.43 564.11 P
0.17 (and the method holder) 71.42 550.11 P
0 F
0.14 (\240) 179.51 554.91 P
4 F
0.17 ( \050the ) 184.51 550.11 P
12 F
0.36 (lobby) 209.49 550.11 P
4 F
0.17 (\051. If the message has ar) 242.45 550.11 P
0.17 (guments, an array containing the ar) 353.62 550.11 P
0.17 (gu-) 523.44 550.11 P
-0.02 (ments also is printed. For directed resends and delegated performs, an additional line would show) 71.42 536.11 P
-0.37 (the name of the parent slot directed through or the delegatee. This error report was generated by an) 71.42 522.11 P
(ordinary S) 71.42 508.11 T
6 F
(ELF) 121.72 508.11 T
4 F
( method.) 141.26 508.11 T
-0.49 (After you typed in ) 71.42 482.11 P
12 F
-1.07 (glmpf) 160.74 482.11 P
4 F
-0.49 (, the system called ) 193.7 482.11 P
12 F
-1.07 (printIt) 283.36 482.11 P
4 F
-0.49 ( \050frame #8\051 which has a nested inner method) 329.5 482.11 P
-0.2 (\050parenthetical expression\051 \050#7\051 which called ) 71.42 468.11 P
12 F
-0.45 (doIt) 284.56 468.11 P
4 F
-0.2 ( \050#6\051 which called ) 310.92 468.11 P
12 F
-0.45 (glmpf) 400.04 468.11 P
4 F
-0.2 ( \050#5\051 which was unde-) 432.99 468.11 P
3.85 (\336ned. Therefore, the VM sent ) 71.42 454.11 P
12 F
8.45 (undefinedSelector:Type:Delegatee:Method) 236.2 454.11 P
8.45 (Hol) 493.28 454.11 P
8.45 (der:) 513.06 454.11 P
0.98 (Argu) 71.42 440.11 P
0.98 (ments:) 97.79 440.11 P
4 F
0.45 ( \050#4, see Appendix A\051 to the object that didn\325) 137.34 440.11 P
0.45 (t understand ) 358.99 440.11 P
12 F
0.98 (glmpf) 421.84 440.11 P
4 F
0.45 ( \050the lobby\051. This) 454.8 440.11 P
8.89 (method sent ) 71.42 426.11 P
12 F
19.55 (lookupError:Selector:Type:Delegatee:Method) 150.51 426.11 P
19.55 (Holder:Arguments:) 427.36 426.11 P
4 F
1.75 (\050#3, #2, #1\051 which called ) 71.42 412.11 P
12 F
3.86 (stackTrace) 203.1 412.11 P
4 F
1.75 ( \050#0\051 which \336nally called the ) 269.02 412.11 P
12 F
3.86 (_PrintProcessStack) 420.77 412.11 P
4 F
-0.42 (primitive, printing the stack trace. After the stack trace, the error handling method printed the error) 71.42 398.11 P
(report and aborted the running S) 71.42 384.11 T
6 F
(ELF) 226.98 384.11 T
4 F
( program, returning to the prompt.) 246.51 384.11 T
-0.49 (The ) 71.42 358.11 P
12 F
-1.07 (_StackPrintLimit:) 92.59 358.11 P
4 F
-0.49 ( primitive controls how much of the stack is to be printed. The receiver) 204.65 358.11 P
0.2 (of ) 71.42 344.11 P
12 F
0.45 (_StackPrintLimit:) 84.62 344.11 P
4 F
0.2 ( determines how many frames from the top and the bottom of the stack) 196.68 344.11 P
1.52 (to printed on a stack trace. For example, ) 71.42 330.11 P
12 F
3.35 (_StackPrintLimit: 10) 279.46 330.11 P
4 F
1.52 ( will cause ) 414.64 330.11 P
12 F
3.35 (_PrintPro-) 473.51 330.11 P
-0.94 (cessStack) 71.42 316.11 P
4 F
-0.43 ( to print only the \336rst 10 and the last 10 activation records; if the stack nesting is great-) 130.75 316.11 P
(er than 20, the activation records in the middle are skipped. The default limit is 10.) 71.42 302.11 T
2 F
(5.4.4 Interrupting a S) 71.42 270.11 T
5 F
(ELF) 184.7 270.11 T
2 F
( pr) 206.07 270.11 T
(ogram) 220.85 270.11 T
4 F
0.43 (Pressing ) 71.42 244.11 P
12 F
0.94 (^C) 115.49 244.11 P
4 F
0.43 ( \050control-C\051 at any time interrupts a program. If the current process is the initial pro-) 128.68 244.11 P
0.11 (cess, a stack trace will be displayed and the process will be aborted \050S) 71.42 230.11 P
6 F
0.1 (ELF) 408.54 230.11 P
4 F
0.11 ( returns to the prompt\051.) 428.07 230.11 P
1.98 (Otherwise, the current process will be interrupted and control will return to the caller of the) 71.42 216.11 P
12 F
(_TWAINS) 71.42 202.11 T
4 F
( primitive \050see T) 117.57 202.11 T
(able 16 on page 43\051, indicating a \324sigint\325 signal.) 196.34 202.11 T
0 F
-0.12 (Certain VM operations like garbage collection and compilation cannot be interrupted; the S) 71.42 180.45 P
1 F
-0.11 (ELF) 435.82 180.45 P
0 F
-0.12 ( process is interrupted) 451.8 180.45 P
(once these VM operations complete.) 71.42 168.45 T
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
-0.06 (\240 ) 71.42 77.77 P
0 F
-0.07 (The method holder is the object whose slot contains the method that sent the message \050see the S) 79.3 73.77 P
1 F
-0.07 (ELF) 461.42 73.77 P
0 F
-0.07 ( Language Ref-) 477.4 73.77 P
(erence Manual for details\051.) 71.42 62.77 T
FMENDPAGE
%%EndPage: "19" 24
%%Page: "20" 24
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-20) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(5.4.5 T) 71.42 708.11 T
(racing) 108.52 708.11 T
4 F
-0.11 (The system contains a rudimentary mechanism to trace the execution of a S) 71.42 682.11 P
6 F
-0.1 (ELF) 432.5 682.11 P
4 F
-0.11 ( program, printing) 452.03 682.11 P
0.22 (a line for every non-inlined, non-inline-cached message send \050that is, for every send that actually) 71.42 668.11 P
0.57 (requires a lookup at run-time\051. T) 71.42 654.11 P
0.57 (racing is activated by sending the debugging primitive message) 230.4 654.11 P
12 F
-1.3 (_Trace: true) 71.42 640.11 P
4 F
-0.59 (. Because tracing generates a lot of output, you may want to insert ) 149.22 640.11 P
12 F
-1.3 (_Trace: true) 461.62 640.11 P
4 F
(and ) 71.42 626.11 T
12 F
(_Trace: false) 91.74 626.11 T
4 F
( statements at appropriate points in your program.) 177.43 626.11 T
1.86 (In order to see more sends, turn of) 71.42 600.11 P
1.86 (f inline caching) 248.73 600.11 P
0 F
1.55 (\240) 327.05 604.91 P
4 F
1.86 ( while tracing. Sending ) 332.05 600.11 P
12 F
4.08 (_InlineCache:) 453.73 600.11 P
2.49 (false) 71.42 586.11 P
4 F
1.13 ( turns it of) 104.38 586.11 P
1.13 (f, and following that with ) 157.21 586.11 P
12 F
2.49 (_FlushInlineCache) 288.13 586.11 P
4 F
1.13 ( \337ushes entries that have al-) 400.19 586.11 P
-0.26 (ready been inline cached. T) 71.42 572.11 P
-0.26 (o see ) 201.74 572.11 P
3 F
-0.26 (every) 228.53 572.11 P
4 F
-0.26 ( send, turn of) 254.49 572.11 P
-0.26 (f inlining with ) 316.77 572.11 P
12 F
-0.58 (_Inline: false) 387.62 572.11 P
4 F
-0.26 ( followed by) 479.33 572.11 P
12 F
(_Flush) 71.42 558.11 T
4 F
( to \337ush the code cache, eliminating previously inlined code.) 110.97 558.11 T
0.9 (Inserting print statements and ) 71.42 532.11 P
12 F
1.98 (_PrintProcessStack) 220.26 532.11 P
4 F
0.9 ( calls into your programs is probably the) 338.92 532.11 P
(best way to debug in the current system.) 71.42 518.11 T
10 F
(5.5 Scripts) 71.42 484.78 T
4 F
-0.52 (A script is a text \336le containing a sequence of S) 71.42 458.11 P
6 F
-0.48 (ELF) 294.7 458.11 P
4 F
-0.52 ( expressions. The ) 314.23 458.11 P
12 F
-1.15 (_RunScript) 399.27 458.11 P
4 F
-0.52 ( primitive reads) 465.19 458.11 P
-0.12 (a script \336le and evaluates its expressions. Script \336les can be nested \050for an example see \322all.self\323\051.) 71.42 444.11 P
0.44 (The receiver must be a string \050the \336le name; the suf) 71.42 430.11 P
0.44 (\336x \322.self\323 may be omitted, but the actual \336le) 322.73 430.11 P
(name must end with \322.self\323\051.) 71.42 416.11 T
1.53 (The expressions contained in the script \336le will be evaluated as if they had been typed at the) 71.42 390.11 P
2.03 (prompt, e.g. unmatched parentheses are needed for multi-line expressions \050see section I-5.2\051.) 71.42 376.11 P
(However) 71.42 362.11 T
(, ) 114.9 362.11 T
3 F
(unlike) 120.9 362.11 T
4 F
( typing them at the prompt, their results will not be printed. ) 150.21 362.11 T
(Suppose you created a text \336le called \322hello.self\323 containing these lines:) 71.42 336.11 T
12 F
(\325hello world\325 printLine) 93.02 310.78 T
("This is a comment") 93.02 297.78 T
(\32510 factorial is \325 print) 93.02 284.78 T
(10 factorial printLine) 93.02 271.78 T
4 F
(Then this \336le can be read in \050\322run\323\051 with the ) 71.42 246.11 T
12 F
(_RunScript) 287.26 246.11 T
4 F
( primitive:) 353.17 246.11 T
12 F
(> ) 93.02 220.78 T
18 F
(\325hello\325 _RunScript) 106.21 220.78 T
12 F
(hello world) 93.02 207.78 T
(10 factorial is 3628800) 93.02 194.78 T
(>) 93.02 175.78 T
0 F
0.1 (Do not use ) 71.42 154.45 P
12 F
0.26 (_RunScript) 117.52 154.45 P
0 F
0.1 ( in programs; when the VM \336nishes evaluation of this primitive, it returns to the prompt,) 183.44 154.45 P
0.3 (so any code following a ) 71.42 142.45 P
12 F
0.79 (_RunScript) 170.9 142.45 P
0 F
0.3 ( would never be executed. Therefore, ) 236.82 142.45 P
12 F
0.79 (_RunScript) 390.14 142.45 P
0 F
0.3 ( should only be used) 456.05 142.45 P
0.47 (as the last message in an expression at the prompt \050or in a script as in the \336le \322all.self\323\051. This restriction will be re-) 71.42 130.45 P
(moved in a future release.) 71.42 118.45 T
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(See T) 79.42 62.77 T
(able 18 in Appendix F.) 101.76 62.77 T
FMENDPAGE
%%EndPage: "20" 25
%%Page: "21" 25
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-21) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(5.6 Editing objects) 71.42 706.78 T
4 F
0.14 (This section explains how to change objects by adding, rede\336ning, and removing slots. These are) 71.42 680.11 P
0.2 (the basic programming tasks in S) 71.42 666.11 P
6 F
0.18 (ELF) 232 666.11 P
4 F
0.2 (. They are accomplished using the primitives ) 250.58 666.11 P
12 F
0.44 (_AddSlots:) 470.51 666.11 P
4 F
0.2 (,) 536.42 666.11 P
12 F
(_AddSlotsIfAbsent:) 71.42 652.11 T
4 F
(, ) 190.08 652.11 T
12 F
(_Define:) 196.07 652.11 T
4 F
(, and ) 248.81 652.11 T
12 F
(_RemoveSlot:) 275.12 652.11 T
4 F
(.) 354.22 652.11 T
0 F
-0.13 (The) 71.42 626.11 P
-0.13 ( ) 86.97 626.11 P
-0.13 (programming primitives ) 89.33 626.11 P
-0.13 (always return you to the prompt. They cannot be used within a S) 189.01 626.11 P
1 F
-0.12 (ELF) 445.86 626.11 P
0 F
-0.13 ( program \050any code) 461.83 626.11 P
(following them would never be executed\051. This restriction will be removed in a future release.) 71.42 612.11 T
-0.19 (The current implementation does not allow integers, floats, canonical strings, immutable strings, byte code objects, or) 71.42 590.45 P
(blocks as the receiver of or argument to the programming primitives. Of course, their parent objects may be used.) 71.42 578.45 T
2 F
(5.6.1 Adding slots) 71.42 547.11 T
4 F
0.05 (The ) 71.42 521.11 P
12 F
0.12 (_AddSlots:) 93.12 521.11 P
4 F
0.05 ( primitive adds all of the ar) 159.04 521.11 P
0.05 (gument\325) 289.05 521.11 P
0.05 (s slots to the receiver) 328.37 521.11 P
0.05 (. \050The ar) 429.18 521.11 P
0.05 (gument is typ-) 470.02 521.11 P
-0.1 (ically an object literal.\051 If a slot already exists, ) 71.42 507.11 P
12 F
-0.21 (_AddSlots:) 296.06 507.11 P
4 F
-0.1 ( just assigns it a new value. In partic-) 361.98 507.11 P
(ular) 71.42 493.11 T
(, read-only slots can be changed in this way) 89.59 493.11 T
(. Other slots in the receiver remain unchanged.) 298.33 493.11 T
(Examples:) 71.42 467.11 T
12 F
(> ) 93.02 441.78 T
18 F
(_AddSlots: \050 | x = \050\051 | \051) 106.21 441.78 T
0 F
(Add a slot called x to the lobby, containing) 323.42 441.78 T
(an empty object.) 332.42 428.78 T
12 F
(> ) 93.02 409.78 T
18 F
(x _Print) 106.21 409.78 T
12 F
(<37>: \050 \051) 93.02 396.78 T
(nil) 93.02 383.78 T
(> ) 93.02 364.78 T
18 F
(x _AddSlots: \050 |) 106.21 364.78 T
(a <- 17.8.) 116.42 351.78 T
0 F
(An assignable slot initialized to 17.8.) 323.42 351.78 T
18 F
(b.) 116.42 338.78 T
0 F
(An assignable slot initialized to nil.) 323.42 338.78 T
18 F
(c = 3.) 116.42 325.78 T
0 F
(A constant slot.) 323.42 325.78 T
18 F
(hello = \050 \325hello\325 print \051.) 116.42 312.78 T
0 F
(A method.) 323.42 312.78 T
18 F
(q = \050 | a. b <- \325b\325 | \051.) 116.42 299.78 T
0 F
(Another object with slots.) 323.42 299.78 T
18 F
(^_ p <- nil. ) 116.42 286.78 T
0 F
(A public data slot with private assignment slot \050all) 323.42 286.78 T
18 F
(| \051) 93.02 273.78 T
6 F
( ) 112.8 273.78 T
0 F
(other slots in this example are \322undeclared\323 by) 332.42 273.78 T
(default, with public semantics\051.) 332.42 260.78 T
12 F
(> ) 93.02 241.78 T
18 F
(inspect: x) 106.21 241.78 T
12 F
(\050 |) 93.02 228.78 T
(a <- 17.8.) 132.49 228.78 T
( ) 93.02 215.78 T
(b <- nil.) 132.49 215.78 T
( ) 93.02 202.78 T
(c = 3.) 132.49 202.78 T
( ) 93.02 189.78 T
(hello = \050 \325hello\325 print \051.) 132.49 189.78 T
( ) 93.02 176.78 T
(q = <an object>.) 132.49 176.78 T
(^_ p <- nil. | \051) 118.67 163.78 T
(x) 93.02 150.78 T
(>) 93.02 131.78 T
4 F
-0.38 (There must be periods between slot de\336nitions. If the period after slot ) 71.42 106.11 P
12 F
-0.82 (hello) 404.36 106.11 P
4 F
-0.38 ( is omitted, for exam-) 437.32 106.11 P
0.32 (ple, S) 71.42 92.11 P
6 F
0.29 (ELF) 99.07 92.11 P
4 F
0.32 ( will send the ) 118.6 92.11 P
12 F
0.7 (q) 187.18 92.11 P
4 F
0.32 ( message to the parenthetical expression ) 193.77 92.11 P
12 F
0.7 (\050\325hello\325 print\051) 391.55 92.11 P
4 F
0.32 (, resulting) 491.13 92.11 P
(in an \322unde\336ned selector\323 error \050see Appendix A\051.) 71.42 78.11 T
FMENDPAGE
%%EndPage: "21" 26
%%Page: "22" 26
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-22) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.02 (If a slot with the same name already exists in the receiver) 71.42 708.11 P
0.02 (, the slot is rede\336ned to point to the new) 346.66 708.11 P
-0.17 (object; other references to the original object are unchanged. If the old slot was assignable and the) 71.42 694.11 P
(new slot isn\325) 71.42 680.11 T
(t, the assignment slot is removed:) 132.51 680.11 T
12 F
(> ) 93.02 654.78 T
18 F
(_AddSlots: \050 | referenceToA = x a | \051) 106.21 654.78 T
0 F
(Use ) 395.42 654.78 T
20 F
(x) 413.46 654.78 T
0 F
( from previous example.) 419.46 654.78 T
12 F
(> ) 93.02 635.78 T
18 F
(x _AddSlots: \050 | a = \325new a\325 | \051) 106.21 635.78 T
12 F
(> ) 93.02 616.78 T
18 F
(x _Print) 106.21 616.78 T
12 F
(<37>: \050 | b = nil. c = 3. hello = <a method>. q = <38>. ^ p = nil.) 93.02 603.78 T
(b: = <-. _ p: = <-. a = \325new a\325. | \051) 93.02 590.78 T
0 F
(The ) 395.42 590.78 T
20 F
(a:) 413.46 590.78 T
0 F
( slot has also been) 425.46 590.78 T
(removed.) 405 577.78 T
12 F
(nil) 93.02 564.78 T
(> ) 93.02 545.78 T
18 F
(referenceToA _Print ) 106.21 545.78 T
12 F
(17.8: \050 | ^ parent* <2>. | \051) 93.02 532.78 T
0 F
(The old object is still there.) 395.42 532.78 T
12 F
(nil) 93.02 519.78 T
(>) 93.02 500.78 T
2 F
(5.6.2 Removing slots) 71.42 469.11 T
4 F
0.29 (The ) 71.42 443.11 P
12 F
0.64 (_RemoveSlot:) 93.36 443.11 P
4 F
0.29 ( primitive removes a single slot from the receiver; the ar) 172.46 443.11 P
0.29 (gument is the name) 444.95 443.11 P
(of the slot to remove. If the slot has a corresponding assignment slot, it is removed as well. ) 71.42 429.11 T
(Example:) 71.42 403.11 T
12 F
(> ) 93.02 377.78 T
18 F
(_AddSlots: \050 | p = 3@4 | \051) 106.21 377.78 T
0 F
(Create a point named ) 395.42 377.78 T
20 F
(p) 483.14 377.78 T
0 F
(.) 489.13 377.78 T
12 F
(> ) 93.02 358.78 T
18 F
(inspect: p) 106.21 358.78 T
12 F
(\050 |) 93.02 345.78 T
(_ parent* = traits point.) 118.42 345.78 T
(_ thisObjectPrints = true.) 118.42 332.78 T
(^_ x <- 3.) 118.42 319.78 T
(^_ y <- 4. | \051) 118.42 306.78 T
(3@4) 93.02 293.78 T
(> ) 93.02 274.78 T
18 F
(p _RemoveSlot: \325y:\325) 106.21 274.78 T
0 F
(Remove ) 395.42 274.78 T
20 F
(p) 431.23 274.78 T
0 F
(\325s ) 437.23 274.78 T
20 F
(y) 446.95 274.78 T
0 F
(: slot.) 452.94 274.78 T
12 F
(> ) 93.02 255.78 T
18 F
(inspect: p) 106.21 255.78 T
12 F
(\050 |) 93.02 242.78 T
(_ parent* = traits point.) 118.42 242.78 T
(_ thisObjectPrints = true.) 118.42 229.78 T
(^_ x <- 3.) 118.42 216.78 T
(^ y = 4. | \051) 118.42 203.78 T
(3@4) 93.02 190.78 T
(>) 93.02 171.78 T
4 F
3.65 (Primitives like ) 71.42 146.11 P
12 F
8.02 (_AddSlots:) 152.02 146.11 P
4 F
3.65 ( and ) 217.94 146.11 P
12 F
8.02 (_RemoveSlot:) 248.54 146.11 P
4 F
3.65 ( always manipulate individual objects in) 327.64 146.11 P
(S) 71.42 132.11 T
6 F
(ELF) 78.09 132.11 T
4 F
(\321the above example did not remove the ) 97.63 132.11 T
12 F
(y) 295.82 132.11 T
4 F
(: slot from ) 302.41 132.11 T
3 F
(all) 355.38 132.11 T
4 F
( points, just from point ) 368.05 132.11 T
12 F
(p) 480.67 132.11 T
4 F
(.) 487.26 132.11 T
2 F
(5.6.3 De\336ning objects) 71.42 100.11 T
12 F
-1.22 (_AddSlots:) 71.42 74.11 P
4 F
-0.56 ( and ) 137.34 74.11 P
12 F
-1.22 (_RemoveSlot:) 159.54 74.11 P
4 F
-0.56 ( change some of the slots in an object, but they do not af) 238.65 74.11 P
-0.56 (fect any) 501.68 74.11 P
-0.43 (other slots the object may have. These primitives incrementally modify objects. On the other hand,) 71.42 60.11 P
FMENDPAGE
%%EndPage: "22" 27
%%Page: "23" 27
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-23) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.59 (a script in a \336le needs to completely de\336ne \050or rede\336ne\051 an object, so S) 71.42 708.11 P
6 F
-0.54 (ELF) 403.96 708.11 P
4 F
-0.59 ( provides the ) 423.49 708.11 P
12 F
-1.29 (_Define:) 486.69 708.11 P
4 F
0.45 (primitive, which removes all extraneous slots. Like ) 71.42 694.11 P
12 F
1 (_AddSlots:) 323.44 694.11 P
4 F
0.45 (, the ar) 389.36 694.11 P
0.45 (gument to ) 423.02 694.11 P
12 F
1 (_Define:) 475.24 694.11 P
4 F
0.45 ( is) 527.97 694.11 P
0.82 (usually an object literal. ) 71.42 680.11 P
12 F
1.81 (_Define:) 192.97 680.11 P
4 F
0.82 ( \336rst removes all slots from the receiver) 245.71 680.11 P
0.82 (, then adds the slots) 441.85 680.11 P
-0.23 (found in its ar) 71.42 666.11 P
-0.23 (gument to the receiver) 137.48 666.11 P
-0.23 (. Thus, after performing the ) 243.71 666.11 P
12 F
-0.5 (_Define:) 378.13 666.11 P
4 F
-0.23 ( primitive, the receiver) 430.86 666.11 P
-0.13 (object contains exactly the same slots with the same names, attributes, and contents as those spec-) 71.42 652.11 P
-0.58 (i\336ed in the primitive\325) 71.42 638.11 P
-0.58 (s ar) 171.3 638.11 P
-0.58 (gument. Like ) 187.49 638.11 P
12 F
-1.27 (_AddSlots:) 253.29 638.11 P
4 F
-0.58 ( and ) 319.21 638.11 P
12 F
-1.27 (_RemoveSlot:) 341.36 638.11 P
4 F
-0.58 (, ) 420.46 638.11 P
12 F
-1.27 (_Define:) 425.88 638.11 P
4 F
-0.58 ( modi\336es the) 478.61 638.11 P
0.15 (receiver object in place, only af) 71.42 624.11 P
0.15 (fects the single receiver object, and leaves any other references to) 223.17 624.11 P
(old contents of rede\336ned slots untouched.) 71.42 610.11 T
12 F
(> ) 93.02 584.78 T
18 F
(x _Print) 106.21 584.78 T
0 F
(Just to show that the object x from the preceding) 342 584.78 T
( ) 342 571.78 T
(example is still around.) 360 571.78 T
12 F
(<37>: \050 | b = nil. c = 3. hello = <a method>. q = <4>. ^ p = nil. ) 93.02 558.78 T
(b: = <-. _ p: = <-. a = \325new a\325. | \051) 93.02 545.78 T
(nil) 93.02 532.78 T
(> ) 93.02 513.78 T
18 F
(x _Define: \050 | ) 106.21 513.78 T
(a = 12.) 126 500.78 T
(j <- 2.) 126 487.78 T
(| \051) 93.02 474.78 T
12 F
(> ) 93.02 455.78 T
18 F
(x _Print) 106.21 455.78 T
12 F
(<37>: \050 | a = 12. j = 2. j: = <-. | \051) 93.02 442.78 T
0 F
( Note that the object number is still the same,) 351 442.78 T
12 F
(nil) 93.02 429.78 T
0 F
( ) 333 429.78 T
(but the slots have changed.) 360 429.78 T
12 F
(>) 93.02 410.78 T
2 F
(5.6.4 Pr) 71.42 379.11 T
(ogramming using script \336les) 113.85 379.11 T
4 F
-0.48 (While some editing will be performed interactively) 71.42 353.11 P
-0.48 (, most programming will be performed by read-) 313.6 353.11 P
0.04 (ing in script \336les containing object de\336nitions and programming primitives. The script \336le is read) 71.42 339.11 P
0.41 (in the \336rst time to create the appropriate objects. As bugs are discovered and changes need to be) 71.42 325.11 P
1.07 (made to objects, the script \336les are changed with a text editor and re-read in to install the new) 71.42 311.11 P
(changes.) 71.42 297.11 T
0.23 (This mode of text-\336le-based programming is supported in S) 71.42 271.11 P
6 F
0.21 (ELF) 360.41 271.11 P
4 F
0.23 ( via the ) 379.94 271.11 P
12 F
0.5 (_Define:) 418.94 271.11 P
4 F
0.23 ( primitive and) 471.67 271.11 P
1.63 (a special ) 71.42 257.11 P
12 F
3.59 (_AddSlotsIfAbsent) 119.32 257.11 P
4 F
1.63 (: primitive. ) 231.38 257.11 P
12 F
3.59 (_AddSlotsIfAbsent) 290.96 257.11 P
4 F
1.63 (: adds to the receiver those) 403.02 257.11 P
0.37 (slots found in its ar) 71.42 243.11 P
0.37 (gument that are not already in the receiver) 164.63 243.11 P
0.37 (. Thus, after performing this primi-) 369.37 243.11 P
-0.52 (tive, the receiver may contain new slots; however) 71.42 229.11 P
-0.52 (, the slots that were already in the receiver are un-) 305.14 229.11 P
(af) 71.42 215.11 T
(fected. The ar) 80.53 215.11 T
(gument to ) 146.57 215.11 T
12 F
(_AddSlotsIfAbsent:) 197.88 215.11 T
4 F
( is usually an object literal.) 316.54 215.11 T
-0.04 (Here is an example showing the typical use of ) 71.42 189.11 P
12 F
-0.09 (_AddSlotsIfAbsent:) 295.24 189.11 P
4 F
-0.04 ( and ) 413.89 189.11 P
12 F
-0.09 (_Define:) 437.13 189.11 P
4 F
-0.04 ( in scripts.) 489.86 189.11 P
(Suppose the following de\336nition of a simple point is found in the \336le \324) 71.42 175.11 T
(\324spoint.self) 408.69 175.11 T
(\325) 462.98 175.11 T
(\325:) 466.09 175.11 T
12 F
(_AddSlotsIfAbsent) 93.02 149.78 T
18 F
(: ) 205.09 149.78 T
12 F
(\050 |) 218.27 149.78 T
18 F
( ) 238.04 149.78 T
12 F
(^ pointTraits = \050\051 | \051) 244.63 149.78 T
0 F
(Define the initial point traits.) 405 149.78 T
18 F
( ) 520.77 149.78 T
12 F
(pointTraits _Define: \050 |) 93.02 136.78 T
(^ clone = \050 _Clone \051.) 126 123.78 T
(| \051) 93.02 110.78 T
FMENDPAGE
%%EndPage: "23" 28
21 10 /Helvetica-Oblique FMDEFINEFONT
23 11 /Helvetica FMDEFINEFONT
%%Page: "24" 28
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-24) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
12 F
0 X
(_AddSlotsIfAbsent: \050 | ^ pointProto = \050\051 | \051) 93.02 708.78 T
0 F
(Define the prototype.) 405 708.78 T
12 F
(pointProto _Define: \050 |) 93.02 695.78 T
(_ parent* = pointTraits.) 126 682.78 T
(^ x <- 0.) 126 669.78 T
(^ y <- 0.) 126 656.78 T
(| \051) 93.02 643.78 T
4 F
(Now the \336le can be read in and a point object can be created:) 71.42 618.11 T
12 F
(> ) 93.02 592.78 T
18 F
(\325spoint\325 _RunScript) 106.21 592.78 T
12 F
(> ) 93.02 573.78 T
18 F
(pointTraits _Print) 106.21 573.78 T
0 F
(Just to make sure ...) 405 573.78 T
12 F
(<5>: \050 | ^ clone = <a method>. | \051) 93.02 560.78 T
(nil) 93.02 547.78 T
(> ) 93.02 528.78 T
18 F
(_AddSlots: \050 | p1 | \051) 106.21 528.78 T
12 F
(> ) 93.02 509.78 T
18 F
(p1: \050pointProto clone x: 5\051 y: 10) 106.21 509.78 T
0 F
(Create a point object.) 405 509.78 T
12 F
(lobby) 93.02 496.78 T
(> ) 93.02 477.78 T
18 F
(p1 _Print) 106.21 477.78 T
12 F
(<7>: \050 | _ parent* = <5>. ^ x = 5. ^ x: = <-. ^ y = 10.) 93.02 464.78 T
(^ y: = <-. | \051) 93.02 451.78 T
0 F
(The ) 405 451.78 T
20 F
(parent) 423.04 451.78 T
0 F
( slot points to) 459.02 451.78 T
12 F
(nil) 93.02 438.78 T
0 F
(the traits object.) 414 438.78 T
12 F
(>) 93.02 419.78 T
4 F
(The following picture illustrates the objects that have been created:) 71.42 394.11 T
0.09 (The use of ) 71.42 193.95 P
12 F
0.19 (_AddSlotsIfAbsent:) 125.31 193.95 P
4 F
0.09 ( and ) 243.96 193.95 P
12 F
0.19 (_Define:) 267.45 193.95 P
4 F
0.09 ( to build objects in script \336les usually follows) 320.18 193.95 P
0.6 (the above pattern. The ar) 71.42 179.95 P
0.6 (gument to ) 193.17 179.95 P
12 F
1.32 (_AddSlotsIfAbsent:) 245.68 179.95 P
4 F
0.6 ( is an object literal containing a slot) 364.33 179.95 P
1.16 (initialized to) 71.42 165.95 P
1.16 ( an empty object. The) 132.88 165.95 P
1.16 ( ) 241.77 165.95 P
1.16 (succeeding ) 245.93 165.95 P
12 F
2.54 (_Define:) 303.37 165.95 P
4 F
1.16 ( modi\336es the newly-created object to) 356.1 165.95 P
-0.32 (contain the appropriate slots. The \336rst time the \336le is read in, the object to be de\336ned doesn\325) 71.42 151.95 P
-0.32 (t exist,) 507.76 151.95 P
0.23 (and the ) 71.42 137.95 P
12 F
0.51 (_AddSlotsIfAbsent:) 109.86 137.95 P
4 F
0.23 ( creates a new empty object for ) 228.51 137.95 P
12 F
0.51 (_Define:) 383.01 137.95 P
4 F
0.23 ( to \336ll in. If the script) 435.75 137.95 P
-0.19 (\336le is read in again, the ) 71.42 123.95 P
12 F
-0.42 (_AddSlotsIfAbsent:) 185.2 123.95 P
4 F
-0.19 ( has no ef) 303.86 123.95 P
-0.19 (fect \050since the slot containing the object) 349.36 123.95 P
1.65 (already exists\051 but the ) 71.42 109.95 P
12 F
3.63 (_Define:) 186.61 109.95 P
4 F
1.65 ( still edits the object in place. ) 239.35 109.95 P
12 F
3.63 (_Define:) 394.14 109.95 P
4 F
1.65 ( is used instead of) 446.88 109.95 P
12 F
0.06 (_AddSlots:) 71.42 95.95 P
4 F
0.03 ( so that unneeded slots can be removed by re-reading an edited script \336le. The com-) 137.34 95.95 P
0.35 (bination of ) 71.42 81.95 P
12 F
0.76 (_AddSlotsIfAbsent:) 127.42 81.95 P
4 F
0.35 ( and ) 246.07 81.95 P
12 F
0.76 (_Define:) 270.08 81.95 P
4 F
0.35 ( is used instead of a single ) 322.82 81.95 P
12 F
0.76 (_AddSlots:) 454.17 81.95 P
4 F
0.35 ( op-) 520.09 81.95 P
0.04 (eration so that the identity of the edited object is preserved when the script \336le is read in a second) 71.42 67.95 P
71.42 55.44 539.42 716.11 C
89.42 215.95 521.42 390.11 C
89.42 215.95 521.42 390.11 R
7 X
0 K
V
151.92 230.87 227.81 284.44 R
3 X
V
21 F
0 X
(pointT) 232.27 360.51 T
(raits) 259.31 360.51 T
(pointProto) 126.57 298.01 T
148.92 269.58 198.65 287.44 R
7 X
V
0.5 H
2 Z
0 X
N
148.92 251.73 198.65 269.58 R
7 X
V
0 X
N
148.92 233.87 198.65 251.73 R
7 X
V
0 X
N
23 F
(parent*) 156.17 275.45 T
(x) 171.13 257.6 T
(y) 171.13 239.74 T
197.4 269.58 224.81 287.44 R
7 X
V
0 X
N
197.4 251.73 224.81 269.58 R
7 X
V
0 X
N
197.4 233.87 224.81 251.73 R
7 X
V
0 X
N
(0) 208.1 257.6 T
(0) 208.1 239.74 T
364.73 229.41 440.62 282.98 R
3 X
V
361.73 268.12 411.46 285.98 R
7 X
V
0 X
N
361.73 250.26 411.46 268.12 R
7 X
V
0 X
N
361.73 232.41 411.46 250.26 R
7 X
V
0 X
N
(parent*) 368.98 273.99 T
(x) 383.94 256.13 T
(y) 383.94 238.28 T
410.2 268.12 437.62 285.98 R
7 X
V
0 X
N
410.2 250.26 437.62 268.12 R
7 X
V
0 X
N
410.2 232.41 437.62 250.26 R
7 X
V
0 X
N
(5) 420.91 256.13 T
(10) 417.85 238.28 T
262.06 327.62 337.94 348.47 R
3 X
V
259.06 330.62 308.79 348.47 R
7 X
V
0 X
N
(clone) 270.88 336.49 T
307.53 330.62 334.94 348.47 R
7 X
V
0 X
N
(...) 316.71 336.49 T
339.44 315.18 330.47 323.15 342.3 321.14 340.87 318.16 4 Y
V
424.22 278.51 339.98 318.59 2 L
N
265.6 319.14 276.9 323.15 269.44 313.76 267.52 316.45 4 Y
V
209.95 275.76 268.34 317.03 2 L
N
21 F
(p1) 346.15 293.55 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "24" 29
%%Page: "25" 29
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-25) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
66.96 59.9 534.96 720.58 R
7 X
V
4 F
0 X
-0.27 (time \050there frequently are references to the edited object that should refer to the new version of the) 66.96 712.58 P
(object rather than the old version\051.) 66.96 698.58 T
-0.44 (T) 66.96 672.58 P
-0.44 (o illustrate, suppose the de\336nition of the point traits in the \336le \324) 73.45 672.58 P
-0.44 (\324spoint.self) 370.07 672.58 P
-0.44 (\325) 424.37 672.58 P
-0.44 (\325 is changed to support) 427.47 672.58 P
(more behavior for simple points:) 66.96 658.58 T
12 F
(_AddSlotsIfAbsent) 88.56 633.24 T
18 F
(:) 200.62 633.24 T
12 F
( \050 |) 207.21 633.24 T
18 F
( ^ ) 233.58 633.24 T
12 F
(pointTraits = \050\051 | \051) 253.35 633.24 T
(pointTraits _Define: \050 |) 88.56 620.24 T
0 F
(Redefined point traits.) 400.54 620.24 T
12 F
(^ clone = \050 _Clone \051.) 121.54 607.24 T
(^ print = \050 x print. \325@\325 print. y print. \051.) 121.54 594.24 T
(^ + p = \050 \050pointProto clone x: x + p x\051 y: y + p y \051.) 121.54 581.24 T
(| \051) 88.56 568.24 T
(_AddSlotsIfAbsent: \050 | ^ pointProto = \050\051 | \051) 88.56 549.24 T
0 F
(Define the prototype.) 400.54 549.24 T
12 F
(pointProto _Define: \050 |) 88.56 536.24 T
(_ parent* = pointTraits.) 121.54 523.24 T
(^ x <- 0.) 121.54 510.24 T
(^ y <- 0.) 121.54 497.24 T
(| \051) 88.56 484.24 T
4 F
(Now let us read in the modi\336ed \336le:) 66.96 458.58 T
12 F
(> ) 88.56 433.24 T
18 F
(\325spoint\325 _RunScript) 101.74 433.24 T
12 F
(>) 88.56 414.24 T
4 F
(The changes that have resulted can be illustrated with the following picture:) 66.96 388.58 T
1.43 (The edits have modi\336ed the original ) 66.96 151.29 P
12 F
3.16 (pointTraits) 252.13 151.29 P
4 F
1.43 ( object in place, instead of creating a new) 324.64 151.29 P
12 F
-0.61 (pointTraits) 66.96 137.29 P
4 F
-0.28 ( object. This allows the changes to apply to the existing clones of the ) 139.47 137.29 P
12 F
-0.61 (pointProto) 469.04 137.29 P
4 F
(object such as ) 66.96 123.29 T
12 F
(p1) 137.24 123.29 T
4 F
(. W) 150.43 123.29 T
(e can use ) 166.78 123.29 T
12 F
(_Print:) 213.74 123.29 T
4 F
( to verify this:) 259.88 123.29 T
66.96 59.9 534.96 720.58 C
84.96 173.29 516.96 365.58 C
84.96 173.29 516.96 365.58 R
7 X
0 K
V
147.46 188.22 223.34 241.78 R
3 X
V
21 F
0 X
(pointProto) 122.11 255.35 T
144.46 226.93 194.19 244.78 R
7 X
V
0.5 H
2 Z
0 X
N
144.46 209.07 194.19 226.93 R
7 X
V
0 X
N
144.46 191.22 194.19 209.07 R
7 X
V
0 X
N
23 F
(parent*) 151.7 232.8 T
(x) 166.67 214.94 T
(y) 166.67 197.09 T
192.93 226.93 220.34 244.78 R
7 X
V
0 X
N
192.93 209.07 220.34 226.93 R
7 X
V
0 X
N
192.93 191.22 220.34 209.07 R
7 X
V
0 X
N
(0) 203.63 214.94 T
(0) 203.63 197.09 T
360.26 186.75 436.15 240.32 R
3 X
V
357.26 225.46 406.99 243.32 R
7 X
V
0 X
N
357.26 207.61 406.99 225.47 R
7 X
V
0 X
N
357.26 189.75 406.99 207.61 R
7 X
V
0 X
N
(parent*) 364.51 231.34 T
(x) 379.48 213.48 T
(y) 379.48 195.62 T
405.74 225.46 433.15 243.32 R
7 X
V
0 X
N
405.74 207.61 433.15 225.47 R
7 X
V
0 X
N
405.74 189.75 433.15 207.61 R
7 X
V
0 X
N
(5) 416.44 213.48 T
(10) 413.39 195.62 T
334.98 272.53 326.01 280.5 337.84 278.49 336.41 275.51 4 Y
V
419.76 235.86 335.51 275.94 2 L
N
269.81 277.25 281.36 280.5 273.29 271.62 271.55 274.44 4 Y
V
203.91 233.1 272.42 274.96 2 L
N
263.52 286.43 339.41 339.99 R
3 X
V
260.52 325.14 310.25 342.99 R
7 X
V
0 X
N
260.52 307.28 310.25 325.14 R
7 X
V
0 X
N
260.52 289.43 310.25 307.28 R
7 X
V
0 X
N
(clone) 272.35 331.01 T
(print) 274.79 313.15 T
(+) 282.27 295.3 T
309 325.14 336.41 342.99 R
7 X
V
0 X
N
309 307.28 336.41 325.14 R
7 X
V
0 X
N
309 289.43 336.41 307.28 R
7 X
V
0 X
N
(...) 318.17 331.01 T
(...) 318.17 313.15 T
(...) 318.17 295.3 T
21 F
(p1) 341.69 251.44 T
(pointT) 232.27 354.37 T
(raits) 259.31 354.37 T
66.96 59.9 534.96 720.58 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "25" 30
24 10 /Times-Bold FMDEFINEFONT
%%Page: "26" 30
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-26) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
12 F
0 X
(> ) 93.02 708.78 T
18 F
(pointTraits _Print) 106.21 708.78 T
12 F
(<5>: \050 | ^ clone = <a method>. ^ print = <a method>. ^ + = <a ) 93.02 695.78 T
(method>. | \051) 93.02 682.78 T
(nil) 93.02 669.78 T
(> ) 93.02 650.78 T
18 F
(p1 _Print) 106.21 650.78 T
12 F
(<7>: \050 | _ parent* = <5>. ^ x = 5. ^ x: = <-. ^ y = 10. ^ y: = <-. ) 93.02 637.78 T
(| \051) 93.02 624.78 T
0 F
(The ) 395.42 624.78 T
20 F
(parent) 413.46 624.78 T
0 F
( slot still points to) 449.44 624.78 T
12 F
(nil) 93.02 611.78 T
0 F
( the \050changed\051 point traits obj.) 395.42 611.78 T
12 F
(>) 93.02 592.78 T
10 F
(5.7 Option primitives) 71.42 559.78 T
4 F
1.22 (Option primitives control various aspects of the S) 71.42 533.11 P
6 F
1.12 (ELF) 318.14 533.11 P
4 F
1.22 ( system and its inner workings. Many of) 337.68 533.11 P
0.2 (them are used to debug or instrument the S) 71.42 519.11 P
6 F
0.19 (ELF) 278.9 519.11 P
4 F
0.2 ( system and are probably of little interest to users.) 298.44 519.11 P
-0.27 (The options most useful for users are listed in T) 71.42 505.11 P
-0.27 (able 1; other option primitives can be found in Ap-) 297.68 505.11 P
-0.08 (pendix F, and a list of all option primitives and their current settings can be printed with the prim-) 71.42 491.11 P
(itive) 71.42 477.11 T
12 F
( _PrintOptionPrimitives) 92.75 477.11 T
4 F
(.) 244.36 477.11 T
71.42 432.12 539.42 440.11 C
71.42 438.1 539.42 438.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 443.78 T
(able 1 Some useful option primitives) 77.74 443.78 T
24 F
(Name) 71.42 421.45 T
(Description) 215.42 421.45 T
0 F
(_PrintPeriod[:]) 71.42 404.45 T
11 F
(\240) 131.39 408.45 T
0 F
(Print a period when reading a script \336le with ) 215.42 404.45 T
20 F
(_RunScript) 396.14 404.45 T
0 F
(. Default: ) 456.1 404.45 T
20 F
(false) 496.35 404.45 T
0 F
(.) 526.33 404.45 T
(_PrintScriptName[:]) 71.42 388.45 T
(Print the \336le name when reading a script \336le. Default: ) 215.42 388.45 T
20 F
(false) 432.77 388.45 T
0 F
(.) 462.76 388.45 T
(_PrintScavenge[:]) 71.42 372.45 T
(Print a message at every scavenge. Default: ) 215.42 372.45 T
20 F
(false) 391.95 372.45 T
0 F
(.) 421.93 372.45 T
(_PrintGC[:]) 71.42 356.45 T
(Print a message at every full garbage collection. Default: ) 215.42 356.45 T
20 F
(false) 445.25 356.45 T
0 F
(.) 475.23 356.45 T
(_Spy[:]) 71.42 340.45 T
(Start the system monitor \050see Appendix E for details\051. Default: ) 215.42 340.45 T
20 F
(false) 468.86 340.45 T
0 F
(.) 498.85 340.45 T
(_StackPrintLimit[:]) 71.42 324.45 T
0.5 (Controls the number of stack frames printed by ) 215.42 324.45 P
20 F
1.21 (_PrintProcessStack) 411 324.45 P
0 F
0.5 (. De-) 518.94 324.45 P
(fault: ) 215.42 312.45 T
20 F
(10) 239.02 312.45 T
0 F
(.) 251.01 312.45 T
(_V) 71.42 296.45 T
(ectorPrintLimit[:]) 82.53 296.45 T
(Controls the number of vector elements printed by ) 215.42 296.45 T
20 F
(_Print) 419.73 296.45 T
0 F
(. Default: ) 455.71 296.45 T
20 F
(20) 495.96 296.45 T
0 F
(.) 507.95 296.45 T
(_HistoryLength[:]) 71.42 280.45 T
1.28 (Controls the number of object references remembered by the system. Default:) 215.42 280.45 P
20 F
(1000) 215.42 268.45 T
0 F
(.) 239.41 268.45 T
(_SourceDir[:]) 71.42 252.45 T
(The default directory for script \336les.) 215.42 252.45 T
4 F
-0.17 (Each option primitive controls a variable within the virtual machine containing a boolean, integer) 71.42 227.12 P
-0.17 (,) 536.42 227.12 P
0.67 (or string \050in fact, the option primitives can be thought of as \322primitive variables\323\051. Invoking the) 71.42 213.12 P
0.12 (version of the primitive that doesn\325) 71.42 199.12 P
0.12 (t take an ar) 240.68 199.12 P
0.12 (gument returns the current setting; invoking it with) 293.76 199.12 P
(an ar) 71.42 185.12 T
(gument sets the variable to the new value and returns the old value.) 94.85 185.12 T
0.02 (If you are at the console of your workstation, try running the system monitor with ) 71.42 159.12 P
12 F
0.05 (_Spy: true.) 466.86 159.12 P
4 F
1.08 (The system monitor will continuously display various information about the system\325) 71.42 145.12 P
1.08 (s activities) 487.37 145.12 P
(and your memory usage.) 71.42 131.12 T
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.04 (\240 ) 71.42 77.77 P
0 F
0.05 (The bracketed colon indicates that the ar) 79.51 73.77 P
0.05 (gument is optional \050i.e., there are two versions of the primitive, one taking) 241.74 73.77 P
(an ar) 71.42 62.77 T
(gument and one not taking an ar) 90.94 62.77 T
(gument\051. The bracket is not part of the primitive name. See text for details.) 219.56 62.77 T
FMENDPAGE
%%EndPage: "26" 31
%%Page: "27" 31
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-27) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Using SELF) 489.72 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
-0.15 (Caution: the system monitor always writes to /dev/fb, the default frame buf) 71.42 709.45 P
-0.15 (fer which usually is the workstation\325) 370.46 709.45 P
-0.15 (s con-) 515.43 709.45 P
0.27 (sole. If you run S) 71.42 697.45 P
1 F
0.25 (ELF) 141.64 697.45 P
0 F
0.27 ( on another machine \050e.g. via rlogin\051, the system monitor will write to the screen of the ) 157.62 697.45 P
16 F
0.27 (r) 512.04 697.45 P
0.27 (emote) 515.56 697.45 P
0 F
(machine, not your own screen.) 71.42 685.45 T
10 F
(5.8 System-trigger) 71.42 652.78 T
(ed messages) 184.24 652.78 T
4 F
0.05 (Certain events cause the system to automatically send a message to the lobby) 71.42 626.11 P
0.05 (. Section I-5.2 intro-) 441.67 626.11 P
0.07 (duced ) 71.42 612.11 P
12 F
0.15 (printIt) 103.13 612.11 P
4 F
0.07 (, which is sent to the lobby after a full expression has been entered at the prompt.) 149.27 612.11 P
-0.54 (Reading and writing snapshots also trigger messages to be sent to the lobby) 71.42 598.11 P
-0.54 (. Before reading a snap-) 426.67 598.11 P
0.62 (shot, the message ) 71.42 584.11 P
12 F
1.37 (snapshotAction preRead) 160.56 584.11 P
4 F
0.62 ( is sent; after reading the snapshot, the message) 306.95 584.11 P
12 F
-0.15 (snapshotAction postRead) 71.42 570.11 P
4 F
-0.07 ( is sent. The messages ) 222.89 570.11 P
12 F
-0.15 (snapshotAction preWrite) 331.82 570.11 P
4 F
-0.07 ( and ) 483.28 570.11 P
12 F
-0.15 (snap-) 506.46 570.11 P
1.17 (shotAction postWrite) 71.42 556.11 P
4 F
0.53 ( are similarly sent surrounding the writing of a snapshot. These mes-) 204.43 556.11 P
(sages allow the S) 71.42 542.11 T
6 F
(ELF) 154.37 542.11 T
4 F
( world to cleanup and reinitialize itself\321for example, to open or close \336les.) 173.9 542.11 T
0.94 (The following table summarizes the system-triggered messages described above. Note however) 71.42 516.11 P
(that there are other situations in which the system sends messages; see Appendix A.) 71.42 502.11 T
71.42 457.12 539.42 465.11 C
71.42 463.1 539.42 463.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 468.78 T
(able 2 Some system-trigger) 77.74 468.78 T
(ed messages) 209.65 468.78 T
24 F
(Message) 71.42 446.45 T
(T) 197.42 446.45 T
(rigger event) 203.35 446.45 T
0 F
(printIt) 71.42 429.45 T
0.23 (After a full expression has been parsed at the prompt and inserted into the ) 197.42 429.45 P
20 F
0.56 (doIt) 498.26 429.45 P
0 F
0.23 ( slot) 522.25 429.45 P
(in the lobby) 197.42 417.45 T
(.) 244.53 417.45 T
(snapshotAction preRead) 71.42 401.45 T
(Upon invocation of ) 197.42 401.45 T
20 F
(_ReadSnapshot) 277.65 401.45 T
0 F
(, before the snapshot is read.) 355.61 401.45 T
(snapshotAction postRead) 71.42 385.45 T
(Upon invocation of ) 197.42 385.45 T
20 F
(_ReadSnapshot) 277.65 385.45 T
0 F
(, after the snapshot is read.) 355.61 385.45 T
(snapshotAction preW) 71.42 369.45 T
(rite) 157.91 369.45 T
(Upon invocation of ) 197.42 369.45 T
20 F
(_WriteSnapshot) 277.65 369.45 T
0 F
(, before the snapshot is written.) 361.6 369.45 T
(snapshotAction postW) 71.42 353.45 T
(rite) 161.8 353.45 T
(Upon invocation of ) 197.42 353.45 T
20 F
(_WriteSnapshot) 277.65 353.45 T
0 F
(, after the snapshot is written.) 361.6 353.45 T
FMENDPAGE
%%EndPage: "27" 32
25 10.83 /Courier FMDEFINEFONT
%%Page: "28" 32
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-28) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Run-time message lookup errors) 409.24 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix A) 71.42 705.45 T
(Run-time message lookup err) 170.42 705.45 T
(ors) 371.34 705.45 T
4 F
0.37 (If an error occurs during a message send, the system sends a message to the receiver of the mes-) 71.42 678.11 P
0.29 (sage. Any object can handle these errors by de\336ning \050or inheriting\051 a slot with the corresponding) 71.42 664.11 P
-0.06 (selector) 71.42 650.11 P
-0.06 (. All messages sent by the system in response to a message lookup error have the same ar-) 108.06 650.11 P
-0.11 (guments. ) 71.42 636.11 P
-0.11 (The first argument is the offending message\325s selector; the additional arguments specify) 117.96 636.11 P
1.42 (the message send type \050one of ) 71.42 622.11 P
12 F
3.12 (\325normal\325) 227.14 622.11 P
4 F
1.42 (, ) 279.88 622.11 P
12 F
3.12 (\325implicitSelf\325) 287.29 622.11 P
4 F
1.42 (, ) 379.58 622.11 P
12 F
3.12 (\325undirectedResend\325) 386.99 622.11 P
4 F
1.42 (, ) 505.64 622.11 P
12 F
3.12 (\325di-) 513.06 622.11 P
1.21 (rectedResend\325) 71.42 608.11 P
4 F
0.55 (, or ) 157.12 608.11 P
12 F
1.21 (\325delegated\325) 177.2 608.11 P
4 F
0.55 (\051, the directed resend parent name or the delegatee \050) 249.71 608.11 P
12 F
1.21 (0) 503.08 608.11 P
4 F
0.55 ( if not) 509.68 608.11 P
-0.17 (applicable\051, the sending method holder, and an object vector containing the arguments to the mes-) 71.42 594.11 P
(sage, if any.) 71.42 580.11 T
(\245) 71.42 560.11 T
12 F
(undefinedSelector:Type:Delegatee:MethodHolder:Arguments:) 84.96 560.11 T
4 F
( ) 454.1 560.11 T
0.83 (The receiver does not understand the message: no slot matching the selector can be found in) 84.96 546.11 P
(the receiver or its ancestors.) 84.96 532.11 T
(\245) 71.42 512.11 T
12 F
(noPublicSelector:Type:Delegatee:MethodHolder:Arguments:) 84.96 512.11 T
4 F
( ) 447.51 512.11 T
(Same as above, except that a private slot would have matched the message had it been public.) 84.96 498.11 T
(\245) 71.42 478.11 T
12 F
(ambiguousSelector:Type:Delegatee:MethodHolder:Arguments:) 84.96 478.11 T
4 F
( ) 454.1 478.11 T
0.28 (There is more than one slot matching the selector, and neither the parent slot priorities nor the) 84.96 464.11 P
(sender path tiebreaker are sufficient to disambiguate the lookup.) 84.96 450.11 T
(\245) 71.42 430.11 T
12 F
(missingDelegateeSelector:Type:Delegatee:MethodHolder:Arguments:) 84.96 430.11 T
4 F
( ) 500.24 430.11 T
0.01 (The parent slot through which the resend should have been directed was not found in the send-) 84.96 416.11 P
(ing method holder.) 84.96 402.11 T
(\245) 71.42 382.11 T
25 F
(mismatchedArgumentCountSelector:Type:Delegatee:MethodHolder:Arguments:) 84.96 382.11 T
4 F
0.57 (The number of arguments supplied to the ) 84.96 368.11 P
12 F
1.25 (_Perform) 289.82 368.11 P
4 F
0.57 ( primitive does not match the number of) 342.55 368.11 P
(arguments required by the selector.) 84.96 354.11 T
(\245) 71.42 334.11 T
12 F
(performTypeErrorSelector:Type:Delegatee:MethodHolder:Arguments:) 84.96 334.11 T
4 F
( ) 500.24 334.11 T
(The first argument to the ) 84.96 320.11 T
12 F
(_Perform) 207.21 320.11 T
4 F
( primitive \050the selector\051 wasn\325t a canonical string.) 259.94 320.11 T
-0.27 (These error messages are just like any other message. Therefore, it is possible that the object caus-) 71.42 294.11 P
-0.56 (ing the error \050which is being sent the appropriate error message\051 does not understand the error mes-) 71.42 280.11 P
0.15 (sage either) 71.42 266.11 P
0.15 (. More generally) 122.54 266.11 P
0.15 (, if the system experiences any of these run-time errors in the midst of) 201.67 266.11 P
0.07 (sending one, it will report the error) 71.42 252.11 P
0.07 (, print the stack, and abort the S) 238.94 252.11 P
6 F
0.07 (ELF) 391.68 252.11 P
4 F
0.07 ( program to avoid entering) 411.22 252.11 P
(an in\336nite loop of error messages.) 71.42 238.11 T
2.03 (For example, sending the message ) 71.42 212.11 P
12 F
4.47 (boo) 249.47 212.11 P
4 F
2.03 ( to an empty object would cause the system to print:) 269.25 212.11 P
12 F
13.18 (lookup failure: couldn\325t send undefinedSelector:Type:Delegatee:) 71.42 198.11 P
1.31 (MethodHolder:Arguments: to <0>) 71.42 184.11 P
4 F
0.6 (, because the empty object did not understand ) 271.8 184.11 P
12 F
1.31 (boo) 498.74 184.11 P
4 F
0.6 ( and) 518.51 184.11 P
(then did not understand ) 71.42 170.11 T
12 F
(undefinedSelector:...) 187.35 170.11 T
4 F
(. A stack dump would follow) 325.78 170.11 T
(.) 464.92 170.11 T
-0.1 (The system will also abort your program and display a stack trace if it runs out of stack space \050too) 71.42 144.11 P
1.1 (much recursion\051 or if a block is invoked whose lexically-enclosing scope has already returned.) 71.42 130.11 P
(These errors currently cannot be caught on the S) 71.42 116.11 T
6 F
(ELF) 303.9 116.11 T
4 F
( level.) 323.44 116.11 T
FMENDPAGE
%%EndPage: "28" 33
25 15 /Times-Bold FMDEFINEFONT
26 8 /Helvetica-Oblique FMDEFINEFONT
%%Page: "29" 33
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-29) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(The initial SELF world) 446.42 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix B) 71.42 705.45 T
(The initial S) 170.42 705.45 T
25 F
(ELF) 253.96 705.45 T
9 F
( world) 283.14 705.45 T
4 F
0.23 (The diagram below shows all objects in the \322bare\323 S) 71.42 678.11 P
6 F
0.21 (ELF) 325.64 678.11 P
4 F
0.23 ( world. In addition, literals like integers,) 345.17 678.11 P
-0.14 (\337oats, and strings are conceptually part of the initial S) 71.42 664.11 P
6 F
-0.13 (ELF) 329.35 664.11 P
4 F
-0.14 ( world; block and object literals are cre-) 348.88 664.11 P
-0.56 (ated by the programmer as needed. All the objects in the system are created by adding slots to these) 71.42 650.11 P
0.14 (objects or by cloning them. T) 71.42 636.11 P
0.14 (able 3 lists all the initial objects and provides a short description for) 212.55 636.11 P
(each.) 71.42 622.11 T
71.42 55.44 539.42 716.11 C
71.42 59.9 539.42 618.11 C
71.42 59.9 539.42 618.11 R
7 X
0 K
V
352.53 575.61 441.81 593.46 R
0.5 H
2 Z
0 X
N
17 F
(^ preRead) 356.99 581.82 T
424.14 593.46 424.14 575.61 2 L
N
352.53 594.93 441.81 603.86 R
7 X
V
0 X
(snapshotAction) 369.83 598.52 T
352.53 557.75 441.81 575.61 R
N
(^ postRead) 356.99 563.97 T
424.14 575.61 424.14 557.75 2 L
N
352.53 539.9 441.81 557.75 R
N
(^ preW) 356.99 546.11 T
(rite) 381.92 546.11 T
424.14 557.75 424.14 539.9 2 L
N
352.53 522.04 441.81 539.9 R
N
(^ postW) 356.99 528.26 T
(rite) 385.48 528.26 T
424.14 539.9 424.14 522.04 2 L
N
75.89 598.28 196.29 607.21 R
7 X
V
0 X
(lobby) 126.53 601.88 T
75.89 578.61 196.29 596.46 R
N
(^ snapshotAction) 81.91 584.82 T
178.62 596.46 178.62 578.61 2 L
N
75.89 560.75 196.29 578.61 R
N
(_ doIt) 81.91 566.97 T
178.62 578.61 178.62 560.75 2 L
N
75.89 542.9 196.29 560.75 R
N
(_ printIt) 81.91 549.11 T
178.62 560.75 178.62 542.9 2 L
N
75.89 525.04 196.29 542.9 R
N
(^ systemObjects*) 81.91 531.26 T
178.62 542.9 178.62 525.04 2 L
N
89.15 424.23 182.9 442.09 R
N
(^ nil) 93.62 430.45 T
165.04 442.09 165.04 424.23 2 L
N
89.15 443.55 182.9 452.48 R
7 X
V
0 X
(systemObjects) 109.81 447.14 T
89.15 406.37 182.9 424.23 R
N
(^ true) 93.62 412.59 T
165.04 424.23 165.04 406.37 2 L
N
89.15 388.52 182.9 406.37 R
N
(^ false) 93.62 394.73 T
165.04 406.37 165.04 388.52 2 L
N
89.15 370.66 182.9 388.52 R
N
(^ objV) 93.62 376.88 T
(ector) 115.15 376.88 T
165.04 388.52 165.04 370.66 2 L
N
89.15 352.81 182.9 370.66 R
N
(^ byteV) 93.62 359.02 T
(ector) 119.59 359.02 T
165.04 370.66 165.04 352.81 2 L
N
89.15 316.7 182.9 334.55 R
N
(^ assignmentMirror) 93.62 322.91 T
165.04 334.55 165.04 316.7 2 L
N
89.15 298.84 182.9 316.7 R
N
(^ blockMirror) 93.62 305.05 T
165.04 316.7 165.04 298.84 2 L
N
89.15 280.98 182.9 298.84 R
N
(^ byteCodeMirror) 93.62 287.2 T
165.04 298.84 165.04 280.98 2 L
N
89.15 263.13 182.9 280.98 R
N
(^ byteV) 93.62 269.34 T
(ectorMirror) 119.59 269.34 T
165.04 280.98 165.04 263.13 2 L
N
89.15 245.27 182.9 263.13 R
N
(^ codeSlotsMirror) 93.62 251.49 T
165.04 263.13 165.04 245.27 2 L
N
89.15 227.42 182.9 245.27 R
N
(^ \337oatMirror) 93.62 233.63 T
165.04 245.27 165.04 227.42 2 L
N
89.15 209.56 182.9 227.42 R
N
(^ mirrorMirror) 93.62 215.78 T
165.04 227.42 165.04 209.56 2 L
N
89.15 191.7 182.9 209.56 R
N
(^ objV) 93.62 197.92 T
(ectorMirror) 115.15 197.92 T
165.04 209.56 165.04 191.7 2 L
N
89.15 173.85 182.9 191.7 R
N
(^ processMirror) 93.62 180.06 T
165.04 191.7 165.04 173.85 2 L
N
89.15 155.99 182.9 173.85 R
N
(^ slotsMirror) 93.62 162.21 T
165.04 173.85 165.04 155.99 2 L
N
89.15 138.14 182.9 155.99 R
N
(^ smiMirror) 93.62 144.35 T
165.04 155.99 165.04 138.14 2 L
N
245.39 482.93 334.67 500.79 R
N
(^ parent*) 249.86 489.15 T
317 500.79 317 482.93 2 L
N
245.39 502.25 334.67 511.18 R
7 X
V
0 X
(nil) 286.03 505.85 T
245.39 444.22 334.67 462.08 R
N
(^ parent*) 249.86 450.43 T
317 462.08 317 444.22 2 L
N
245.39 463.54 334.67 472.47 R
7 X
V
0 X
(true) 283.14 467.14 T
245.39 404.04 334.67 421.9 R
N
(^ parent*) 249.86 410.26 T
317 421.9 317 404.04 2 L
N
245.39 423.36 334.67 432.29 R
7 X
V
0 X
(false) 281.59 426.96 T
245.39 363.87 334.67 381.72 R
N
(^ parent*) 249.86 370.08 T
317 381.72 317 363.87 2 L
N
245.39 383.19 334.67 392.12 R
7 X
V
0 X
(objV) 273.36 386.78 T
(ector) 288.92 386.78 T
245.39 325.23 334.67 343.08 R
N
(^ parent*) 249.86 331.44 T
317 343.08 317 325.23 2 L
N
245.39 344.55 334.67 353.48 R
7 X
V
0 X
(byteV) 271.14 348.14 T
(ector) 291.15 348.14 T
379.23 364.37 468.51 382.22 R
N
(^ parent*) 383.7 370.58 T
450.84 382.22 450.84 364.37 2 L
N
379.23 383.69 468.51 392.62 R
7 X
V
0 X
(objV) 394.76 387.28 T
(ector parent) 410.32 387.28 T
379.23 325.73 468.51 343.58 R
N
(^ parent*) 383.7 331.94 T
450.84 343.58 450.84 325.73 2 L
N
379.23 345.05 468.51 353.98 R
7 X
V
0 X
(byteV) 392.54 348.64 T
(ector parent) 412.55 348.64 T
291.15 243.81 380.43 261.66 R
N
(^ parent*) 295.61 250.02 T
362.76 261.66 362.76 243.81 2 L
N
291.15 263.13 380.43 272.06 R
7 X
V
0 X
(assignmentMirror) 304.92 266.72 T
291.15 203.63 380.43 221.49 R
N
(^ parent*) 295.61 209.85 T
362.76 221.49 362.76 203.63 2 L
N
291.15 222.95 380.43 231.88 R
7 X
V
0 X
(blockMirror) 316.02 226.55 T
291.28 102.75 380.56 120.61 R
N
(^ parent*) 295.74 108.97 T
362.89 120.61 362.89 102.75 2 L
N
291.28 122.07 380.56 131 R
7 X
V
0 X
(immutableStringMirror) 296.6 125.67 T
367.78 376.1 379.31 372.8 367.78 369.49 367.78 372.8 4 Y
V
325.48 372.8 368.78 372.8 2 L
N
367.78 337.6 379.31 334.3 367.78 330.99 367.78 334.3 4 Y
V
325.48 334.3 368.78 334.3 2 L
N
393.52 255.72 405.05 252.42 393.52 249.11 393.52 252.42 4 Y
V
371.55 252.42 394.52 252.42 2 L
N
14 F
(\050 \051) 410.05 249.92 T
393.52 215.72 405.05 212.42 393.52 209.11 393.52 212.42 4 Y
V
371.55 212.42 394.52 212.42 2 L
N
(\050 \051) 410.05 209.92 T
393.65 114.84 405.18 111.53 393.65 108.22 393.65 111.53 4 Y
V
371.68 111.53 394.65 111.53 2 L
N
(\050 \051) 410.18 109.03 T
90 450 1.25 1.25 334.8 176.79 G
90 450 1.25 1.25 334.8 176.79 A
90 450 1.25 1.25 334.8 169.79 G
90 450 1.25 1.25 334.8 169.79 A
90 450 1.25 1.25 334.8 162.79 G
90 450 1.25 1.25 334.8 162.79 A
347.71 494.85 359.24 491.54 347.71 488.23 347.71 491.54 4 Y
V
325.74 491.54 348.71 491.54 2 L
N
26 F
(lobby) 364.24 489.04 T
347.71 457.24 359.24 453.93 347.71 450.63 347.71 453.93 4 Y
V
325.74 453.93 348.71 453.93 2 L
N
(lobby) 364.24 451.43 T
347.71 416.6 359.24 413.3 347.71 409.99 347.71 413.3 4 Y
V
325.74 413.3 348.71 413.3 2 L
N
(lobby) 364.24 410.8 T
482.05 375.89 493.59 372.58 482.05 369.27 482.05 372.58 4 Y
V
460.09 372.58 483.05 372.58 2 L
N
(lobby) 498.59 370.08 T
481.55 338.21 493.09 334.91 481.55 331.6 481.55 334.91 4 Y
V
459.59 334.91 482.55 334.91 2 L
N
(lobby) 498.09 332.41 T
455.51 588.09 467.05 584.79 455.51 581.48 455.51 584.79 4 Y
V
433.55 584.79 456.51 584.79 2 L
N
(nil) 472.05 582.29 T
455.51 570.24 467.05 566.93 455.51 563.62 455.51 566.93 4 Y
V
433.55 566.93 456.51 566.93 2 L
N
(nil) 472.05 564.43 T
455.51 552.38 467.05 549.08 455.51 545.77 455.51 549.08 4 Y
V
433.55 549.08 456.51 549.08 2 L
N
(nil) 472.05 546.58 T
455.51 534.53 467.05 531.22 455.51 527.91 455.51 531.22 4 Y
V
433.55 531.22 456.51 531.22 2 L
N
(nil) 472.05 528.72 T
156.24 64.58 455.33 78.58 R
7 X
V
2 F
0 X
(Figur) 201.92 70.58 T
(e 3) 230.36 70.58 T
(The initial S) 250.68 70.58 T
5 F
(ELF) 313.33 70.58 T
2 F
( world \050part 1\051) 334.7 70.58 T
340.76 589.8 352.3 586.49 340.76 583.18 340.76 586.49 4 Y
V
186.8 586.49 341.76 586.49 2 L
N
233.76 494.83 245.38 491.86 233.95 488.22 233.85 491.53 4 Y
V
173.3 431.95 M
201.3 431.95 201.3 431.95 213.05 461.95 D
222.03 484.89 224.15 490.29 233.85 491.52 D
0 Z
N
233.8 456.25 245.39 453.15 233.92 449.64 233.86 452.95 4 Y
V
173.3 413.95 M
200.8 413.95 200.8 413.95 212.3 433.55 D
221.25 448.8 223.23 452.18 233.85 452.93 D
N
233.83 416.21 245.38 412.98 233.87 409.6 233.85 412.91 4 Y
V
173.8 395.95 M
201.8 395.95 201.8 395.95 212.05 404.45 D
220.2 411.22 221.87 412.6 233.85 412.89 D
N
233.82 375.97 245.39 372.8 233.9 369.36 233.86 372.66 4 Y
V
173.8 378.45 M
197.8 378.45 198.8 378.45 211.55 375.45 D
221.4 373.14 223.64 372.61 233.87 372.65 D
N
233.93 337.7 245.39 334.16 233.79 331.09 233.86 334.39 4 Y
V
173.8 360.95 M
201.3 360.95 201.3 360.95 210.8 347.7 D
218.54 336.9 219.97 334.9 233.84 334.38 D
N
190.8 450.81 182.89 441.78 184.82 453.63 187.81 452.22 4 Y
V
187.8 533.99 M
206.8 533.57 206.8 533.57 214.55 530.85 D
222.3 528.13 222.3 528.13 226.05 522.69 D
229.8 517.25 229.8 517.25 230.3 510.97 D
230.8 504.69 230.8 504.69 227.3 499.25 D
223.8 493.81 223.8 493.81 216.8 488.58 D
209.8 483.35 209.8 483.35 201.55 473.72 D
194.85 465.9 193.59 464.43 187.79 452.23 D
N
279.87 256.83 291.15 252.74 279.41 250.24 279.64 253.53 4 Y
V
173.8 325.49 M
199.8 325.49 199.8 325.49 224.05 290.49 D
245.9 258.94 248.06 255.83 279.65 253.51 D
N
280.32 217.76 291.14 212.57 279.22 211.23 279.77 214.49 4 Y
V
173.8 307.49 M
198.8 307.49 198.8 307.49 225.05 263.24 D
248.52 223.67 251 219.49 279.77 214.44 D
N
279.74 114.99 291.28 111.68 279.74 108.37 279.74 111.68 4 Y
V
173.42 111.68 280.74 111.68 2 L
2 Z
N
209.32 573.24 220.86 569.93 209.32 566.62 209.32 569.93 4 Y
V
187.36 569.93 210.32 569.93 2 L
N
17 F
(the doIt method) 225.86 567.43 T
209.32 555.38 220.86 552.08 209.32 548.77 209.32 552.08 4 Y
V
187.36 552.08 210.32 552.08 2 L
N
26 F
(\050 doIt _Print \051) 225.86 549.58 T
89.15 120.34 182.9 138.19 R
N
17 F
(^ canonicalStr) 93.62 126.55 T
(.M.) 143.14 126.55 T
165.04 138.19 165.04 120.34 2 L
N
89.24 102.54 182.85 120.39 R
N
(^ immutableStr) 93.27 109 T
(.M.) 145.9 109 T
165.07 120.64 165.07 102.79 2 L
N
89.15 334.99 182.9 352.85 R
N
(^ immutableString) 93.62 341.21 T
165.04 352.85 165.04 334.99 2 L
N
245.39 287.32 334.67 305.17 R
N
(^ parent*) 249.86 293.53 T
317 305.17 317 287.32 2 L
N
245.39 306.64 334.67 315.57 R
7 X
V
0 X
(immutableString) 261.15 310.23 T
379.23 287.82 468.51 305.67 R
N
(^ parent*) 383.7 294.03 T
450.84 305.67 450.84 287.82 2 L
N
379.23 307.14 468.51 316.07 R
7 X
V
0 X
(immutableString parent) 382.55 310.73 T
367.78 299.69 379.31 296.39 367.78 293.08 367.78 296.39 4 Y
V
325.48 296.39 368.78 296.39 2 L
N
481.55 300.3 493.09 297 481.55 293.69 481.55 297 4 Y
V
459.59 297 482.55 297 2 L
N
26 F
(lobby) 498.09 294.5 T
233.87 299.68 245.18 295.66 233.46 293.07 233.67 296.38 4 Y
V
173.8 343.68 M
201.33 343.68 201.33 343.68 214.95 319.66 D
224.37 303.06 227.28 297.94 233.66 296.36 D
0 Z
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "29" 34
27 10 /Times-BoldItalic FMDEFINEFONT
28 10 /Courier-BoldOblique FMDEFINEFONT
%%Page: "30" 34
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-30) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(The initial SELF world) 446.42 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
71.42 420.35 539.42 428.34 C
71.42 426.33 539.42 426.33 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 432.01 T
(able 3 Objects in the initial S) 77.74 432.01 T
24 F
(ELF) 218.13 432.01 T
5 F
( world) 237.57 432.01 T
24 F
(Object) 71.42 409.68 T
(Description) 170.42 409.68 T
0 F
(lobby) 80.42 392.68 T
-0.08 (The center of the S) 170.42 392.68 P
1 F
-0.08 (ELF) 246.14 392.68 P
0 F
-0.08 ( object hierarchy) 262.12 392.68 P
-0.08 (, and the context in which expressions typed in at the) 328.46 392.68 P
(prompt, read in via ) 170.42 380.68 T
20 F
(_RunScript) 248.98 380.68 T
0 F
(, or used as the initializers of slots, are evaluated.) 308.95 380.68 T
27 F
(Objects in the lobby) 71.42 364.68 T
0 F
(doIt) 80.42 347.68 T
(A method synthesized from the expressions typed at the prompt \050see section I-5.2\051.) 170.42 347.68 T
(printIt) 80.42 331.68 T
0.6 (The method invoked by the system after the user) 170.42 331.68 P
0.6 (\325) 370.42 331.68 P
0.6 (s input has been successfully parsed \050see) 373.2 331.68 P
(section I-5.2\051. Initially) 170.42 319.68 T
(, contains the method ) 259.71 319.68 T
20 F
(\050 doIt _Print \051) 347.72 319.68 T
0 F
(.) 437.67 319.68 T
(snapshotAction) 80.42 303.68 T
0.29 (An object with slots for the four snapshot actions \050see section I-5.8\051. These slots are: ) 170.42 303.68 P
20 F
0.71 (pre-) 515.44 303.68 P
(Read) 170.42 291.68 T
0 F
(, ) 194.41 291.68 T
20 F
(preWrite) 199.41 291.68 T
0 F
(, ) 247.38 291.68 T
20 F
(postRead) 252.38 291.68 T
0 F
(, and ) 300.35 291.68 T
20 F
(postWrite) 322.28 291.68 T
0 F
(. These slots initially contain ) 376.25 291.68 T
20 F
(nil) 493.97 291.68 T
0 F
(.) 511.96 291.68 T
(systemObjects) 80.42 275.68 T
1.87 (This object contains slots containing the general system objects, including ) 170.42 275.68 P
20 F
4.48 (nil) 488.08 275.68 P
0 F
1.87 (, ) 506.07 275.68 P
20 F
4.48 (true) 512.94 275.68 P
0 F
1.87 (,) 536.92 275.68 P
20 F
(false) 170.42 263.68 T
0 F
(, and the prototypical vectors and mirrors.) 200.41 263.68 T
27 F
(Objects in ) 71.42 247.68 T
28 F
(systemObjects) 115.29 247.68 T
0 F
(nil) 80.42 230.68 T
(The initializer for slots that are not explicitly initialized. Indicates \322not a useful object.\323) 170.42 230.68 T
(true) 80.42 214.68 T
(Boolean true. Ar) 170.42 214.68 T
(gument to and returned by some primitives.) 237.14 214.68 T
(false) 80.42 198.68 T
(Boolean false. Ar) 170.42 198.68 T
(gument to and returned by some primitives.) 240.47 198.68 T
(objV) 80.42 182.69 T
(ector) 99.3 182.69 T
(The prototype for object vectors.) 170.42 182.69 T
(byteV) 80.42 166.69 T
(ector) 103.74 166.69 T
(The prototype for byte vectors.) 170.42 166.69 T
(immutableString) 80.42 150.69 T
(The prototype for immutable \050but non canonical\051 strings.) 170.42 150.69 T
(objV) 80.42 134.69 T
(ector parent) 99.3 134.69 T
-0.08 (The object that ) 170.42 134.69 P
20 F
-0.2 (objVector) 232.63 134.69 P
0 F
-0.08 ( inherits from. Since all object vectors will inherit from this ob-) 286.6 134.69 P
1.82 (ject \050because they are cloned from ) 170.42 122.69 P
20 F
4.36 (objVector) 321.18 122.69 P
0 F
1.82 (\051, this object will be the repository for) 375.15 122.69 P
(shared behavior \050a ) 170.42 110.69 T
16 F
(traits object) 246.74 110.69 T
0 F
(\051 for object vectors.) 294.78 110.69 T
(byteV) 80.42 94.69 T
(ector parent) 103.74 94.69 T
(Similar to ) 170.42 94.69 T
20 F
(objVector parent) 212.63 94.69 T
0 F
(: the byteV) 308.58 94.69 T
(ector traits object.) 351.88 94.69 T
71.42 55.44 539.42 716.11 C
72.83 439.34 538.02 716.11 C
72.83 439.34 538.02 716.11 R
7 X
0 K
V
139.79 456.88 470.12 470.27 R
V
2 F
0 X
(Figur) 201.1 462.27 T
(e 3) 229.53 462.27 T
(The initial S) 249.85 462.27 T
5 F
(ELF) 312.5 462.27 T
2 F
( world \050part 2\051) 333.87 462.27 T
314.38 675.62 403.66 693.47 R
0.5 H
2 Z
N
17 F
(^ parent*) 318.85 681.83 T
385.99 693.47 385.99 675.62 2 L
N
314.38 694.94 403.66 703.86 R
7 X
V
0 X
(0 \050) 328.36 698.53 T
26 F
(integer) 337.69 698.53 T
17 F
(\051 parent) 362.13 698.53 T
314.38 586.84 403.66 604.69 R
N
(^ parent*) 318.85 593.05 T
385.99 604.69 385.99 586.84 2 L
N
311.73 606.16 406.32 615.08 R
7 X
V
0 X
(\325\325) 313.26 609.75 T
( \050) 316.81 609.75 T
26 F
(canonical string) 321.69 609.75 T
17 F
(\051 parent) 377.24 609.75 T
314.38 545.02 403.66 562.87 R
N
(^ parent*) 318.85 551.23 T
385.99 562.87 385.99 545.02 2 L
N
314.38 564.34 403.66 573.26 R
7 X
V
0 X
([ ] \050) 330.14 567.93 T
26 F
(block) 341.69 567.93 T
17 F
(\051 parent) 360.36 567.93 T
314.38 632.09 403.66 649.95 R
N
(^ parent*) 318.85 638.31 T
385.99 649.95 385.99 632.09 2 L
N
314.38 651.42 403.66 660.34 R
7 X
V
0 X
(0.0 \050) 329.69 655.01 T
26 F
(\337oat) 345.69 655.01 T
17 F
(\051 parent) 360.8 655.01 T
416.62 687.64 428.16 684.33 416.62 681.02 416.62 684.33 4 Y
V
394.66 684.33 417.62 684.33 2 L
N
26 F
(lobby) 433.16 681.83 T
416.62 644.12 428.16 640.81 416.62 637.5 416.62 640.81 4 Y
V
394.66 640.81 417.62 640.81 2 L
N
(lobby) 433.16 638.31 T
416.62 598.86 428.16 595.55 416.62 592.24 416.62 595.55 4 Y
V
394.66 595.55 417.62 595.55 2 L
N
(lobby) 433.16 593.05 T
416.62 557.04 428.16 553.73 416.62 550.42 416.62 553.73 4 Y
V
394.66 553.73 417.62 553.73 2 L
N
(lobby) 433.16 551.23 T
162.11 545.02 251.39 562.87 R
N
17 F
(^ parent*) 166.57 551.23 T
233.72 562.87 233.72 545.02 2 L
N
162.11 564.34 251.39 573.26 R
7 X
V
0 X
([ ] \050) 188.31 567.93 T
26 F
(blocks) 199.86 567.93 T
17 F
(\051) 222.52 567.93 T
162.11 527.16 251.39 545.02 R
N
(^ value[:{With:}]) 166.57 533.38 T
233.72 545.02 233.72 527.16 2 L
N
162.11 675.62 251.39 693.47 R
N
(^ parent*) 166.57 681.83 T
233.72 693.47 233.72 675.62 2 L
N
162.11 694.94 251.39 703.86 R
7 X
V
0 X
(0 \050) 186.53 698.53 T
26 F
(integers) 195.86 698.53 T
17 F
(\051) 224.3 698.53 T
162.11 632.06 251.39 649.91 R
N
(^ parent*) 166.57 638.27 T
233.72 649.91 233.72 632.06 2 L
N
162.11 651.38 251.39 660.31 R
7 X
V
0 X
(0.0 \050) 187.86 654.97 T
26 F
(\337oats) 203.86 654.97 T
17 F
(\051) 222.97 654.97 T
162.11 588.54 251.39 606.39 R
N
(^ parent*) 166.57 594.75 T
233.72 606.39 233.72 588.54 2 L
N
162.11 607.86 251.39 616.79 R
7 X
V
0 X
(\325\325 \050) 171.43 611.45 T
26 F
(canonical strings) 179.86 611.45 T
17 F
(\051) 239.41 611.45 T
302.85 644.29 314.38 640.99 302.85 637.68 302.85 640.99 4 Y
V
242.46 640.99 303.85 640.99 2 L
N
302.85 688.32 314.38 685.01 302.85 681.7 302.85 685.01 4 Y
V
242.46 685.01 303.85 685.01 2 L
N
302.85 599.04 314.38 595.73 302.85 592.42 302.85 595.73 4 Y
V
242.46 595.73 303.85 595.73 2 L
N
302.85 557.25 314.38 553.94 302.85 550.64 302.85 553.94 4 Y
V
242.46 553.94 303.85 553.94 2 L
N
264.42 539.04 275.96 535.73 264.42 532.42 264.42 535.73 4 Y
V
242.46 535.73 265.42 535.73 2 L
N
26 F
(block method) 280.96 533.23 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "30" 35
%%Page: "31" 35
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-31) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(The initial SELF world) 446.42 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(immutableString parent) 80.42 709.45 T
(Similar to ) 170.42 697.45 T
20 F
(objVector parent) 212.63 697.45 T
0 F
(: the immutableString traits object.) 308.58 697.45 T
16 F
(mirr) 80.42 681.45 T
(ors) 97.82 681.45 T
0 F
(See below) 170.42 681.45 T
(.) 211.13 681.45 T
27 F
(Literals and their parents) 71.42 665.45 T
16 F
(integers) 80.42 648.45 T
0 F
-0.14 (Integers have one slot, a parent slot called ) 170.42 648.45 P
20 F
-0.32 (parent) 339.49 648.45 P
0 F
-0.14 (. All integers have the same parent: see ) 375.47 648.45 P
20 F
-0.32 (0) 533.43 648.45 P
(parent) 170.42 636.45 T
0 F
(, below) 206.4 636.45 T
(.) 235.18 636.45 T
(0 parent) 80.42 620.45 T
(All integers share this parent, the integer traits object.) 170.42 620.45 T
16 F
(\337oats) 80.42 604.45 T
0 F
0.22 (Floats have one slot, a parent slot called ) 170.42 604.45 P
20 F
0.54 (parent) 334.61 604.45 P
0 F
0.22 (. All \337oats have the same parent: see ) 370.58 604.45 P
20 F
0.54 (0.0) 521.43 604.45 P
(parent) 170.42 592.45 T
0 F
(, below) 206.4 592.45 T
(.) 235.18 592.45 T
(0.0 parent) 80.42 576.45 T
(All \337oats share this parent, the \337oat traits object.) 170.42 576.45 T
16 F
(canonical strings) 80.42 560.45 T
0 F
-0.01 (In addition to a byte vector part a canonical string object \050an immutable canonicalized string) 170.42 560.45 P
-0.03 (literal\051 has one slot, ) 170.42 548.45 P
20 F
-0.06 (parent) 251.65 548.45 P
0 F
-0.03 (, a parent slot containing the same object for all strings \050see ) 287.64 548.45 P
20 F
-0.06 (\325\325) 527.43 548.45 P
(parent) 170.42 536.45 T
0 F
( below\051.) 206.4 536.45 T
(\325) 80.42 520.45 T
(\325 parent) 83.01 520.45 T
(All canonical strings share this parent, the canonical string traits object.) 170.42 520.45 T
16 F
(blocks) 80.42 504.45 T
0 F
0.22 (Blocks have two slots: ) 170.42 504.45 P
20 F
0.52 (parent) 264.02 504.45 P
0 F
0.22 (, a parent slot containing the same object for all blocks \050see) 300 504.45 P
20 F
0.53 ([] parent) 170.42 492.45 P
0 F
0.22 (, below\051, and ) 224.93 492.45 P
20 F
0.53 (value) 280.27 492.45 P
0 F
0.22 ( \050or ) 310.25 492.45 P
20 F
0.53 (value:) 327.34 492.45 P
0 F
0.22 (, or ) 363.32 492.45 P
20 F
0.53 (value:With:) 379.59 492.45 P
0 F
0.22 (, etc., depending on the) 445.55 492.45 P
(number of ar) 170.42 480.45 T
(guments the block takes\051 which contains the block\325) 221.87 480.45 T
(s deferred method.) 426.45 480.45 T
([ ] parent) 80.42 464.45 T
(All blocks share this parent, the block traits object.) 170.42 464.45 T
27 F
(Prototypical mirrors) 71.42 448.45 T
0 F
1.05 (All of the prototypical mirrors consist of one slot, a parent slot named ) 170.42 431.45 P
20 F
2.52 (parent) 465.55 431.45 P
0 F
1.05 (. Each of) 501.53 431.45 P
-0.16 (these parent slots points to an empty object \050denoted in Figure 3 by \322) 170.42 419.45 P
20 F
-0.38 (\050 \051) 444.04 419.45 P
0 F
-0.16 (\323\051. See T) 461.65 419.45 P
-0.16 (able 14 for) 496.44 419.45 P
(a discussion of mirrors and their re\337ectees.) 170.42 407.45 T
(assignmentMirror) 80.42 391.45 T
(Mirror on the assignment primitive; the actual re\337ectee is an empty object.) 170.42 391.45 T
(blockMirror) 80.42 375.45 T
(Prototypical mirror on blocks.) 170.42 375.45 T
(byteCodeMirror) 80.42 359.45 T
(Prototypical mirror on byte code objects \050see section I-3.2\051.) 170.42 359.45 T
(byteV) 80.42 343.45 T
(ectorMirror) 103.74 343.45 T
(Prototypical mirror on byte vectors; the re\337ectee is the prototypical byte vector) 170.42 343.45 T
(.) 486.04 343.45 T
(codeSlotsMirror) 80.42 327.45 T
(Prototypical mirror on objects with code \050methods, block methods, and inner methods\051.) 170.42 327.45 T
(\337oatMirror) 80.42 311.45 T
(Prototypical mirror on \337oats; the re\337ectee is ) 170.42 311.45 T
20 F
(0.0) 349.48 311.45 T
0 F
(.) 367.47 311.45 T
(mirrorMirror) 80.42 295.45 T
(Prototypical mirror on mirrors; the re\337ectee is ) 170.42 295.45 T
20 F
(slotsMirror) 357.24 295.45 T
0 F
(.) 422.65 295.45 T
(objV) 80.42 279.45 T
(ectorMirror) 99.3 279.45 T
(Prototypical mirror on object vectors; the re\337ectee is the prototypical object vector) 170.42 279.45 T
(.) 500.47 279.45 T
(processMirror) 80.42 263.45 T
(Prototypical mirror on processes; the re\337ectee is the initial process.) 170.42 263.45 T
(slotsMirror) 80.42 247.45 T
(Prototypical mirror on plain objects without code; the re\337ectee is an empty object.) 170.42 247.45 T
(smiMirror) 80.42 231.45 T
(Prototypical mirror on integers; the re\337ectee is ) 170.42 231.45 T
20 F
(0.) 359.46 231.45 T
0 F
(canonicalStringMirror) 80.42 215.45 T
(Prototypical mirror on canonical strings; the re\337ectee is the empty canonical string \050) 170.42 203.45 T
20 F
(\325\325) 506.86 203.45 T
0 F
(\051.) 518.85 203.45 T
(immutableStringMirror) 80.42 187.45 T
(Prototypical mirror on immutable strings; the re\337ectee is the empty immutable string.) 170.42 175.45 T
FMENDPAGE
%%EndPage: "31" 36
%%Page: "32" 36
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-32) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(startup.self) 495.29 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix C) 71.42 705.45 T
(startup.self) 170.42 705.45 T
4 F
-0.54 (When S) 71.42 678.11 P
6 F
-0.49 (ELF) 109.2 678.11 P
4 F
-0.54 ( is started, it looks for the script \336le \322startup.self\323 in the S) 128.73 678.11 P
6 F
-0.49 (ELF) 398.8 678.11 P
4 F
-0.54 ( directory \050scripts are dis-) 418.33 678.11 P
0.45 (cussed in section I-5.5\051. If it exists, the startup script is read in just before displaying the prompt) 71.42 664.11 P
-0.47 (\050after the snapshot is read in, if S) 71.42 650.11 P
6 F
-0.44 (ELF) 226.65 650.11 P
4 F
-0.47 ( was invoked by starting a snapshot\051. The startup script is use-) 246.18 650.11 P
0.56 (ful for customizing the S) 71.42 636.11 P
6 F
0.51 (ELF) 192.93 636.11 P
4 F
0.56 ( environment by setting favorite options and de\336ning abbreviations) 212.47 636.11 P
(for common messages.) 71.42 622.11 T
(An example startup script:) 71.42 596.11 T
12 F
(_PrintScriptName: true) 93.02 570.78 T
(_StackPrintLimit: 100) 93.02 557.78 T
(_AddSlots: \050 |) 93.02 531.78 T
(_ shortcuts* = \050 |) 108.42 518.78 T
(as = \050 _AsObject \051.) 124.42 505.78 T
(p = \050 _Print \051.) 124.42 492.78 T
(i = \050 inspect: self \051.) 124.42 479.78 T
(rs = \050 _ReadSnapshotIfFail: [ | :name. :err. |) 124.42 466.78 T
(\325Snapshot\325 _ReadSnapshot] \051.) 323.42 453.78 T
(ws = \050 _WriteSnapshotIfFail: [ | :name. :err. |) 124.42 440.78 T
(\325Snapshot\325 _WriteSnapshot] \051) 323.42 427.78 T
0 F
(.) 507.99 427.78 T
12 F
(run = \050 |) 124.42 401.78 T
(undefinedSelector: sel Type: msgType Delegatee: del) 153.42 388.78 T
(MethodHolder: mh Arguments: args = \050 sel _RunScript \051.) 179.42 375.78 T
(| \051) 124.42 362.78 T
(| \051) 108.42 349.78 T
(| \051) 93.02 336.78 T
4 F
0.58 (This startup script sets some options, de\336nes abbreviations, and uses a couple of clever tricks to) 71.42 311.11 P
-0.15 (de\336ne some shortcuts. The \336rst two lines set options: when reading in scripts, the script name will) 71.42 297.11 P
0.12 (be printed; also, stack dumps will print up to 200 frames \050100 from the top and 100 from the bot-) 71.42 283.11 P
(tom\051.) 71.42 269.11 T
0.76 (Next, a slot called \322shortcuts\323 is added to the lobby) 71.42 243.11 P
0.76 (. Since this is a parent slot, a slot de\336ned in) 323.96 243.11 P
12 F
0.03 (shortcuts) 71.42 229.11 P
4 F
0.02 ( can be invoked simply by typing its name with the lobby as the \050usually implicit\051 re-) 130.75 229.11 P
0.23 (ceiver) 71.42 215.11 P
0.23 (, or sending it as a message to an object that inherits from the lobby) 100.24 215.11 P
0.23 (. The slots ) 426.75 215.11 P
12 F
0.5 (as) 480.07 215.11 P
4 F
0.23 (, ) 493.25 215.11 P
12 F
0.5 (p) 499.47 215.11 P
4 F
0.23 (, and ) 506.07 215.11 P
12 F
0.5 (i) 532.83 215.11 P
4 F
-0.47 (serve as abbreviations for common messages interactively sent to objects during programming and) 71.42 201.11 P
(debugging.) 71.42 187.11 T
0.52 (The slots ) 71.42 161.11 P
12 F
1.14 (rs) 119.1 161.11 P
4 F
0.52 ( and ) 132.28 161.11 P
12 F
1.14 (ws) 156.63 161.11 P
4 F
0.52 ( are shortcuts for reading and writing snapshots. They use the failure blocks) 169.82 161.11 P
-0.25 (for primitives to provide a default name for snapshots. T) 71.42 147.11 P
-0.25 (yping ) 339.53 147.11 P
12 F
-0.54 (\325snap\325 rs) 369.6 147.11 P
4 F
-0.25 ( at the prompt will read) 428.39 147.11 P
(the snapshot \322snap,\323 while typing just ) 71.42 133.11 T
12 F
(rs) 256.31 133.11 T
4 F
( will read the snapshot \322Snapshot.\323) 269.5 133.11 T
0.28 (The \336nal slot, ) 71.42 107.11 P
12 F
0.63 (run) 141.58 107.11 P
4 F
0.28 (, uses the lookup error message sent by the system to provide a convenient in-) 161.35 107.11 P
0.09 (terface for reading in scripts. ) 71.42 93.11 P
12 F
0.21 (run) 213.11 93.11 P
4 F
0.09 ( is an object that understands only one message, ) 232.88 93.11 P
12 F
0.21 (undefinedS-) 466.91 93.11 P
-0.15 (elector:...) 71.42 79.11 P
4 F
-0.07 (. Thus, sending any other message to ) 143.93 79.11 P
12 F
-0.15 (run) 323.66 79.11 P
4 F
-0.07 ( causes the system to send it the message) 343.44 79.11 P
12 F
0.57 (undefinedSelector:...) 71.42 65.11 P
4 F
0.26 (. ) 209.85 65.11 P
12 F
0.57 (run) 216.11 65.11 P
4 F
0.26 ( takes the ar) 235.88 65.11 P
0.26 (gument describing the unde\336ned selector \050a string\051) 294.05 65.11 P
FMENDPAGE
%%EndPage: "32" 37
%%Page: "33" 37
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-33) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(startup.self) 495.29 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.24 (and sends ) 71.42 708.11 P
12 F
-0.52 (_RunScript) 120.92 708.11 P
4 F
-0.24 ( to it. T) 186.83 708.11 P
-0.24 (o read in the script \322all.self,\323 for example, simply type ) 220.6 708.11 P
12 F
-0.52 (run all) 482.38 708.11 P
4 F
-0.24 ( at) 528 708.11 P
(the prompt.) 71.42 694.11 T
FMENDPAGE
%%EndPage: "33" 38
%%Page: "34" 38
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-34) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(VM configuration) 466.97 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix D) 71.42 705.45 T
(VM con\336guration) 170.42 705.45 T
4 F
-0.05 (The S) 71.42 678.11 P
6 F
-0.05 (ELF) 99.69 678.11 P
4 F
-0.05 ( system uses U) 119.22 678.11 P
6 F
-0.05 (NIX) 190.69 678.11 P
4 F
-0.05 ( environment variables to con\336gure itself when it starts up. The vari-) 210.22 678.11 P
-0.5 (ables and their meanings are listed in the table below; all sizes are in bytes. If you do not de\336ne one) 71.42 664.11 P
(of these environment variables, its default value is used.) 71.42 650.11 T
71.42 605.12 539.42 613.11 C
71.42 611.1 539.42 611.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 616.78 T
(able 4 Con\336guration variables) 77.74 616.78 T
24 F
(Name) 71.42 594.45 T
(Default value) 143.42 594.45 T
(Description) 224.42 594.45 T
0 F
(SELFDIR) 71.42 577.45 T
(current directory) 143.42 577.45 T
1.67 (Directory containing the S) 224.42 577.45 P
1 F
1.51 (ELF) 335.21 577.45 P
0 F
1.67 ( sources, e.g. \322/usr/name/self/self\323. Initializes) 351.19 577.45 P
(the option primitive ) 225 565.45 T
20 F
(_SelfDir) 306.9 565.45 T
0 F
(.) 354.33 565.45 T
(OLDSIZE) 71.42 549.45 T
(5,000,000) 143.42 549.45 T
-0.23 (Size of old space, the area of memory where long-lived S) 224.42 549.45 P
1 F
-0.2 (ELF) 451.69 549.45 P
0 F
-0.23 ( objects are stored) 467.67 549.45 P
0.35 (\050see [Ung84], [Ung86]\051. This is the primary parameter to adjust depending on) 224.42 537.45 P
0.36 (the size of your S) 224.42 525.45 P
1 F
0.33 (ELF) 295.83 525.45 P
0 F
0.36 ( world. It is generally safe to overestimate the size since) 311.8 525.45 P
0.34 (the unused portions will not occupy real memory) 224.42 513.45 P
0.34 (. However) 422.39 513.45 P
0.34 (, this may result in) 463.95 513.45 P
1.56 (excessive paging or long garbage collection pauses if too much memory is) 224.42 501.45 P
0.21 (allocated for old space, because a lot of garbage may accumulate in old space,) 224.42 489.45 P
(causing internal fragmentation and eventually a very long garbage collection. ) 224.42 477.45 T
-0.13 (T) 224.42 465.45 P
-0.13 (oo small of an OLDSIZE may cause the system to run out of space \050and S) 229.83 465.45 P
1 F
-0.12 (ELF) 523.44 465.45 P
0 F
2.05 (will terminate\051. A typical warning symptom for this situation are frequent) 224.42 453.45 P
(garbage collections that do not free much space.) 224.42 441.45 T
-0.06 (As a rule of thumb, old space should only be about 50-75% full after a garbage) 224.42 429.45 P
(collection.) 224.42 417.45 T
(EDENSIZE) 71.42 401.45 T
(100,000) 143.42 401.45 T
2.36 (Size of eden space, the area containing the most recently allocated S) 224.42 401.45 P
1 F
2.12 (ELF) 523.44 401.45 P
0 F
(objects. ) 224.42 389.45 T
(SUR) 71.42 373.45 T
(VSIZE) 90.06 373.45 T
(200,000) 143.42 373.45 T
1.71 (Size of each of the \322survivor spaces\323 \050young objects\051. This size should be) 224.42 373.45 P
(about 2*EDENSIZE to avoid premature tenuring.) 224.42 361.45 T
(CODESIZE) 71.42 345.45 T
(1,800,000) 143.42 345.45 T
0.89 (Amount of memory reserved to cache compiled code \050machine instructions\051.) 224.42 345.45 P
-0.17 (By varying this parameter \050and the next three\051 you can trade space for \050re\051com-) 224.42 333.45 P
3.32 (pilation overhead. Set CODESIZE to the desired value and then adjust) 224.42 321.45 P
0.69 (PICSIZE, DEPSIZE, and DEBUGSIZE accordingly so that none of the latter) 224.42 309.45 P
-0.19 (memory areas over\337ows before the code cache is full. \050The exact ratio between) 224.42 297.45 P
1.06 (CODESIZE, PICSIZE, DEPSIZE, and DEBUGSIZE varies from application) 224.42 285.45 P
(to application.\051) 224.42 273.45 T
(PICSIZE) 71.42 257.45 T
(200,000) 143.42 257.45 T
0.43 (Amount of memory reserved for ) 224.42 257.45 P
16 F
0.43 (polymorphic inline caches) 358.95 257.45 P
0 F
0.43 (, a special form of) 465.28 257.45 P
(inline caches designed to speed up polymorphic sends.) 224.42 245.45 T
(DEPSIZE) 71.42 229.45 T
(1,500,00) 143.42 229.45 T
1.75 (Amount of memory used to record dependencies between source code and) 224.42 229.45 P
(compiled code.) 224.42 217.45 T
(DEBUGSIZE) 71.42 201.45 T
(3,400,00) 143.42 201.45 T
-0.23 (Amount of memory used to hold debugging information for the compiled code.) 224.42 201.45 P
4 F
-0.12 (As a rule of thumb, your machine should have at least 3 MB + ) 71.42 176.12 P
6 F
-0.11 (CODESIZE) 371.91 176.12 P
4 F
-0.12 ( + ) 425.01 176.12 P
6 F
-0.11 (PICSIZE) 437.52 176.12 P
4 F
-0.12 ( + ) 477.81 176.12 P
6 F
-0.11 (OLDSIZE) 490.32 176.12 P
4 F
-0.12 (/) 536.09 176.12 P
-0.19 (2 + ) 71.42 162.12 P
6 F
-0.17 (EDENSIZE) 89.81 162.12 P
4 F
-0.19 ( + ) 142.29 162.12 P
6 F
-0.17 (SUR) 154.68 162.12 P
-0.17 (VSIZE) 175.17 162.12 P
4 F
-0.19 ( of ) 206.29 162.12 P
3 F
-0.19 (r) 221.9 162.12 P
-0.19 (eal) 226.13 162.12 P
4 F
-0.19 ( memory available to S) 240.78 162.12 P
6 F
-0.17 (ELF) 351.3 162.12 P
4 F
-0.19 ( for good performance \050i.e. roughly) 370.83 162.12 P
0.38 (8 MB for the default values shown above\051. Running under the new compiler may required a few) 71.42 148.12 P
0.14 (more megabytes. More is better) 71.42 134.12 P
0.14 (, of course. T) 223.71 134.12 P
0.14 (urn on the system monitor while using the system to) 287.32 134.12 P
-0.46 (determine the correct sizes and to detect problems \050see Appendix E for details\051. The amount of ) 71.42 120.12 P
3 F
-0.46 (vir-) 522.1 120.12 P
0.15 (tual) 71.42 106.12 P
4 F
0.15 ( memory used by S) 90.09 106.12 P
6 F
0.14 (ELF) 183.31 106.12 P
4 F
0.15 ( is at least 4 MB + ) 202.85 106.12 P
6 F
0.14 (CODESIZE) 294.97 106.12 P
4 F
0.15 ( + ) 348.07 106.12 P
6 F
0.14 (PICSIZE + DEPSIZE + DEBUGSIZE +) 361.14 106.12 P
1.62 (OLDSIZE) 71.42 92.12 P
4 F
1.77 ( + ) 117.19 92.12 P
6 F
1.62 (EDENSIZE) 133.5 92.12 P
4 F
1.77 ( + 2*) 185.98 92.12 P
6 F
1.62 (SUR) 214.27 92.12 P
1.62 (VSIZE) 234.76 92.12 P
4 F
1.77 (; be sure to con\336gure your system accordingly) 265.89 92.12 P
1.77 (. \050Many) 499.68 92.12 P
(U) 71.42 78.12 T
6 F
(NIX) 80.08 78.12 T
4 F
( systems are precon\336gured with relatively little swap space; see section I-4.1.\051) 99.61 78.12 T
FMENDPAGE
%%EndPage: "34" 39
17 7 /Courier FMDEFINEFONT
%%Page: "35" 39
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-35) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(The system monitor) 459.47 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix E) 71.42 705.45 T
(The system monitor) 170.42 705.45 T
4 F
-0.14 (The S) 71.42 678.11 P
6 F
-0.13 (ELF) 99.6 678.11 P
4 F
-0.14 ( system contains a system monitor to display information about the internal workings of) 119.14 678.11 P
-0.17 (the system such as memory management and compilation. It is invoked with ) 71.42 664.11 P
12 F
-0.38 (_Spy: true) 439.43 664.11 P
4 F
-0.17 (. When) 504.96 664.11 P
(it is active, the system monitor takes over the bottom portion of your screen:) 71.42 650.11 T
0 F
-0.17 (Caution: the system monitor always writes to /dev/fb, the console\325) 71.42 534.57 P
-0.17 (s frame buf) 334.74 534.57 P
-0.17 (fer) 379.74 534.57 P
-0.17 (. If you run S) 390.28 534.57 P
1 F
-0.15 (ELF) 442.63 534.57 P
0 F
-0.17 ( on another machine) 458.61 534.57 P
(\050e.g. via rlogin\051, the system monitor will write to the screen of the ) 71.42 522.57 T
16 F
(r) 337.36 522.57 T
(emote) 340.88 522.57 T
0 F
( machine, not your own screen.) 364.74 522.57 T
4 F
(The display can be divided roughly into two regions: the indicators and the memory status.) 71.42 497.24 T
0.51 (The indicators on the left of the display correspond to various internal activities and events. The) 71.42 471.24 P
0.03 (indicators are arranged in three rows: compiler \050top row\051, virtual machine \050middle row\051, and low-) 71.42 457.24 P
0.62 (level system events \050bottom row\051. The following table lists the individual indicators from top to) 71.42 443.24 P
(bottom and left to right:) 71.42 429.24 T
71.42 384.24 539.42 392.24 C
71.42 390.22 539.42 390.22 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 395.9 T
(able 5 The system monitor display: indicators) 77.74 395.9 T
24 F
(T) 71.42 373.58 T
(op Row) 77.17 373.58 T
(What it indicates) 143.42 373.58 T
0 F
(compiling ) 71.42 356.58 T
16 F
(xxxx) 114.46 356.58 T
0 F
(The compiler is compiling a method \050named ) 143.42 356.58 T
16 F
(xxxx) 323.58 356.58 T
0 F
(\051 into machine code. ) 341.33 356.58 T
24 F
(Middle Row) 71.42 324.58 T
(What it indicates) 143.42 324.58 T
0 F
(Self) 71.42 307.58 T
(S) 143.42 307.58 T
1 F
(ELF) 148.98 307.58 T
0 F
( is executing compiled S) 164.96 307.58 T
1 F
(ELF) 263.24 307.58 T
0 F
( code \050not primitives\051.) 279.22 307.58 T
(scavenge) 71.42 291.58 T
0.41 (The S) 143.42 291.58 P
1 F
0.37 (ELF) 167.43 291.58 P
0 F
0.41 ( object memory is being scavenged. A scavenge is a fast, partial garbage collection \050see) 183.41 291.58 P
([Ung84], [Ung86], [Lee88]\051.) 143.42 279.58 T
(GC) 71.42 263.58 T
(The S) 143.42 263.58 T
1 F
(ELF) 167.02 263.58 T
0 F
( object memory is being fully garbage-collected.) 183 263.58 T
(\337ushing) 71.42 247.58 T
(S) 143.42 247.58 T
1 F
(ELF) 148.98 247.58 T
0 F
( is \337ushing the code cache.) 164.96 247.58 T
(compacting) 71.42 231.58 T
(S) 143.42 231.58 T
1 F
(ELF) 148.98 231.58 T
0 F
( is compacting the code cache.) 164.96 231.58 T
(reclaiming) 71.42 215.58 T
(S) 143.42 215.58 T
1 F
(ELF) 148.98 215.58 T
0 F
( is reclaiming space in the code cache to make room for a new method.) 164.96 215.58 T
(sec \337ush) 71.42 199.58 T
0.54 (S) 143.42 199.58 P
1 F
0.49 (ELF) 148.98 199.58 P
0 F
0.54 ( is \337ushing some methods in the code cache because there is not enough room in one of the) 164.96 199.58 P
(secondary caches \050the caches holding the debugging and dependency information\051.) 143.42 187.58 T
(ic \337ush) 71.42 171.58 T
(S) 143.42 171.58 T
1 F
(ELF) 148.98 171.58 T
0 F
( is \337ushing all inline caches.) 164.96 171.58 T
(LRU sweep) 71.42 155.58 T
(S) 143.42 155.58 T
1 F
(ELF) 148.98 155.58 T
0 F
( is examining methods in the code cache to determine whether they have been used recently) 164.96 155.58 T
(.) 531.53 155.58 T
(VM) 71.42 139.58 T
(S) 143.42 139.58 T
1 F
(ELF) 148.98 139.58 T
0 F
( is executing VM code \050i.e. a primitive other than those listed above\051.) 164.96 139.58 T
24 F
(Bottom Row ) 71.42 107.58 T
(What it indicates) 143.42 107.58 T
0 F
(CPU ) 71.42 90.58 T
-0.23 (This bar displays the percentage of the CPU that the S) 143.42 90.58 P
1 F
-0.21 (ELF) 357.66 90.58 P
0 F
-0.23 ( process is getting \050a completely \336lled bar) 373.64 90.58 P
(equals 100% CPU utilization by S) 143.42 78.58 T
1 F
(ELF\051) 280.3 78.58 T
0 F
(.) 299.27 78.58 T
(Dot) 71.42 62.58 T
(A small dot below the CPU bar moves whenever a process switch takes place.) 144 62.58 T
71.42 55.44 539.42 716.11 C
87.74 552.24 523.11 646.11 C
87.74 552.24 523.11 646.11 R
7 X
0 K
V
100.68 598.76 118.54 603.76 R
V
17 F
0 X
(CPU) 100.68 599.09 T
280.88 598.76 384.38 612.26 R
7 X
V
0.5 H
2 Z
0 X
N
280.88 612.26 303.38 616.76 R
7 X
V
0 X
N
280.88 616.76 303.38 621.26 R
7 X
V
0 X
N
280.88 621.26 294.38 625.76 R
7 X
V
0 X
N
280.88 598.76 285.38 612.26 R
3 X
V
0 X
N
285.38 598.76 334.88 612.26 R
V
N
370.88 598.76 379.88 612.26 R
V
N
280.88 621.26 289.88 625.76 R
V
N
280.88 612.26 285.38 616.76 R
V
N
300 610.01 303.38 616.76 R
V
N
379.88 598.76 384.38 612.26 R
3 X
V
0 X
N
397.88 598.76 426.75 612.26 R
7 X
V
0 X
N
397.77 598.76 422.17 612.26 R
V
N
397.88 598.76 398.51 612.26 R
3 X
V
0 X
N
100.88 620.83 212.48 625.83 R
7 X
V
0 X
(compiling at:Put:IfAbsent) 100.88 621.16 T
(:) 205.7 621.16 T
190.88 612.26 276.38 616.76 R
7 X
V
0 X
(RSRC:768K \050 0K used\051) 190.88 612.09 T
190.88 598.76 276.38 603.26 R
7 X
V
0 X
(C-Heap: ) 190.88 598.59 T
(60,760) 241.19 598.59 T
123.73 566.55 167.73 576.05 R
7 X
V
14 F
0 X
(indicators) 123.73 569.38 T
299.07 566.19 365.57 576.19 R
7 X
V
0 X
(object memory) 299.07 569.53 T
426.29 567.55 479.82 576.05 R
7 X
V
0 X
(code cache) 426.29 569.38 T
188.12 564.19 277.83 576.19 R
7 X
V
0 X
(VM memory display) 188.12 569.53 T
115.96 598.5 138.46 603 R
7 X
V
0 X
N
433.59 598.76 462.46 612.26 R
7 X
V
0 X
N
442.22 598.76 444.61 612.26 R
V
N
433.59 598.76 434.22 612.26 R
3 X
V
0 X
N
469.3 598.76 507.1 612.26 R
7 X
V
0 X
N
469.3 598.76 484.78 612.26 R
3 X
V
0 X
N
469.3 598.76 470.12 612.26 R
3 X
V
0 X
N
433.3 598.76 442.22 612.26 R
3 X
V
0 X
N
116.27 598.79 131.88 603.26 R
V
280.92 589.5 M
282.71 586.5 282.71 586.5 284.25 585.5 D
285.78 584.5 285.78 584.5 289.61 583.75 D
293.45 583 293.45 583 297.43 582.91 D
301.42 582.81 301.42 582.81 305.15 583.04 D
308.88 583.26 308.88 583.26 312.91 583.93 D
316.95 584.6 316.95 584.6 319.59 585.04 D
322.23 585.49 322.23 585.49 324.25 585.27 D
326.27 585.04 326.27 585.04 328.98 584.04 D
331.7 583.04 331.7 583.04 332.48 582.37 D
N
384.11 589.5 M
382.31 586.5 382.31 586.5 380.78 585.5 D
379.25 584.5 379.25 584.5 375.41 583.75 D
371.58 583 371.58 583 367.59 582.91 D
363.61 582.81 363.61 582.81 359.88 583.04 D
356.15 583.26 356.15 583.26 352.11 583.93 D
348.08 584.6 348.08 584.6 345.44 585.04 D
342.8 585.49 342.8 585.49 340.78 585.27 D
338.76 585.04 338.76 585.04 336.04 584.04 D
333.33 583.04 333.33 583.04 332.55 582.37 D
N
397.92 589.5 M
399.81 586.5 399.81 586.5 401.42 585.5 D
403.04 584.5 403.04 584.5 407.08 583.75 D
411.11 583 411.11 583 415.32 582.91 D
419.52 582.81 419.52 582.81 423.44 583.04 D
427.36 583.26 427.36 583.26 431.62 583.93 D
435.87 584.6 435.87 584.6 438.65 585.04 D
441.43 585.49 441.43 585.49 443.56 585.27 D
445.68 585.04 445.68 585.04 448.55 584.04 D
451.41 583.04 451.41 583.04 452.23 582.37 D
N
506.61 589.5 M
504.72 586.5 504.72 586.5 503.1 585.5 D
501.49 584.5 501.49 584.5 497.45 583.75 D
493.41 583 493.41 583 489.21 582.91 D
485.01 582.81 485.01 582.81 481.09 583.04 D
477.16 583.26 477.16 583.26 472.91 583.93 D
468.66 584.6 468.66 584.6 465.88 585.04 D
463.1 585.49 463.1 585.49 460.97 585.27 D
458.84 585.04 458.84 585.04 455.98 584.04 D
453.12 583.04 453.12 583.04 452.3 582.37 D
N
189.42 589.5 M
190.91 586.5 190.91 586.5 192.18 585.5 D
193.46 584.5 193.46 584.5 196.64 583.75 D
199.82 583 199.82 583 203.13 582.91 D
206.45 582.81 206.45 582.81 209.54 583.04 D
212.63 583.26 212.63 583.26 215.99 583.93 D
219.34 584.6 219.34 584.6 221.53 585.04 D
223.72 585.49 223.72 585.49 225.4 585.27 D
227.08 585.04 227.08 585.04 229.33 584.04 D
231.59 583.04 231.59 583.04 232.23 582.37 D
N
275.11 589.5 M
273.62 586.5 273.62 586.5 272.34 585.5 D
271.07 584.5 271.07 584.5 267.89 583.75 D
264.7 583 264.7 583 261.39 582.91 D
258.08 582.81 258.08 582.81 254.99 583.04 D
251.89 583.26 251.89 583.26 248.54 583.93 D
245.19 584.6 245.19 584.6 242.99 585.04 D
240.8 585.49 240.8 585.49 239.13 585.27 D
237.45 585.04 237.45 585.04 235.19 584.04 D
232.94 583.04 232.94 583.04 232.29 582.37 D
N
100.92 589.5 M
102.41 586.5 102.41 586.5 103.68 585.5 D
104.96 584.5 104.96 584.5 108.14 583.75 D
111.32 583 111.32 583 114.63 582.91 D
117.94 582.81 117.94 582.81 121.04 583.04 D
124.14 583.26 124.14 583.26 127.49 583.93 D
130.84 584.6 130.84 584.6 133.03 585.04 D
135.22 585.49 135.22 585.49 136.9 585.27 D
138.58 585.04 138.58 585.04 140.83 584.04 D
143.09 583.04 143.09 583.04 143.73 582.37 D
N
186.6 589.5 M
185.12 586.5 185.12 586.5 183.84 585.5 D
182.57 584.5 182.57 584.5 179.39 583.75 D
176.2 583 176.2 583 172.89 582.91 D
169.58 582.81 169.58 582.81 166.49 583.04 D
163.39 583.26 163.39 583.26 160.04 583.93 D
156.69 584.6 156.69 584.6 154.49 585.04 D
152.3 585.49 152.3 585.49 150.63 585.27 D
148.95 585.04 148.95 585.04 146.69 584.04 D
144.44 583.04 144.44 583.04 143.79 582.37 D
N
12 F
(.) 101.13 592.54 T
397.77 612.2 411.27 616.7 R
7 X
V
0 X
N
397.77 612.2 400.49 616.7 R
V
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "35" 40
%%Page: "36" 40
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-36) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(The system monitor) 459.47 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(page ) 71.42 709.45 T
16 F
(N) 92.79 709.45 T
0.56 (N) 143.42 709.45 P
0 F
0.56 ( page faults occurred during the last time interval \050) 150.09 709.45 P
16 F
0.56 (N) 357.47 709.45 P
0 F
0.56 ( is not displayed if ) 364.14 709.45 P
16 F
0.56 (N) 443.28 709.45 P
0 F
0.56 (=1\051. The time interval) 449.95 709.45 P
(currently is 1/25 of a second.) 143.42 697.45 T
(read) 71.42 681.45 T
(S) 143.42 681.45 T
1 F
(ELF) 148.98 681.45 T
0 F
( is blocked reading from a \322slow\323 device, e.g. the keyboard or mouse.) 164.96 681.45 T
(write) 71.42 665.45 T
(S) 143.42 665.45 T
1 F
(ELF) 148.98 665.45 T
0 F
( is blocked writing to a \322slow\323 device, e.g. the screen.) 164.96 665.45 T
(disk in/out) 71.42 649.45 T
(S) 143.42 649.45 T
1 F
(ELF) 148.98 649.45 T
0 F
( is doing disk I/O.) 164.96 649.45 T
(UNIX) 71.42 633.45 T
(S) 143.42 633.45 T
1 F
(ELF) 148.98 633.45 T
0 F
( is blocked in some U) 164.96 633.45 T
1 F
(NIX) 251.85 633.45 T
0 F
( system call other than read or write.) 267.82 633.45 T
4 F
-0.09 (The middle part of the display contains some information on VM memory usage displayed in tex-) 71.42 608.11 P
(tual form, as described below:) 71.42 594.11 T
71.42 549.12 539.42 557.11 C
71.42 555.1 539.42 555.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 560.78 T
(able 6 VM memory status information) 77.74 560.78 T
24 F
(Name) 71.42 538.45 T
(Description) 143.42 538.45 T
0 F
(RSRC) 71.42 521.45 T
1.23 (Size and utilization of the resource area \050an area of memory used for temporary storage by the) 143.42 521.45 P
(compiler and by primitives\051.) 143.42 509.45 T
(C-Heap) 71.42 493.45 T
0.1 (Number of bytes allocated on the C heap by S) 143.42 493.45 P
1 F
0.09 (ELF) 328.36 493.45 P
0 F
0.1 ( \050excluding the memory and code spaces and the) 344.34 493.45 P
(resource area\051. Bitmaps used by the pixrect primitives, for example, are allocated on the C heap. ) 143.42 481.45 T
4 F
-0.45 (The memory status portion of the system monitor consists of bars representing memory spaces and) 71.42 456.12 P
0.37 (their utilization; all bars are drawn to scale relative to one another) 71.42 442.12 P
0.37 (, their areas being proportional) 390.4 442.12 P
-0.12 (to the actual sizes of the memory spaces. The next table explains the details of this part of the sys-) 71.42 428.12 P
(tem monitor) 71.42 414.12 T
(\325) 130.84 414.12 T
(s display) 134.17 414.12 T
(. \050Appendix D explains how to change the size of these memory spaces.\051) 175.71 414.12 T
71.42 369.13 539.42 377.12 C
71.42 375.1 539.42 375.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 380.79 T
(able 7 The system monitor display: memory status) 77.74 380.79 T
24 F
(Space) 71.42 358.46 T
(Description) 143.42 358.46 T
0 F
(object memory) 71.42 342.46 T
0.04 (The four bars represent \050from top to bottom\051 ) 143.42 342.46 P
16 F
0.04 (eden) 324.19 342.46 P
0 F
0.04 (, the two ) 343.06 342.46 P
16 F
0.04 (survivor spaces) 380.39 342.46 P
0 F
0.04 (, and ) 442.89 342.46 P
16 F
0.04 (old space) 464.9 342.46 P
0 F
0.04 (. The left) 502.98 342.46 P
-0.23 (and right parts of the bar represent the space used by \322plain\323 objects and byte vectors, respectively) 143.42 330.46 P
-0.23 (.) 532.93 330.46 P
11 F
-0.19 (\240) 535.43 334.46 P
0 F
-0.05 (The above picture shows a situation in which about half of old space is \336lled with plain objects and) 143.42 318.46 P
1.14 (about 15% is \336lled with byte vectors. A small fraction of old space\325) 143.42 306.46 P
1.14 (s used portions is currently) 427.17 306.46 P
(paged out \050gray areas\051.) 143.42 294.46 T
(code cache) 71.42 278.46 T
-0.05 (These four bars represent the cache holding compiled methods with their associated debugging and) 143.42 278.46 P
1.1 (dependency information. The cache represented by the leftmost bar contains the actual machine) 143.42 266.46 P
0.87 (code for methods \050including some headers and relocation information\051, the cache represented by) 143.42 254.46 P
0.91 (the middle bar contains dependency information for the compiled methods, and the cache repre-) 143.42 242.46 P
0.91 (sented by the rightmost bar contains the debugging information. The three-way split reduces the) 143.42 230.46 P
-0.11 (working set size of the code cache. The cache represented by the small bar sitting on top of the left-) 143.42 218.46 P
(most bar contains polymorphic inline caches.) 143.42 206.46 T
24 F
(Color) 71.42 190.46 T
(Meaning) 143.42 190.46 T
0 F
(black) 71.42 173.46 T
(Allocated, residing in real memory) 143.42 173.46 T
(.) 282.4 173.46 T
(gray) 71.42 157.46 T
(Allocated, paged out.) 143.42 157.46 T
11 F
(\340) 228.92 161.46 T
0 F
(white) 71.42 141.46 T
(Unallocated memory) 143.42 141.46 T
(.) 226.88 141.46 T
71.42 105.44 539.42 125.53 C
71.42 113.43 203.4 113.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.41 (\240 ) 71.42 102.77 P
0 F
0.51 (The segregation of \050the vector of bytes in\051 byte vectors from other objects is an implementation detail improving) 80.24 98.77 P
(scavenging and scanning performance \050see [Lee88] and [CUL89] for details\051.) 71.42 87.77 T
11 F
0.55 (\340 ) 71.42 77.77 P
0 F
0.69 (The residency information is updated only once a second for ef) 80.53 73.77 P
0.69 (\336ciency reasons; all other information is updated) 339.85 73.77 P
(continuously) 71.42 62.77 T
(.) 122.42 62.77 T
FMENDPAGE
%%EndPage: "36" 41
%%Page: "37" 41
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-37) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix F) 71.42 705.45 T
(Primitives) 170.42 705.45 T
4 F
0.32 (Primitives are S) 71.42 678.11 P
6 F
0.29 (ELF) 148.68 678.11 P
4 F
0.32 ( methods implemented by the virtual machine. The \336rst character of a primi-) 168.22 678.11 P
0.97 (tive\325) 71.42 664.11 P
0.97 (s selector is an underscore \050\324) 92.75 664.11 P
12 F
2.14 (_) 234.49 664.11 P
4 F
0.97 (\325\051. Y) 241.08 664.11 P
0.97 (ou cannot de\336ne primitives yourself, nor can you de\336ne) 263.5 664.11 P
(slots beginning with an underscore. ) 71.42 650.11 T
10 F
(F) 71.42 616.78 T
(.1 Primitive failur) 78.69 616.78 T
(es) 188.81 616.78 T
4 F
0.01 (Every primitive call can take an optional ar) 71.42 590.11 P
0.01 (gument de\336ning how errors should be handled for this) 278.82 590.11 P
0.32 (call. T) 71.42 576.11 P
0.32 (o do this, the primitive is extended with an ) 101.55 576.11 P
12 F
0.7 (IfFail:) 312.31 576.11 P
4 F
0.32 ( ar) 358.45 576.11 P
0.32 (gument. For example, ) 370.87 576.11 P
12 F
0.7 (_AsObject) 480.1 576.11 P
4 F
(becomes ) 71.42 562.11 T
12 F
(_AsObjectIfFail:) 116.39 562.11 T
4 F
(, and ) 221.86 562.11 T
12 F
(_IntAdd:) 248.17 562.11 T
4 F
( becomes ) 300.9 562.11 T
12 F
(_IntAdd:IfFail:) 348.87 562.11 T
4 F
(.) 447.74 562.11 T
12 F
(> ) 93.02 536.78 T
18 F
(3 _IntAdd: \325a\325 IfFail: [ | :name. :err | ) 106.21 536.78 T
(\050\325failed! op=\325, name, \325 err=\325, err\051 printLine. 0 ]) 125.42 523.78 T
12 F
(failed! op=_IntAdd: err=badTypeError) 93.02 510.78 T
(0) 93.02 497.78 T
(> ) 93.02 484.78 T
4 F
-0.13 (If a primitive fails and the primitive call ) 71.42 459.11 P
3 F
-0.13 (has) 265.59 459.11 P
4 F
-0.13 ( an ) 282.25 459.11 P
12 F
-0.29 (IfFail:) 299.3 459.11 P
4 F
-0.13 ( part, the message ) 345.45 459.11 P
12 F
-0.29 (value:With:) 433.86 459.11 P
4 F
-0.13 ( is sent) 506.37 459.11 P
0.08 (to the ) 71.42 445.11 P
12 F
0.19 (IfFail:) 101.58 445.11 P
4 F
0.08 ( ar) 147.72 445.11 P
0.08 (gument, passing two strings: the name of the primitive and an error string indi-) 159.9 445.11 P
0.07 (cating the reason for failure. If the failing primitive call ) 71.42 431.11 P
3 F
0.07 (does) 340.91 431.11 P
4 F
0.07 ( ) 362.9 431.11 P
3 F
0.07 (not) 365.96 431.11 P
4 F
0.07 ( have an ) 381.29 431.11 P
12 F
0.15 (IfFail:) 424.46 431.11 P
4 F
0.07 ( part, the mes-) 470.6 431.11 P
0.84 (sage ) 71.42 417.11 P
12 F
1.85 (primitive:FailedWith:) 96.58 417.11 P
4 F
0.84 ( is sent to the receiver of the primitive call with the same two) 235.01 417.11 P
(strings as ar) 71.42 403.11 T
(guments.) 128.5 403.11 T
0 F
1.1 (The old compiler handles ) 71.42 381.45 P
20 F
2.65 (IfFail:) 180.21 381.45 P
0 F
1.1 ( ar) 222.19 381.45 P
1.1 (guments slightly dif) 233.38 381.45 P
1.1 (ferently than other ar) 315.37 381.45 P
1.1 (guments: it does not evaluate the) 402.6 381.45 P
20 F
2.25 (IfFail:) 71.42 369.45 P
0 F
0.94 ( ar) 113.4 369.45 P
0.94 (gument until the error condition actually occurs. This is in contrast to the new compiler which treats) 124.42 369.45 P
20 F
1.82 (IfFail:) 71.42 357.45 P
0 F
0.76 ( ar) 113.4 357.45 P
0.76 (guments just like other ar) 124.25 357.45 P
0.76 (guments, always evaluating them before the primitive call takes place. Note) 228.71 357.45 P
0.02 (that this dif) 71.42 345.45 P
0.02 (ference can be ignored in the common case where the ) 116.81 345.45 P
20 F
0.04 (IfFail:) 334.02 345.45 P
0 F
0.02 ( ar) 375.99 345.45 P
0.02 (gument is a block \050since blocks evalu-) 386.1 345.45 P
(ate to themselves without side ef) 71.42 333.45 T
(fects\051.) 201.99 333.45 T
4 F
-0.15 (The result returned by the error handler becomes the result of the primitive operation \050) 71.42 308.11 P
12 F
-0.33 (0) 483.66 308.11 P
4 F
-0.15 ( in our ex-) 490.25 308.11 P
-0.1 (ample\051; execution then continues normally) 71.42 294.11 P
-0.1 (. If you want the program to be aborted, you have to do) 275.45 294.11 P
0.78 (this explicitly within the error handler) 71.42 280.11 P
0.78 (, for example by calling the standard ) 257.05 280.11 P
12 F
1.71 (error:) 441.02 280.11 P
4 F
0.78 ( method de-) 480.58 280.11 P
(\336ned in the default world.) 71.42 266.11 T
0.1 (The following table lists the error strings passed by primitives to indicate the reason of the primi-) 71.42 240.11 P
(tive failure.) 71.42 226.11 T
71.42 181.12 539.42 189.11 C
71.42 187.1 539.42 187.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 192.78 T
(able 8 Primitive failur) 77.74 192.78 T
(es) 186.48 192.78 T
24 F
(Name) 71.42 170.45 T
(Description) 215.42 170.45 T
0 F
(primitiveNotDe\336nedError) 71.42 153.45 T
(Primitive not de\336ned.) 215.42 153.45 T
(primitiveFailedError) 71.42 137.45 T
(General primitive failure \050for example, an ar) 215.42 137.45 T
(gument has an invalid value\051.) 393.15 137.45 T
(badT) 71.42 121.45 T
(ypeError) 91.26 121.45 T
(The receiver or an ar) 215.42 121.45 T
(gument is of the wrong type.) 298.49 121.45 T
(divisionByZeroError) 71.42 105.45 T
(Division by zero.) 215.42 105.45 T
(over\337owError) 71.42 89.45 T
0.86 (Integer over\337ow) 215.42 89.45 P
0.86 (. This can occur in integer arithmetic primitives or in U) 281.96 89.45 P
1 F
0.77 (NIX) 511.77 89.45 P
0 F
0.86 ( or) 527.74 89.45 P
(pixrect primitives \050when the result is too lar) 215.42 77.45 T
(ge to be represented as an integer\051.) 390.41 77.45 T
(badIndexError) 71.42 61.45 T
(The vector index \050e.g. in ) 215.42 61.45 T
20 F
(_At:) 316.18 61.45 T
0 F
(\051 is out of bounds \050too lar) 340.17 61.45 T
(ge or negative\051.) 441.59 61.45 T
FMENDPAGE
%%EndPage: "37" 42
%%Page: "38" 42
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-38) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(badSizeError) 71.42 709.45 T
0.1 (An invalid size of a vector was speci\336ed, e.g. attempting to clone a vector with a) 215.42 709.45 P
(negative size \050see ) 215.42 697.45 T
20 F
(_Clone:Filler:) 288.41 697.45 T
0 F
( and ) 372.37 697.45 T
20 F
(_CloneBytes:Filler:) 391.8 697.45 T
0 F
( below\051.) 505.73 697.45 T
(re\337ectT) 71.42 681.45 T
(ypeError) 101.81 681.45 T
7.2 (A mirror primitive was applied to the wrong kind of slot, e.g.) 215.42 681.45 P
20 F
(_MirrorParentGroupAt:) 215.42 669.45 T
0 F
( to a slot that isn\325) 341.36 669.45 T
(t a parent slot.) 410.31 669.45 T
(outOfMemoryError) 71.42 653.45 T
(The result of an enumeration primitive was too lar) 215.42 653.45 T
(ge and could not be allocated. ) 416.21 653.45 T
(EPERM, ENOENT) 71.42 637.45 T
(, ...) 148.97 637.45 T
0.05 (These errors are returned by a U) 215.42 637.45 P
1 F
0.04 (NIX) 345.01 637.45 P
0 F
0.05 ( primitive if a U) 360.98 637.45 P
1 F
0.04 (NIX) 425.57 637.45 P
0 F
0.05 ( system call executed by) 441.54 637.45 P
3.02 (the primitive fails. The U) 215.42 625.45 P
1 F
2.71 (NIX) 328.82 625.45 P
0 F
3.02 ( error codes are de\336ned in \322/usr/include/sys/) 344.79 625.45 P
(errno.h\323; see this \336le for details on the roughly 90 dif) 215.42 613.45 T
(ferent U) 428.16 613.45 T
1 F
(NIX) 461.18 613.45 T
0 F
( error codes.) 477.15 613.45 T
4 F
0.33 (The ) 71.42 588.11 P
12 F
0.72 (_ErrorMessage) 93.4 588.11 P
4 F
0.33 ( primitive, sent to an error string returned by any primitive, returns a more) 179.09 588.11 P
(descriptive version of the error message; this is especially useful for UNIX errors.) 71.42 574.11 T
10 F
(F) 71.42 540.78 T
(.2 A) 78.69 540.78 T
(vailable primitives) 105.24 540.78 T
4 F
-0.45 (The following tables list the primitives currently de\336ned in the S) 71.42 514.11 P
6 F
-0.41 (ELF) 377.43 514.11 P
4 F
-0.45 ( system. Most primitives have) 396.96 514.11 P
(wrappers written in S) 71.42 500.11 T
6 F
(ELF) 174.35 500.11 T
4 F
(, so programs do not normally call them directly) 192.93 500.11 T
(. ) 423.67 500.11 T
71.42 455.12 539.42 463.11 C
71.42 461.1 539.42 461.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 466.78 T
(able 9 Cloning primitives) 77.74 466.78 T
24 F
(Name) 71.42 444.45 T
(Description) 224.42 444.45 T
0 F
(_Clone) 71.42 427.45 T
1.23 (Return a clone \050a shallow copy\051 of the receiver) 224.42 427.45 P
1.23 (. Cloning is the only way to) 421.29 427.45 P
0.02 (create new objects in S) 224.42 415.45 P
1 F
0.02 (ELF) 316.67 415.45 P
0 F
0.02 (. Returns its receiver \050not a copy\051 when sent to inte-) 331.85 415.45 P
(gers, \337oats, canonical strings, and immutable strings.) 224.42 403.45 T
(_Clone:Filler:) 71.42 387.45 T
0.79 (Return a clone \050shallow copy\051 of the receiver object vector) 224.42 387.45 P
0.79 (, possibly resized.) 466.22 387.45 P
0.06 (The receiver must be an object vector) 224.42 375.45 P
0.06 (. The \336rst ar) 374.65 375.45 P
0.06 (gument \050an integer\051 speci\336es) 423.5 375.45 P
-0.19 (the length of the new vector) 224.42 363.45 P
-0.19 (, and the second ar) 334.91 363.45 P
-0.19 (gument speci\336es the initial value) 408.61 363.45 P
1 (of extra elements if the result vector is longer than the receiver vector) 224.42 351.45 P
1 (. Fails) 513.99 351.45 P
(with badSizeError if the \336rst ar) 224.42 339.45 T
(gument is negative.) 348.88 339.45 T
20 F
-0.59 (_Clone:Filler:) 224.42 327.45 P
0 F
-0.25 ( is identical to ) 308.38 327.45 P
20 F
-0.59 (_Clone) 366.25 327.45 P
0 F
-0.25 ( if the \336rst ar) 402.23 327.45 P
-0.25 (gument is the same as) 452.69 327.45 P
(the length of the receiver) 224.42 315.45 T
(.) 323.79 315.45 T
(_CloneBytes:Filler:) 71.42 299.45 T
0.21 (Analogous to ) 224.42 299.45 P
20 F
0.51 (_Clone:Filler) 280.93 299.45 P
0 F
0.21 (, but for byte vectors. The receiver must be a) 358.49 299.45 P
-0.08 (byte vector) 224.42 287.45 P
-0.08 (, and the second ar) 268.63 287.45 P
-0.08 (gument must be an integer \050only the lowest 8 bits) 342.78 287.45 P
-0.23 (are used to initialize new elements\051. Fails with badT) 224.42 275.45 P
-0.23 (ypeError if sent to a canon-) 430.93 275.45 P
(ical or immutable string.) 224.42 263.45 T
71.42 219.13 539.42 227.12 C
71.42 225.1 539.42 225.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 230.79 T
(able 10 V) 77.74 230.79 T
(ector primitives) 126.17 230.79 T
24 F
(Name) 71.42 208.46 T
(Description) 224.42 208.46 T
0 F
(_At:) 71.42 191.46 T
0.36 (Return the element of the receiver \050an object vector\051 indexed by the ar) 224.42 191.46 P
0.36 (gument) 509.44 191.46 P
(\050an integer\051. V) 224.42 179.46 T
(ectors are indexed beginning with 0. ) 281.87 179.46 T
(_At:Put:) 71.42 163.46 T
0.54 (Store into an object vector element. The receiver is the object vector) 224.42 163.46 P
0.54 (, the \336rst) 503.08 163.46 P
1.62 (ar) 224.42 151.46 P
1.62 (gument is the integer index, and the second ar) 232.01 151.46 P
1.62 (gument is the object to be) 428.31 151.46 P
(stored. Returns the receiver) 224.42 139.46 T
(.) 333.78 139.46 T
(_Size) 71.42 123.46 T
(Returns an integer) 224.42 123.46 T
(, the number of elements in the receiver object vector) 297.3 123.46 T
(.) 509.92 123.46 T
FMENDPAGE
%%EndPage: "38" 43
17 9 /Times-Bold FMDEFINEFONT
18 10 /Symbol FMDEFINEFONT
%%Page: "39" 43
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-39) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(_ByteAt:) 71.42 709.45 T
1.66 (Analogous to ) 224.42 709.45 P
20 F
4 (_At:) 283.83 709.45 P
0 F
1.66 (, but for byte vectors.) 307.82 709.45 P
11 F
1.33 (\240) 399.97 713.45 P
0 F
1.66 ( Returns an integer in the range) 403.97 709.45 P
([0..255].) 224.42 697.45 T
(_ByteAt:Put:) 71.42 681.45 T
1.18 (Store into a byte vector element; analogous to ) 224.42 681.45 P
20 F
2.83 (_At:Put:) 419.84 681.45 P
0 F
1.18 (. The value to be) 467.82 681.45 P
-0.21 (stored must be an integer; only the lowest 8 bits are used. Fails if the receiver is) 224.42 669.45 P
(a canonical string or an immutable string.) 224.42 657.45 T
(_ByteSize) 71.42 641.45 T
(Analogous to ) 224.42 641.45 T
20 F
(_Size) 280.5 641.45 T
0 F
(, but for byte vectors.) 310.49 641.45 T
71.42 597.12 539.42 605.11 C
71.42 603.1 539.42 603.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 608.78 T
(able 1) 77.74 608.78 T
(1 Arithmetic primitives) 104.91 608.78 T
17 F
(\340) 220.24 613.18 T
24 F
(Name) 71.42 586.45 T
(Description) 224.42 586.45 T
0 F
(_IntAdd:) 71.42 569.45 T
0.32 (Integer addition. Returns sum of receiver and ar) 224.42 569.45 P
0.32 (gument. The range of integers) 417.97 569.45 P
-0.02 (is [-2) 224.42 557.45 P
11 F
-0.02 (29) 245.22 561.45 P
0 F
-0.02 (..2) 253.22 557.45 P
11 F
-0.02 (29) 263.21 561.45 P
0 F
-0.02 (-1], i.e. roughly ) 271.21 557.45 P
18 F
-0.02 (\261) 336.09 557.45 P
0 F
-0.02 (536,000,000 \050standard 30-bit two\325) 341.58 557.45 P
-0.02 (s complement\051.) 477.82 557.45 P
(May fail because of over\337ow) 224.42 545.45 T
(.) 340.9 545.45 T
(_IntSub:) 71.42 529.45 T
1.99 (Integer subtraction. Returns receiver minus ar) 224.42 529.45 P
1.99 (gument. May fail because of) 417.39 529.45 P
(over\337ow) 224.42 517.45 T
(.) 259.3 517.45 T
(_IntMul:) 71.42 501.45 T
1.93 (Integer multiplication. Returns product of receiver and ar) 224.42 501.45 P
1.93 (gument. May fail) 466.45 501.45 P
(because of over\337ow) 224.42 489.45 T
(.) 304.26 489.45 T
(_IntDiv:) 71.42 473.45 T
-0.19 (Integer division. Returns integer part of receiver divided by ar) 224.42 473.45 P
-0.19 (gument. May fail) 470.68 473.45 P
(because of over\337ow or division by zero.) 224.42 461.45 T
(_IntMod:) 71.42 445.45 T
2.63 (Integer modulus. Returns receiver modulo ar) 224.42 445.45 P
2.63 (gument, with range 0 <= \050n) 416.72 445.45 P
(_IntMod: m\051 < abs\050m\051. May fail because of division by zero.) 224.42 433.45 T
(_IntComplement ) 71.42 417.45 T
(Returns bitwise complement \050i.e. invert all bits\051 of receiver) 224.42 417.45 T
(.) 460.37 417.45 T
(_IntAnd:) 71.42 401.45 T
(Returns bitwise AND of receiver and ar) 224.42 401.45 T
(gument.) 383.56 401.45 T
(_IntXor:) 71.42 385.45 T
(Returns bitwise exclusive OR of receiver and ar) 224.42 385.45 T
(gument.) 416.04 385.45 T
(_IntOr:) 71.42 369.45 T
(Returns bitwise inclusive OR of receiver and ar) 224.42 369.45 T
(gument.) 414.38 369.45 T
(_IntArithmeticShiftLeft:) 71.42 353.45 T
-0.05 (Shift receiver left by the number of bits indicated by the ar) 224.42 353.45 P
-0.05 (gument \050an integer\051.) 458.2 353.45 P
1.02 (W) 224.42 341.45 P
1.02 (ill fail with over\337owError if the resulting number is too lar) 233.46 341.45 P
1.02 (ge to be repre-) 478.36 341.45 P
(sented as an integer \050equivalent to multiplying by a power of 2\051.) 224.42 329.45 T
(_IntLogicalShiftLeft:) 71.42 313.45 T
0.31 (Bitwise shift receiver left by the number of bits indicated by the ar) 224.42 313.45 P
0.31 (gument \050an) 493.87 313.45 P
(integer\051. No over\337ow will occur) 224.42 301.45 T
(.) 352.94 301.45 T
(_IntArithmeticShiftRight:) 71.42 285.45 T
0.52 (Arithmetic right shift of receiver by the number of bits indicated by the ar) 224.42 285.45 P
0.52 (gu-) 526.1 285.45 P
(ment \050an integer\051. The sign bit is preserved.) 224.42 273.45 T
(_IntLogicalShiftRight:) 71.42 257.45 T
0.22 (Logical right shift of receiver by the number of bits indicated by the ar) 224.42 257.45 P
0.22 (gument) 509.44 257.45 P
(\050an integer\051. 0 is shifted into the most signi\336cant bit.) 224.42 245.45 T
(_IntAsFloat) 71.42 229.45 T
(Return the integer receiver converted to a \337oat.) 224.42 229.45 T
(_FloatAdd:) 71.42 213.45 T
2.71 (Floating-point add. Returns sum of receiver and ar) 224.42 213.45 P
2.71 (gument. The range of) 445.26 213.45 P
1.6 (\337oating-point numbers currently is approximately ) 224.42 201.45 P
18 F
1.6 (\261) 434.24 201.45 P
0 F
1.6 ([-) 439.73 201.45 P
1.6 (4.3*10) 446.38 201.45 P
11 F
1.28 (-9) 473.87 205.45 P
0 F
1.6 (..4.3*10) 480.53 201.45 P
11 F
1.28 (9) 513.01 205.45 P
0 F
1.6 (]; the) 517.01 201.45 P
0.82 (precision is 6 decimal digits \050this is IEEE standard 32-bit \337oat, but with two) 224.42 189.45 P
0.17 (fewer exponent bits\051. Does not over\337ow or under\337ow \050but may go to ) 224.42 177.45 P
18 F
0.17 (\261) 504.95 177.45 P
20 F
0.42 (0.0) 510.43 177.45 P
0 F
0.17 ( or) 528.42 177.45 P
18 F
(\261) 224.42 165.45 T
20 F
(Inf) 229.91 165.45 T
0 F
(, IEEE \337oating-point in\336nity\051.) 247.9 165.45 T
(_FloatSub:) 71.42 149.45 T
1.09 (Floating-point subtraction. Returns receiver minus ar) 224.42 149.45 P
1.09 (gument. Does not over-) 441.78 149.45 P
(\337ow or under\337ow) 224.42 137.45 T
(.) 295.39 137.45 T
71.42 105.44 539.42 125.53 C
71.42 113.43 203.4 113.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.06 (\240 ) 71.42 102.77 P
0 F
0.08 (Note that strings are special kinds of byte vectors, and so primitives taking byte vectors as ar) 79.54 98.77 P
0.08 (guments can also take) 451.2 98.77 P
(strings.) 71.42 87.77 T
11 F
0.49 (\340 ) 71.42 77.77 P
0 F
0.61 (Integer arithmetic primitives take integer receivers and ar) 80.39 73.77 P
0.61 (guments; \337oating-point arithmetic primitives take \337oat-) 314.01 73.77 P
(ing-point receivers and ar) 71.42 62.77 T
(guments.) 173.66 62.77 T
FMENDPAGE
%%EndPage: "39" 44
%%Page: "40" 44
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-40) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(_FloatMul:) 71.42 709.45 T
0.26 (Floating-point multiplication. Returns product of receiver and ar) 224.42 709.45 P
0.26 (gument. Does) 483.65 709.45 P
(not over\337ow or under\337ow) 224.42 697.45 T
(.) 328.43 697.45 T
(_FloatDiv:) 71.42 681.45 T
3.52 (Floating-point division. Returns receiver divided by ar) 224.42 681.45 P
3.52 (gument. May fail) 463.27 681.45 P
(because of division by zero.) 224.42 669.45 T
(_FloatMod:) 71.42 653.45 T
4.39 (Floating-point modulus. Returns receiver modulo ar) 224.42 653.45 P
4.39 (gument. If r is \050x) 454.41 653.45 P
0.87 (_FloatMod: y\051, then 0 <= r < abs\050y\051, and ) 224.42 641.45 P
0.87 (\050) 397.13 641.45 P
0.87 (x-) 400.46 641.45 P
0.87 (r) 408.78 641.45 P
0.87 (\051) 412.11 641.45 P
0.87 (/) 415.44 641.45 P
0.87 (y is an integral number \050even) 418.22 641.45 P
0.84 (though it might not be representable as a S) 224.42 629.45 P
1 F
0.75 (ELF) 401.58 629.45 P
0 F
0.84 ( integer\051. May fail because of) 417.56 629.45 P
(division by zero.) 224.42 617.45 T
(_FloatFloor) 71.42 601.45 T
2.57 (Return the greatest integral value less than or equal to the \337oating-point) 224.42 601.45 P
0.27 (receiver \050i.e. rounding towards negative in\336nity\051. The result is a \337oating-point) 224.42 589.45 P
(number) 224.42 577.45 T
(.) 254.41 577.45 T
(_FloatCeil) 71.42 561.45 T
1.64 (Return the greatest integral value greater than or equal to the receiver \050i.e.) 224.42 561.45 P
(rounding towards positive in\336nity\051. The result is a \337oating-point number) 224.42 549.45 T
(.) 514.27 549.45 T
(_FloatT) 71.42 533.45 T
(runcate) 102.73 533.45 T
2.66 (Return the receiver truncated towards zero. The result is a \337oating-point) 224.42 533.45 P
(number) 224.42 521.45 T
(.) 254.41 521.45 T
(_FloatRound) 71.42 505.45 T
0.49 (Return the receiver rounded to the nearest integer) 224.42 505.45 P
0.49 (. \322.5\323 is rounded to even, so) 425.18 505.45 P
(1.5 rounds to 2, and 2.5 also rounds to 2. The result is a \337oating-point number) 224.42 493.45 T
(.) 535.63 493.45 T
(_FloatAsInt) 71.42 477.45 T
0.23 (Return the \337oating-point receiver rounded as in ) 224.42 477.45 P
20 F
0.54 (_FloatRound) 418.37 477.45 P
0 F
0.23 (. The result is) 484.33 477.45 P
(an integer) 224.42 465.45 T
(. May over\337ow) 263.56 465.45 T
(.) 324.26 465.45 T
71.42 421.12 539.42 429.11 C
71.42 427.1 539.42 427.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 432.78 T
(able 12 Comparison primitives) 77.74 432.78 T
17 F
(\240) 227.58 437.18 T
24 F
(Name) 71.42 410.45 T
(Description) 224.42 410.45 T
0 F
(_Eq:) 71.42 393.45 T
(Identity: test if the receiver and the ar) 224.42 393.45 T
(gument are the same object.) 374.4 393.45 T
(_IntEQ:) 71.42 377.45 T
(Integer equality) 224.42 377.45 T
(. If two integers are ) 286.78 377.45 T
20 F
(_IntEQ:) 367.27 377.45 T
0 F
( then they are ) 409.24 377.45 T
20 F
(_Eq:) 465.86 377.45 T
0 F
(.) 489.85 377.45 T
(_IntNE:) 71.42 361.45 T
(Integer inequality) 224.42 361.45 T
(.) 294.56 361.45 T
(_IntL) 71.42 345.45 T
(T) 92.71 345.45 T
(:) 98.32 345.45 T
(Integer less than.) 224.42 345.45 T
(_IntLE:) 71.42 329.45 T
(Integer less than or equal.) 224.42 329.45 T
(_IntGT) 71.42 313.45 T
(:) 100.35 313.45 T
(Integer greater than.) 224.42 313.45 T
(_IntGE:) 71.42 297.45 T
(Integer greater than or equal.) 224.42 297.45 T
(_FloatEQ:) 71.42 281.45 T
0.53 (Floating-point equality) 224.42 281.45 P
0.53 (. T) 316.2 281.45 P
0.53 (wo \337oating point numbers may be ) 327.13 281.45 P
20 F
1.26 (_FloatEQ:) 469.65 281.45 P
0 F
0.53 ( but) 523.63 281.45 P
(not ) 224.42 269.45 T
20 F
(_Eq:) 239.7 269.45 T
0 F
( \050e.g. ) 263.68 269.45 T
20 F
(0.0) 286.44 269.45 T
0 F
( and ) 304.43 269.45 T
20 F
(-0.0) 323.86 269.45 T
0 F
(\051.) 347.85 269.45 T
(_FloatNE:) 71.42 253.45 T
(Floating-point inequality) 224.42 253.45 T
(.) 323.45 253.45 T
(_FloatL) 71.42 237.45 T
(T) 102.16 237.45 T
(:) 107.76 237.45 T
(Floating-point less than.) 224.42 237.45 T
(_FloatLE:) 71.42 221.45 T
(Floating-point less than or equal.) 224.42 221.45 T
(_FloatGT) 71.42 205.45 T
(:) 109.79 205.45 T
(Floating-point greater than.) 224.42 205.45 T
(_FloatGE:) 71.42 189.45 T
(Floating-point greater than or equal.) 224.42 189.45 T
71.42 145.13 539.42 153.12 C
71.42 151.1 539.42 151.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 156.79 T
(able 13 ) 77.74 156.79 T
(String-r) 119.25 156.79 T
(elated primitives) 156.89 156.79 T
24 F
(Name) 71.42 134.46 T
(Description) 224.42 134.46 T
0 F
(_StringCanonicalize) 71.42 117.46 T
0.54 (Return the canonical version of the receiver \050a byte vector) 224.42 117.46 P
11 F
0.44 (\340) 461.62 121.46 P
0 F
0.54 (\051. All byte vectors) 465.62 117.46 P
-0.14 (containing the same sequence of bytes map to the same canonical string object,) 224.42 105.46 P
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.17 (\240 ) 71.42 77.77 P
0 F
0.21 (All comparison primitives return either ) 79.76 73.77 P
20 F
0.5 (true) 239.87 73.77 P
0 F
0.21 ( or ) 263.86 73.77 P
20 F
0.5 (false) 277.6 73.77 P
0 F
0.21 (. Integer comparison primitives take integer receivers and) 307.58 73.77 P
(ar) 71.42 62.77 T
(guments; \337oating-point comparison primitives take \337oating-point receivers and ar) 79.01 62.77 T
(guments.) 406.4 62.77 T
FMENDPAGE
%%EndPage: "40" 45
%%Page: "41" 45
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-41) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
0.76 (and only one canonical string object with a particular sequence of bytes ever) 224.42 709.45 P
-0.03 (exists in the system. Therefore, two canonical strings can be tested for equality) 224.42 697.45 P
2.68 (ef) 224.42 685.45 P
2.68 (\336ciently using ) 232.01 685.45 P
20 F
6.44 (_Eq:) 296.79 685.45 P
0 F
2.68 ( rather than by comparing byte-by-byte. All string) 320.78 685.45 P
(literals are canonical strings.) 224.42 673.45 T
(_StringPrint) 71.42 657.45 T
2.42 (Print the characters of the receiver) 224.42 657.45 P
2.42 (, a byte vector) 373.51 657.45 P
2.42 (, on stdout. Returns the) 437 657.45 P
(receiver) 225 645.45 T
(.) 256.63 645.45 T
(_FloatPrintString) 71.42 629.45 T
2.3 (Return the receiver) 224.42 629.45 P
2.3 (, a \337oating-point number) 305.23 629.45 P
2.3 (, formatted into an immutable) 411.12 629.45 P
(string \050similar to C\325) 223.42 617.45 T
(s ) 302 617.45 T
20 F
(sprintf\050"%g"\051) 308.39 617.45 T
0 F
( format\051.) 386.35 617.45 T
(_FloatPrintStringPrecision:) 71.42 601.45 T
2.05 (Analogous to ) 224.42 601.45 P
20 F
4.93 (_FloatPrintString) 284.61 601.45 P
0 F
2.05 (, but takes an integer ar) 386.55 601.45 P
2.05 (gument that) 489.9 601.45 P
(speci\336es the number of digits after the decimal point.) 223.42 589.45 T
71.42 545.12 539.42 553.11 C
71.42 551.1 539.42 551.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 556.78 T
(able 14 Mirr) 77.74 556.78 T
(or primitives) 142.23 556.78 T
17 F
(\240) 202.95 561.18 T
24 F
(Name) 71.42 534.45 T
(Description) 224.42 534.45 T
0 F
(_Mirror) 71.42 517.45 T
1.45 (Returns a mirror on the receiver \050any object\051. A ) 224.42 517.45 P
16 F
1.45 (mirr) 430.66 517.45 P
1.45 (or) 448.06 517.45 P
0 F
1.45 ( gives a view of an) 456.95 517.45 P
0.53 (object that looks like a vector of slots. Mirrors are used to obtain information) 224.42 505.45 P
0.28 (about aspects of objects that are not directly observable on the S) 224.42 493.45 P
1 F
0.25 (ELF) 484.3 493.45 P
0 F
0.28 ( level) 500.28 493.45 P
0.28 (, for) 522.49 493.45 P
(example, the names of an object\325) 224.42 481.45 T
(s slots or the source code of a method.) 355.99 481.45 T
1.97 (The object on which a mirror is created is called its ) 224.42 465.45 P
16 F
1.97 (r) 453.43 465.45 P
1.97 (e\337ectee) 456.95 465.45 P
0 F
1.97 (. The mirror) 486.91 465.45 P
0.34 (answers all questions by inspecting its re\337ectee. There are a dif) 224.42 453.45 P
0.34 (ferent kinds of) 480.46 453.45 P
0.5 (mirrors for dif) 224.42 441.45 P
0.5 (ferent kinds of objects \050see Appendix B\051, but all respond to the) 282.42 441.45 P
1.57 (same set of primitives described below \050with a few exceptions\051. ) 224.42 429.45 P
20 F
3.77 (_Mirror) 497.45 429.45 P
0 F
-0.25 (operates by cloning the mirror prototype appropriate for the type of its receiver) 224.42 417.45 P
-0.25 (,) 536.92 417.45 P
0.91 (installing the receiver as the re\337ectee of the cloned mirror) 224.42 405.45 P
0.91 (, and returning the) 463.42 405.45 P
(new cloned mirror) 224.42 393.45 T
(.) 297.7 393.45 T
(_MirrorRe\337ectee) 71.42 377.45 T
(Return this mirror) 224.42 377.45 T
(\325) 296.97 377.45 T
(s re\337ectee. Fails if invoked on a mirror on a method.) 299.75 377.45 T
(_MirrorRe\337ecteeIdentityHash) 71.42 361.45 T
-0.2 (Return the identity hash of the re\337ectee of the receiver) 224.42 361.45 P
-0.2 (. See ) 439.94 361.45 P
20 F
-0.48 (_IdentityHash) 461.47 361.45 P
0 F
(in T) 224.42 349.45 T
(able 19.) 240.1 349.45 T
(_MirrorRe\337ecteeEq:) 71.42 333.45 T
0.25 (T) 224.42 333.45 P
0.25 (est if the receiver and ar) 229.83 333.45 P
0.25 (gument are mirrors on the same object. See ) 327.2 333.45 P
20 F
0.6 (_Eq:) 504.91 333.45 P
0 F
0.25 ( in) 528.9 333.45 P
(T) 224.42 321.45 T
(able 12.) 229.83 321.45 T
(_MirrorSize) 71.42 305.45 T
(Return the number \050an integer\051 of slots in the re\337ectee.) 224.42 305.45 T
(_MirrorNameAt:) 71.42 289.45 T
-0.06 (Return the name of the speci\336ed slot of the re\337ectee. The ar) 224.42 289.45 P
-0.06 (gument, an integer) 462.79 289.45 P
-0.06 (,) 536.92 289.45 P
(speci\336es the zero-origin index of the slot.) 224.42 277.45 T
(_MirrorContentsAt:) 71.42 261.45 T
0.25 (Return a mirror on the contents of the speci\336ed slot of the re\337ectee. The ar) 224.42 261.45 P
0.25 (gu-) 526.1 261.45 P
(ment, an integer) 224.42 249.45 T
(, speci\336es the zero-origin index of the slot.) 288.7 249.45 T
(_MirrorIsParentAt:) 71.42 233.45 T
0.05 (T) 224.42 233.45 P
0.05 (est if the speci\336ed slot is a parent slot. The ar) 229.83 233.45 P
0.05 (gument, an integer) 410.83 233.45 P
0.05 (, speci\336es the) 485.2 233.45 P
(zero-origin index of the slot.) 224.42 221.45 T
(_MirrorParentGroupAt:) 71.42 205.45 T
1.94 (Return the parent group \050priority\051 of the speci\336ed parent slot. \050The parent) 224.42 205.45 P
2.21 (priority is a positive integer equalling the number of asterisks used when) 224.42 193.45 P
0.53 (de\336ning the slot\051. The ar) 224.42 181.45 P
0.53 (gument, an integer) 324.9 181.45 P
0.53 (, speci\336es the zero-origin index of) 400.22 181.45 P
(the slot. Fails if the slot isn\325) 224.42 169.45 T
(t a parent slot.) 335.58 169.45 T
(_MirrorIsAssignableAt:) 71.42 153.45 T
0.66 (T) 224.42 153.45 P
0.66 (est if the speci\336ed slot is assignable. The ar) 229.83 153.45 P
0.66 (gument, an integer) 408.4 153.45 P
0.66 (, speci\336es the) 483.98 153.45 P
(zero-origin index of the slot.) 224.42 141.45 T
(_MirrorIsAr) 71.42 125.45 T
(gumentAt) 120.65 125.45 T
(:) 160.62 125.45 T
-0.17 (T) 224.42 125.45 P
-0.17 (est if the speci\336ed slot is an ar) 229.83 125.45 P
-0.17 (gument slot. The ar) 349.21 125.45 P
-0.17 (gument, an integer) 426.25 125.45 P
-0.17 (, speci\336es) 500.18 125.45 P
(the zero-origin index of the slot.) 224.42 113.45 T
71.42 83.44 539.42 103.53 C
71.42 91.43 203.4 91.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\340 ) 71.42 80.77 T
0 F
(Remember that strings are special kinds of byte vectors.) 79.42 76.77 T
11 F
(\240 ) 71.42 66.77 T
0 F
(Unless otherwise noted, the receiver of a mirror primitive must be a mirror) 79.42 62.77 T
(.) 377.82 62.77 T
FMENDPAGE
%%EndPage: "41" 46
%%Page: "42" 46
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-42) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(_MirrorV) 71.42 709.45 T
(isibilityAt:IfPrivate:IfPublic:IfUndeclared:) 109.68 709.45 T
0.12 (Return the one of the three last ar) 224.42 693.45 P
0.12 (guments corresponding to the slot\325) 358.61 693.45 P
0.12 (s visibility) 497.36 693.45 P
(\050privacy declaration\051.) 224.42 681.45 T
(_MirrorCode) 71.42 665.45 T
0.1 (Sent to a mirror on a method, this returns a mirror on a byte code object repre-) 224.42 665.45 P
(senting the source code of the method. Fails if the re\337ectee isn\325) 224.42 653.45 T
(t a method.) 477.39 653.45 T
(_MirrorReferencesLimit:) 71.42 637.45 T
3.22 (Return a vector containing mirrors on objects referencing the receiver) 224.42 637.45 P
3.22 (\325) 532.76 637.45 P
3.22 (s) 535.54 637.45 P
-0.01 (re\337ectee. The limit \050either a positive integer or \337oating-point in\336nity\051 speci\336es) 224.42 625.45 P
0.21 (the maximum size of the result vector \050to avoid running out of space inadvert-) 224.42 613.45 P
1.49 (ently\051. An ar) 224.42 601.45 P
1.49 (gument of \337oating-point in\336nity can be used to get all objects) 278.01 601.45 P
(referencing the re\337ectee.) 224.42 589.45 T
1.35 (This and the following enumeration primitives will fail with ) 224.42 573.45 P
20 F
3.23 (primitive-) 479.46 573.45 P
-0.04 (FailedError) 224.42 561.45 P
0 F
-0.02 ( if the limit is negative and with ) 290.39 561.45 P
20 F
-0.04 (outOfMemoryError) 420.19 561.45 P
0 F
-0.02 ( if the) 516.14 561.45 P
(result vector is too big to be allocated.) 224.42 549.45 T
(_MirrorAssignmentSlotsLimit:) 71.42 533.45 T
0.46 (Return a vector containing mirrors on objects containing assignment slots \050all) 224.42 533.45 P
0.96 (references to the assignment primitive\051 up to the limit speci\336ed by the ar) 224.42 521.45 P
0.96 (gu-) 526.1 521.45 P
0.09 (ment. The receiver must be a mirror) 224.42 509.45 P
0.09 (, but its re\337ectee is ignored. This primitive) 368.62 509.45 P
-0.09 (may be removed in a future release in favor of an explicit assignment primitive) 224.42 497.45 P
(mirror which can be used with ) 224.42 485.45 T
20 F
(_MirrorReferencesLimit:) 348.78 485.45 T
0 F
(.) 486.7 485.45 T
(_MirrorImplementorsLimit:) 71.42 469.45 T
0.44 (Sent to a mirror on a canonical string, this returns a vector containing mirrors) 224.42 469.45 P
0.78 (on objects having a slot with this name up to the limit speci\336ed by the ar) 224.42 457.45 P
0.78 (gu-) 526.1 457.45 P
(ment.) 224.42 445.45 T
(_MirrorAllLimit:) 71.42 429.45 T
1.49 (Return a vector containing mirrors on objects in the system up to the limit) 224.42 429.45 P
0.34 (speci\336ed by the \336rst ar) 224.42 417.45 P
0.34 (gument. The receiver must be a mirror) 316.65 417.45 P
0.34 (, but its re\337ectee) 472.34 417.45 P
(is ignored.) 224.42 405.45 T
71.42 361.12 539.42 369.11 C
71.42 367.1 539.42 367.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 372.78 T
(able 15 Perform primitives) 77.74 372.78 T
24 F
(Name) 71.42 350.45 T
(Description) 224.42 350.45 T
0 F
(_Perform:{W) 71.42 333.45 T
(ith:}) 125.78 333.45 T
11 F
(\240) 143.91 337.45 T
0 F
0.77 (This group of ) 224.42 333.45 P
16 F
0.77 (perform) 283.65 333.45 P
0 F
0.77 ( primitives sends the message named by the \336rst ar) 315.85 333.45 P
0.77 (gu-) 526.1 333.45 P
1.06 (ment \050a canonical string\051 to the receiver) 224.42 321.45 P
1.06 (, using the ) 389.71 321.45 P
20 F
2.55 (With:) 436.76 321.45 P
0 F
1.06 ( ar) 466.74 321.45 P
1.06 (guments as the) 477.89 321.45 P
1.27 (ar) 224.42 309.45 P
1.27 (guments of the performed message, and returns the result. The number of) 232.01 309.45 P
20 F
3.54 (With:) 224.42 297.45 P
0 F
1.48 ( parts must correspond to the number of ar) 254.41 297.45 P
1.48 (guments expected by the) 435.9 297.45 P
(message named by the \336rst ar) 224.42 285.45 T
(gument. ) 342.77 285.45 T
1.22 (Example:) 224.42 269.45 P
20 F
2.94 ( x _Perform: \325foo:Bar:\325 With: 3 With: 4 ) 262.73 269.45 P
0 F
1.22 (has) 526.1 269.45 P
(exactly the same semantics as) 224.42 257.45 T
20 F
( x foo: 3 Bar: 4) 343.78 257.45 T
0 F
(.) 439.73 257.45 T
1.37 (V) 224.42 241.45 P
1.37 (ariants of ) 230.53 241.45 P
20 F
3.29 (_Perform) 273.24 241.45 P
0 F
1.37 ( do not ever evaluate their ) 321.21 241.45 P
20 F
3.29 (IfFail:) 436.02 241.45 P
0 F
1.37 (ar) 478 241.45 P
1.37 (gument upon) 485.58 241.45 P
0.66 (failure \050in the case where the ) 224.42 229.45 P
20 F
1.59 (IfFail:) 346.63 229.45 P
0 F
0.66 ( extension is used\051; instead, the error) 388.61 229.45 P
0.1 (messages described in Appendix A will be sent if the selector isn\325) 224.42 217.45 P
0.1 (t a canonical) 488.72 217.45 P
0.25 (string or if the wrong number of ar) 224.42 205.45 P
0.25 (guments is passed. This may be changed in) 365.03 205.45 P
(a future release.) 224.42 193.45 T
(_PerformResend:{W) 71.42 177.45 T
(ith:}) 155.21 177.45 T
1.46 (This group of primitives performs an undirected resend. The ar) 224.42 177.45 P
1.46 (guments are) 489.39 177.45 P
(identical to ) 224.42 165.45 T
20 F
(_Perform:) 271.62 165.45 T
0 F
(. A directed resend cannot currently be ) 325.59 165.45 T
16 F
(perform) 483.23 165.45 T
0 F
(ed.) 515.43 165.45 T
(_Perform:DelegatingT) 71.42 149.45 T
(o:{W) 161.21 149.45 T
(ith:}) 182.82 149.45 T
1.22 (This group of primitives performs a delegated send: the lookup starts at the) 224.42 149.45 P
2.42 (object passed as the second ar) 224.42 137.45 P
2.42 (gument. The \336rst ar) 355.99 137.45 P
2.42 (gument is the message) 441.93 137.45 P
0.95 (selector) 224.42 125.45 P
0.95 (, as above. The sender path tiebreaker rule is not applied. This is the) 255.11 125.45 P
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.01 (\240 ) 71.42 77.77 P
0 F
0.01 (The curly braces indicate that \324W) 79.43 73.77 P
0.01 (ith:\325 can occur any number of times or not at all: possible selectors are ) 212.58 73.77 P
0.01 (_Perform:,) 496.4 73.77 P
(_Perform:W) 71.42 62.77 T
(ith:, _Perform:W) 120.99 62.77 T
(ith:W) 188.88 62.77 T
(ith:, and so on.) 211.25 62.77 T
FMENDPAGE
%%EndPage: "42" 47
%%Page: "43" 47
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-43) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
1.78 (only variant of ) 224.42 709.45 P
20 F
4.26 (_Perform) 291.1 709.45 P
0 F
1.78 ( that cannot be executed using normal message) 339.07 709.45 P
(send syntax.) 224.42 697.45 T
71.42 653.12 539.42 661.11 C
71.42 659.1 539.42 659.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 664.78 T
(able 16 Pr) 77.74 664.78 T
(ocess primitives) 130.64 664.78 T
24 F
(Name) 71.42 642.45 T
(Description) 224.42 642.45 T
0 F
(_NewProcessSize:Selector:Ar) 71.42 625.45 T
(guments:) 191.71 625.45 T
( ) 228.36 625.45 T
0.2 (Returns a new process object which is obtained by cloning the current process) 224.42 613.45 P
-0.01 (object. The new process is not started. The \336rst ar) 224.42 601.45 P
-0.01 (gument is an integer giving a) 423.16 601.45 P
-0.14 (minimal stack size in bytes; the system may actually allocate more stack space.) 224.42 589.45 P
0.77 (The right size depends on the future behavior of the process so some experi-) 224.42 577.45 P
1.17 (mentation may be necessary) 224.42 565.45 P
1.17 (. A good \336rst try could be 64 KB. The last two) 340.26 565.45 P
-0.19 (ar) 224.42 553.45 P
-0.19 (guments are analogous to the ar) 232.01 553.45 P
-0.19 (guments of ) 357.71 553.45 P
20 F
-0.47 (_Perform:With:) 404.52 553.45 P
0 F
-0.19 (. They deter-) 488.47 553.45 P
-0 (mine the \336rst message that the process sends when it is started. The receiver of) 224.42 541.45 P
20 F
0.93 (_NewProcessSize:Selector:Arguments) 224.42 529.45 P
0 F
0.38 ( will also be the receiver of) 428.31 529.45 P
(the \336rst message send of the new process.) 224.42 517.45 T
(_ThisProcess) 71.42 501.45 T
(Return process object of current process. Ignores receiver) 224.42 501.45 T
(.) 454.23 501.45 T
(_AbortProcess) 71.42 485.45 T
(The receiver is a process object. The associated process will be terminated.) 224.42 485.45 T
(_PrintProcessStack) 71.42 469.45 T
0.92 (Print the stack of the process associated with the receiver \050a process object\051.) 224.42 469.45 P
0.22 (The number of stack frames printed is determined by ) 224.42 457.45 P
20 F
0.53 (_StackPrintLimit) 440.98 457.45 P
0 F
0.22 (.) 536.92 457.45 P
(See also section I-5.4.3.) 224.42 445.45 T
(_TW) 71.42 429.45 T
(AINS:ResultV) 90.85 429.45 T
(ector:) 148.6 429.45 T
224.42 427.87 230.53 428.36 R
V
1.55 (T) 224.42 429.45 P
1.55 (ransfer and ) 230.18 429.45 P
280.46 427.87 294.89 428.36 R
V
1.55 (wai) 280.46 429.45 P
1.55 (t for ) 294.89 429.45 P
317.43 427.87 322.43 428.36 R
V
1.55 (n) 317.43 429.45 P
1.55 (ext ) 322.43 429.45 P
338.69 427.87 342.58 428.36 R
V
1.55 (s) 338.69 429.45 P
1.55 (ignal. The \336rst ar) 342.58 429.45 P
1.55 (gument is a process object to) 415.9 429.45 P
2.08 (transfer to, the second ar) 224.42 417.45 P
2.08 (gument must be an object vector of size at least) 331.1 417.45 P
20 F
2.13 (_TWAINSResultSize) 224.42 405.45 P
0 F
0.89 (. Ignores receiver) 326.37 405.45 P
0.89 (. Control is transferred to the indi-) 397.24 405.45 P
0.68 (cated process. When control is transferred back the return value indicates the) 224.42 393.45 P
0.41 (cause of the transfer: \325aborted\325, \325) 224.42 381.45 P
0.41 (stackOver\337ow\325, \325nonLifoBlock\325, \325yielded\325 or) 356.93 381.45 P
1.86 (\325) 224.42 369.45 P
1.86 (signal\325. The result vector is used to provide additional information. If the) 227.2 369.45 P
-0 (cause is \325) 224.42 357.45 P
-0 (signal\325, the \336rst element of the result vector is modi\336ed to contain the) 261.05 357.45 P
0.4 (number of signals and the rest of the result vector is modi\336ed to contain a list) 224.42 345.45 P
2.72 (of the signals that accumulated in between returns from ) 224.42 333.45 P
20 F
6.53 (_TWAINS:Re-) 473.46 333.45 P
12.76 (sultVector:) 224.42 321.45 P
0 F
5.32 (. The possible signals are: \325) 290.39 321.45 P
5.32 (sigint\325, \325) 425.79 321.45 P
5.32 (sigio\325, \325) 464.43 321.45 P
5.32 (siguser1\325,) 500.29 321.45 P
0.71 (\325) 224.42 309.45 P
0.71 (siguser2\325, \325) 227.2 309.45 P
0.71 (sigpipe\325, \325) 272.33 309.45 P
0.71 (sigterm\325, \325) 313.02 309.45 P
0.71 (sigur) 354.83 309.45 P
0.71 (g\325, \325) 374.64 309.45 P
0.71 (sigchild\325, \325) 391.45 309.45 P
0.71 (sigrealtimer) 434.92 309.45 P
0.71 (\325 and \325) 483.04 309.45 P
0.71 (sigcpu-) 510 309.45 P
(timer) 224.42 297.45 T
(\325.) 245.89 297.45 T
(_TW) 71.42 281.45 T
(AINSResultSize) 90.85 281.45 T
5.55 (Maximum size required of the second ar) 224.42 281.45 P
5.55 (gument of ) 419.06 281.45 P
20 F
13.31 (_TWAINS:Re-) 473.46 281.45 P
(sultVector:) 224.42 269.45 T
0 F
(.) 290.39 269.45 T
(_Y) 71.42 253.45 T
(ield) 83.09 253.45 T
2.67 (Gives up the CPU. Control is returned to the TW) 224.42 253.45 P
2.67 (AINS process. Ignores) 443.33 253.45 P
(receiver) 224.42 241.45 T
(.) 256.06 241.45 T
(_BlockSignals) 71.42 225.45 T
(Sent to true or false. Enables/disables signals.) 224.42 225.45 T
(_SetRealT) 71.42 209.45 T
(imer) 113.27 209.45 T
0.41 (Set real-time interval timer) 224.42 209.45 P
0.41 (. The receiver is an integer denoting the number of) 333.09 209.45 P
(milliseconds per interval.) 224.42 197.45 T
(_SetCPUT) 71.42 181.45 T
(imer) 114.39 181.45 T
(Similar to ) 224.42 181.45 T
20 F
(_SetRealTimer) 266.63 181.45 T
0 F
(, but sets the CPU timer) 344.19 181.45 T
(.) 439.15 181.45 T
71.42 137.13 539.42 145.12 C
71.42 143.1 539.42 143.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 148.79 T
(able 17 Pr) 77.74 148.79 T
(ogramming primitives) 130.64 148.79 T
24 F
(Name) 71.42 126.46 T
(Description) 224.42 126.46 T
0 F
(_Print) 71.42 109.46 T
(Print the receiver in a low-level format and return ) 224.42 109.46 T
20 F
(nil) 425.65 109.46 T
0 F
( \050see section I-5.3.1\051.) 443.64 109.46 T
(_V) 71.42 93.46 T
(ectorPrintLimit[:]) 82.53 93.46 T
11 F
(\240) 153.6 97.46 T
0 F
(Controls the number of vector elements printed by ) 224.42 93.46 T
20 F
(_Print) 428.73 93.46 T
0 F
(. Default: ) 464.71 93.46 T
20 F
(20) 504.96 93.46 T
0 F
(.) 516.95 93.46 T
(_RunScript) 71.42 77.46 T
0.35 (Read in the \336le containing a list of S) 224.42 77.46 P
1 F
0.31 (ELF) 373.22 77.46 P
0 F
0.35 ( expressions and evaluate the expres-) 389.2 77.46 P
1.19 (sions \050see section I-5.5\051. The receiver is a string naming the \336le to be read.) 224.42 65.46 P
FMENDPAGE
%%EndPage: "43" 48
%%Page: "44" 48
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-44) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
20 F
0 X
3.59 (_RunScript) 224.42 709.45 P
0 F
1.5 ( always returns to the prompt \050even if it is invoked within a) 284.39 709.45 P
(program\051. This will be changed in a later release.) 224.42 697.45 T
(_PrintPeriod[:]) 71.42 681.45 T
(Print a period when reading a script \336le with ) 224.42 681.45 T
20 F
(_RunScript) 405.14 681.45 T
0 F
(. Default: ) 465.1 681.45 T
20 F
(false) 505.35 681.45 T
0 F
(.) 535.33 681.45 T
(_PrintScriptName[:]) 71.42 665.45 T
1.58 (Print the \336le name when reading a script \336le with ) 224.42 665.45 P
20 F
3.8 (_RunScript) 440.12 665.45 P
0 F
1.58 (. Default:) 500.09 665.45 P
20 F
(false) 224.42 653.45 T
0 F
(.) 254.41 653.45 T
(_SourceDir[:]) 71.42 637.45 T
2.64 (Controls the directory where ) 224.42 637.45 P
20 F
6.34 (_RunScript) 352.13 637.45 P
0 F
2.64 ( reads its \336les. Default: ) 412.1 637.45 P
12 F
6.97 (\325) 520.24 637.45 P
20 F
6.34 (.) 526.84 637.45 P
12 F
6.97 (\325) 532.83 637.45 P
0 F
1.69 (\050current directory\051 or the value of the SELFDIR environment variable \050see) 224.42 625.45 P
(Appendix D\051.) 224.42 613.45 T
(_ReadSnapshot) 71.42 597.45 T
-0.13 (Read in the snapshot named by the receiver) 224.42 597.45 P
-0.13 (, a byte vector \050see section I-5.1\051. A) 397.14 597.45 P
0.15 (snapshot may also be started from the U) 224.42 585.45 P
1 F
0.14 (NIX) 386.2 585.45 P
0 F
0.15 ( prompt. ) 402.17 585.45 P
20 F
0.36 (_ReadSnapshot) 438.84 585.45 P
0 F
0.15 ( eval-) 516.8 585.45 P
3.19 (uates certain expressions before and after it executes; see section I-5.8.) 224.42 573.45 P
20 F
1.63 (_ReadSnapshot) 224.42 561.45 P
0 F
0.68 ( necessarily always returns to the prompt, even if invoked) 302.38 561.45 P
(within a program.) 224.42 549.45 T
(_W) 71.42 533.45 T
(riteSnapshot) 85.46 533.45 T
0.14 (W) 224.42 533.45 P
0.14 (rite a snapshot to the \336le named by the receiver) 233.46 533.45 P
0.14 (, a byte vector \050see section I-) 423.38 533.45 P
0.97 (5.1\051. Returns the receiver) 224.42 521.45 P
0.97 (. ) 328.08 521.45 P
20 F
2.32 (_WriteSnapshot) 334.05 521.45 P
0 F
0.97 ( evaluates certain expressions) 418 521.45 P
(before and after it executes; see section I-5.8.) 224.42 509.45 T
(_SnapshotCode[:]) 71.42 493.45 T
(Save compiled code with snapshot. Default: ) 224.42 493.45 T
12 F
(false.) 402.92 493.45 T
0 F
(_De\336ne:) 71.42 477.45 T
0.15 (De\336ne slots of the receiver \050see section I-5.6.3\051. ) 224.42 477.45 P
20 F
0.37 (_Define:) 420.21 477.45 P
0 F
0.15 ( always returns to) 468.18 477.45 P
0.38 (the prompt \050even if it is invoked within a program\051. This will be changed in a) 224.42 465.45 P
(later release.) 224.42 453.45 T
(_AddSlots:) 71.42 437.45 T
4.98 (Add all slots of the ar) 224.42 437.45 P
4.98 (gument to the receiver \050see section I-5.6.1\051.) 335.5 437.45 P
20 F
3.59 (_AddSlots:) 224.42 425.45 P
0 F
1.5 ( always returns to the prompt \050even if it is invoked within a) 284.39 425.45 P
(program\051. This will be changed in a later release.) 224.42 413.45 T
(_AddSlotsIfAbsent:) 71.42 397.45 T
2.22 (Same as ) 224.42 397.45 P
20 F
5.32 (_AddSlots:) 264.39 397.45 P
0 F
2.22 (, except that existing slots are never changed \050see) 324.35 397.45 P
(section I-5.6.3\051.) 224.42 385.45 T
(_RemoveSlot:) 71.42 369.45 T
1.4 (Remove the designated slot from the receiver \050the ar) 224.42 369.45 P
1.4 (gument is a string, the) 445.27 369.45 P
0.17 (name of the slot\051. See also section I-5.6.2. ) 224.42 357.45 P
20 F
0.4 (_RemoveSlot:) 396.18 357.45 P
0 F
0.17 ( always returns to) 468.15 357.45 P
0.38 (the prompt \050even if it is invoked within a program\051. This will be changed in a) 224.42 345.45 P
(later release.) 224.42 333.45 T
(_AsObject) 71.42 317.45 T
-0 (Returns the receiver \050an integer\051 converted to an object. The integer receiver is) 224.42 317.45 P
0.17 (an object reference number displayed by ) 224.42 305.45 P
20 F
0.41 (_Print) 390.3 305.45 P
0 F
0.17 ( or a stack trace \050see section) 426.29 305.45 P
(I-5.3.1\051.) 224.42 293.45 T
(_HistoryLength[:]) 71.42 277.45 T
0.38 (Controls the number of object references remembered by the system. Default:) 224.42 277.45 P
20 F
(1000) 224.42 265.45 T
0 F
(.) 248.41 265.45 T
(_CurrentHistoryNumber[:]) 71.42 249.45 T
0.46 (Controls the reference number of the next object reference to be printed. This) 224.42 249.45 P
(primitive is usually used to reset the object reference numbering.) 224.42 237.45 T
(_HistoryNumber) 71.42 221.45 T
(Returns the history number of the receiver) 224.42 221.45 T
(, assigning one if necessary) 393.34 221.45 T
(.) 502.33 221.45 T
(_AddressAsObject) 71.42 205.45 T
0.22 (Returns the receiver \050an integer denoting an address\051 converted into an object.) 224.42 205.45 P
1.24 (This primitive is used for low-level debugging \050addresses of objects change) 224.42 193.45 P
(upon scavenges and garbage collections\051.) 224.42 181.45 T
(_StackPrintLimit[:]) 71.42 165.45 T
1.63 (Controls the number of stack frames printed by ) 224.42 165.45 P
20 F
3.91 (_PrintProcessStack) 428.98 165.45 P
0 F
1.63 (.) 536.92 165.45 P
(Default: ) 224.42 153.45 T
20 F
(10) 259.67 153.45 T
0 F
(.) 271.67 153.45 T
(_UseNewCompiler[:]) 71.42 137.45 T
-0.2 (Controls whether to use the new compiler \050see section I-2.1\051. Default: ) 224.42 137.45 P
12 F
-0.53 (false) 503.97 137.45 P
0 F
-0.2 (.) 536.92 137.45 P
71.42 102.44 539.42 122.53 C
71.42 110.43 203.4 110.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.12 (\240 ) 71.42 99.77 P
0 F
0.15 (Bracketed colons indicate option primitives. The ar) 79.67 95.77 P
0.15 (gument is optional \050there are two versions of the primitive, one) 285.55 95.77 P
0.3 (taking an ar) 71.42 84.77 P
0.3 (gument and one not taking an ar) 119.02 84.77 P
0.3 (gument\051. The brackets are not part of the primitive name. Option primi-) 249.42 84.77 P
0.7 (tives ignore their receiver and return their current value \050for the no ar) 71.42 73.77 P
0.7 (gument version that queries its state\051 or their) 356.05 73.77 P
(previous value \050for the one ar) 71.42 62.77 T
(gument version that sets its state\051. See section I-5.7.) 189.2 62.77 T
FMENDPAGE
%%EndPage: "44" 49
%%Page: "45" 49
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-45) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
71.42 697.12 539.42 705.11 C
71.42 703.1 539.42 703.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 708.78 T
(able 18 System primitives) 77.74 708.78 T
17 F
(\240) 203.16 713.18 T
24 F
(Name) 71.42 686.45 T
(Description) 224.42 686.45 T
0 F
(_Scavenge) 71.42 669.45 T
1.66 (Force a scavenge \050a fast, partial garbage collection; see [Ung84], [Ung86],) 224.42 669.45 P
([Lee88]\051.) 224.42 657.45 T
(_PrintScavenge[:]) 71.42 641.45 T
11 F
(\340) 143.59 645.45 T
0 F
(Print a message at every scavenge. Default: ) 224.42 641.45 T
20 F
(false) 400.95 641.45 T
0 F
(.) 430.93 641.45 T
(_GarbageCollect) 71.42 625.45 T
1.11 (Force a full garbage collection \050this may take several seconds depending on) 224.42 625.45 P
(your hardware and the size of old space\051.) 224.42 613.45 T
(_PrintGC[:]) 71.42 597.45 T
(Print a message at every full garbage collection. Default: ) 224.42 597.45 T
20 F
(false) 454.25 597.45 T
0 F
(.) 484.23 597.45 T
(_Compact) 71.42 581.45 T
(Compact the compiled code cache.) 224.42 581.45 T
(_Flush) 71.42 565.45 T
(Flush all compiled methods from the compiled code cache.) 224.42 565.45 T
(_FlushInlineCache) 71.42 549.45 T
-0.15 (Flush all ) 224.42 549.45 P
16 F
-0.15 (inline caches) 261.33 549.45 P
0 F
-0.15 (. An inline cache caches the result of message lookups at) 313.63 549.45 P
0.41 (the site of a message send. Inline caching speeds up subsequent executions of) 224.42 537.45 P
0.4 (the particular send if the type of the receiver does not change. See [DS84] for) 224.42 525.45 P
(details.) 224.42 513.45 T
(_InlineCache[:]) 71.42 497.45 T
1.26 (Disable/enable inline caching. Disabling inline caching can slow the system) 224.42 497.45 P
(considerably \050see ) 224.42 485.45 T
20 F
(_FlushInlineCache) 296.58 485.45 T
0 F
(\051. Default: ) 398.53 485.45 T
20 F
(true) 442.1 485.45 T
0 F
(.) 466.09 485.45 T
(_Inline[:]) 71.42 469.45 T
0.04 (Disable/enable ) 224.42 469.45 P
16 F
0.04 (inlining) 286.36 469.45 P
0 F
0.04 (. Inlining is the process of inserting a copy of the callee) 317.46 469.45 P
0.94 (in the caller) 224.42 457.45 P
0.94 (\325) 273.85 457.45 P
0.94 (s code during compilation in order to avoid message sends. See) 276.63 457.45 P
-0.11 ([CUL89] for details. Disabling inlining will slow the system by a few orders of) 224.42 445.45 P
(magnitude. Default: ) 224.42 433.45 T
20 F
(true) 306.87 433.45 T
0 F
(.) 330.86 433.45 T
(_T) 71.42 417.45 T
(race[:]) 82.18 417.45 T
1.98 (T) 224.42 417.45 P
1.98 (urn on/of) 230.18 417.45 P
1.98 (f tracing of message sends. Only sends that actually result in a) 268.9 417.45 P
0.16 (lookup \050those sends that are not inlined or inline cached\051 are displayed. T) 224.42 405.45 P
0.16 (o see) 519.01 405.45 P
0.93 (all sends, disable inlining and inline caching and \337ush all compiled methods) 224.42 393.45 P
(and inline caches \050see section I-5.4.5\051. Default: ) 224.42 381.45 T
20 F
(false) 415.38 381.45 T
0 F
(.) 445.36 381.45 T
(_Spy[:]) 71.42 365.45 T
2.74 (T) 224.42 365.45 P
2.74 (urn on/of) 230.18 365.45 P
2.74 (f the system monitor) 269.66 365.45 P
2.74 (, which continuously displays information) 359.94 365.45 P
0.37 (about the state of the S) 224.42 353.45 P
1 F
0.33 (ELF) 317.58 353.45 P
0 F
0.37 ( system \050see Appendix E\051. Spying incurs little run-) 333.57 353.45 P
(time overhead. Default: ) 224.42 341.45 T
20 F
(false) 321.57 341.45 T
0 F
(.) 351.55 341.45 T
(_MonitorHeight) 71.42 325.45 T
(Return the height \050in pixels\051 of the screen area used by the system monitor) 224.42 325.45 T
(.) 521.72 325.45 T
(_SelfPro\336ling[:]) 71.42 309.45 T
0.59 (Activate/deactivate the pro\336ling of S) 224.42 309.45 P
1 F
0.53 (ELF) 374.46 309.45 P
0 F
0.59 ( code. Pro\336ling incurs little run-time) 390.44 309.45 P
(overhead. Default: ) 224.42 297.45 T
20 F
(false) 301.3 297.45 T
0 F
(.) 331.29 297.45 T
(_ResetSelfPro\336le) 71.42 281.45 T
(Reset the pro\336le counters in order to start new measurements.) 224.42 281.45 T
(_PrintSelfPro\336le:) 71.42 265.45 T
0.35 (Print the pro\336le; the ar) 224.42 265.45 P
0.35 (gument is an integer specifying how many lines should) 316.17 265.45 P
1.33 (be printed. The pro\336le shows the time consumed by each compiled method) 224.42 253.45 P
2.74 (\050including the time consumed by any methods inlined into the compiled) 224.42 241.45 P
(method, but not including any time spent in the VM\051.) 224.42 229.45 T
(_GenerateCountCode[:]) 71.42 213.45 T
1.51 (Generate/do not generate code to count the number of actual \050real\051 method) 224.42 213.45 P
0.34 (invocations performed. Generating count code incurs some run-time overhead) 224.42 201.45 P
0.9 (when enabled. Changing this setting only af) 224.42 189.45 P
0.9 (fects methods compiled after the) 405.37 189.45 P
(change \050see ) 224.42 177.45 T
20 F
(_Flush) 273.82 177.45 T
0 F
(, earlier in this table\051. Default: ) 309.8 177.45 T
20 F
(false) 433.04 177.45 T
0 F
(.) 463.02 177.45 T
(_NumberOfMethodCalls) 71.42 161.45 T
0.38 (Returns the number of method calls that were not mere data accesses made in) 224.42 161.45 P
2.52 (methods that are instrumented to measure this \050see ) 224.42 149.45 P
20 F
6.06 (_GenerateCount-) 449.47 149.45 P
(Code:) 224.42 137.45 T
0 F
(\051.) 254.41 137.45 T
71.42 94.44 539.42 114.53 C
71.42 102.43 203.4 102.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
-0.01 (\240 ) 71.42 91.77 P
0 F
-0.01 (All system primitives other than option primitives \050indicated in this table by [:] after their names\051 return \050but other-) 79.4 87.77 P
(wise ignore\051 their receivers. Option primitives return their previous value.) 71.42 76.77 T
11 F
(\340 ) 71.42 66.77 T
0 F
(Bracketed colons indicate option primitives. See footnote on page 44.) 79.42 62.77 T
FMENDPAGE
%%EndPage: "45" 50
%%Page: "46" 50
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-46) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(_NumberOfAccessMethodCalls) 71.42 709.45 T
0.85 (Returns the number of actual data access method calls made in methods that) 224.42 709.45 P
(are instrumented to measure this \050see ) 224.42 697.45 T
20 F
(_GenerateCountCode:) 375.42 697.45 T
0 F
(\051.) 489.36 697.45 T
(_PrintMemory) 71.42 681.45 T
(Print low-level debugging information about the memory system.) 224.42 681.45 T
(_V) 71.42 665.45 T
(erify) 82.53 665.45 T
(V) 224.42 665.45 T
(erify the integrity of the S) 230.53 665.45 T
1 F
(ELF) 334.07 665.45 T
0 F
( virtual machine.) 350.05 665.45 T
71.42 621.12 539.42 629.11 C
71.42 627.1 539.42 627.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 632.78 T
(able 19 Miscellaneous primitives) 77.74 632.78 T
17 F
(\240) 235.52 637.18 T
24 F
(Name) 71.42 610.45 T
(Description) 224.42 610.45 T
0 F
(_IdentityHash) 71.42 593.45 T
-0.12 (Return an integer hash value for the receiver) 224.42 593.45 P
-0.12 (. The hash for a particular object is) 400.93 593.45 P
(constant, but it is not unique \050several objects might have the same hash value\051.) 224.42 581.45 T
(_Eval) 71.42 565.45 T
2.37 (Evaluate the receiver) 224.42 565.45 P
2.37 (, a byte vector containing a S) 313.12 565.45 P
1 F
2.13 (ELF) 443.62 565.45 P
0 F
2.37 ( expression, in the) 459.6 565.45 P
0 (context of the lobby and return the result. Example: ) 224.42 553.45 P
20 F
0.01 (\3253+4\325) 433.2 553.45 P
0.01 (_Eval) 469.18 553.45 P
0 F
0 ( returns 7.) 499.17 553.45 P
20 F
2.7 (_Eval) 224.42 541.45 P
0 F
1.13 (s can be nested. ) 254.41 541.45 P
20 F
2.7 (_Eval) 324.14 541.45 P
0 F
1.13 ( fails if the string is not a syntactically valid) 354.12 541.45 P
(S) 224.42 529.45 T
1 F
(ELF) 229.98 529.45 T
0 F
( expression.) 245.96 529.45 T
(_Restart) 71.42 513.45 T
0.55 (Restart the current method, i.e. jump to the beginning of the method. Used to) 224.42 513.45 P
(implement looping in blocks.) 224.42 501.45 T
(_ErrorMessage) 71.42 485.45 T
0.12 (Return a short description \050a canonical string\051 of the receiver) 224.42 485.45 P
0.12 (, which should be) 468.55 485.45 P
2 (an error string returned by a primitive failure. Especially useful for U) 224.42 473.45 P
1 F
1.8 (NIX) 523.45 473.45 P
0 F
(errors. ) 224.42 461.45 T
-0.07 (Example: ) 224.42 445.45 P
20 F
-0.18 (\325E2BIG\325 _ErrorMessage) 265.16 445.45 P
0 F
-0.07 ( returns ) 390.91 445.45 P
20 F
-0.18 (\325Arg list too long\325) 423.52 445.45 P
0 F
-0.07 (.) 536.92 445.45 P
(_Manufacturer) 71.42 429.45 T
(Return the name \050a canonical string\051 of the manufacturer of the host computer) 224.42 429.45 T
(.) 535.85 429.45 T
(_Help) 71.42 413.45 T
(Print a list of useful primitives.) 224.42 413.45 T
(_PrintOptionPrimitives) 71.42 397.45 T
0.63 (Print a list of the available option primitives with a short explanation of their) 224.42 397.45 P
(function and their current settings \050see section I-5.7\051.) 224.42 385.45 T
(_Quit) 71.42 369.45 T
1.06 (Leave the S) 224.42 369.45 P
1 F
0.95 (ELF) 273.73 369.45 P
0 F
1.06 ( system \050equivalent to typing ) 289.71 369.45 P
20 F
2.54 (^D) 413.55 369.45 P
0 F
1.06 ( \050control-D\051 at the prompt\051.) 425.55 369.45 P
(The state of the world is ) 224.42 357.45 T
16 F
(not) 323.8 357.45 T
0 F
( saved.) 336.57 357.45 T
71.42 313.13 539.42 321.12 C
71.42 319.1 539.42 319.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 324.79 T
(able 20 U) 77.74 324.79 T
24 F
(NIX) 127.18 324.79 T
5 F
( primitives) 145.5 324.79 T
24 F
(Name) 71.42 302.46 T
(Corr) 224.42 302.46 T
(esponding U) 245.33 302.46 T
17 F
(NIX) 298.37 302.46 T
24 F
( call) 314.85 302.46 T
0 F
(_HostName) 71.42 285.46 T
(gethostname\050\051. Ignores receiver) 224.42 285.46 T
(.) 350.7 285.46 T
(_HostID) 71.42 269.46 T
0.11 (gethostid\050\051; returns a four) 224.42 269.46 P
0.11 (-element byte vector) 326.98 269.46 P
0.11 (, corresponding to the four bytes) 408.96 269.46 P
3.05 (returned by gethostid\050\051; the \336rst element is the high-order byte. Ignores) 224.42 257.46 P
(receiver) 224.42 245.46 T
(.) 256.06 245.46 T
(_OpenMode:) 71.42 229.46 T
1.09 (open\050receiver) 224.42 229.46 P
1.09 (, mode\051; the receiver is the \336le name \050a byte vector\051, the ar) 278.96 229.46 P
1.09 (gu-) 526.1 229.46 P
-0.08 (ment mode is an integer) 224.42 217.46 P
-0.08 (. Returns the \336le descriptor \050an integer\051 if the \336le could) 319.58 217.46 P
(be successfully opened.) 224.42 205.46 T
(_OpenMode:Permission:) 71.42 189.46 T
-0.09 (open\050receiver) 224.42 189.46 P
-0.09 (, mode, permission\051. The receiver is the \336le name \050a byte vector\051;) 278.96 189.46 P
-0.17 (the ar) 224.42 177.46 P
-0.17 (guments mode and permission are integers. Returns the \336le descriptor \050an) 246.56 177.46 P
(integer\051 if the \336le could be successfully opened.) 224.42 165.46 T
(_Close) 71.42 149.46 T
(close\050receiver\051. The receiver should be an integer \336le descriptor) 224.42 149.46 T
(.) 479.48 149.46 T
(_ReadInto:Of) 71.42 133.46 T
(fset:Count:) 126.2 133.46 T
2.34 (read\050receiver) 224.42 133.46 P
2.34 (, toByteV) 276.73 133.46 P
2.34 (ector) 316.83 133.46 P
2.34 (, count\051. The receiver should be an integer \336le) 336.41 133.46 P
1.46 (descriptor) 224.42 121.46 P
1.46 (, the \336rst ar) 263.99 121.46 P
1.46 (gument is the byte vector to be read into, of) 313.71 121.46 P
1.46 (fset is an) 500.98 121.46 P
-0.19 (integer specifying the starting of) 224.42 109.46 P
-0.19 (fset in the byte vector or string, and count is an) 353.39 109.46 P
3.85 (integer) 224.42 97.46 P
3.85 (. Fails with over\337owError if the buf) 251.63 97.46 P
3.85 (fer is too short. Fails with) 417.48 97.46 P
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(Unless otherwise noted, all of the miscellaneous primitives return \050but otherwise ignore\051 their receivers.) 79.42 62.77 T
FMENDPAGE
%%EndPage: "46" 51
%%Page: "47" 51
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-47) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
0.68 (badT) 224.42 709.45 P
0.68 (ypeError if toByteV) 244.26 709.45 P
0.68 (ector is a canonical or immutable string. Returns the) 325 709.45 P
(number of bytes actually read.) 224.42 697.45 T
(_W) 71.42 681.45 T
(riteFrom:Of) 85.46 681.45 T
(fset:Count:) 133.58 681.45 T
0.67 (write\050receiver) 224.42 681.45 P
0.67 (, fromByteV) 280.07 681.45 P
0.67 (ector) 330.16 681.45 P
0.67 (, count\051. The receiver should be an integer \336le) 349.74 681.45 P
0.39 (descriptor) 224.42 669.45 P
0.39 (, the \336rst ar) 263.99 669.45 P
0.39 (gument is the byte vector to be written from, of) 310.5 669.45 P
0.39 (fset is an) 503.12 669.45 P
0.13 (integer specifying the starting of) 224.42 657.45 P
0.13 (fset in the byte vector) 354.65 657.45 P
0.13 (, and count is an integer) 441.36 657.45 P
0.13 (.) 536.92 657.45 P
0.07 (Fails with over\337owError if the buf) 224.42 645.45 P
0.07 (fer is too short. Returns the number of bytes) 362.57 645.45 P
(actually written.) 224.42 633.45 T
(_LseekT) 71.42 617.45 T
(o:Mode:) 105.69 617.45 T
-0.02 (lseek\050receiver) 224.42 617.45 P
-0.02 (, to, mode\051. The receiver should be an integer \336le descriptor) 280.07 617.45 P
-0.02 (. The) 518.9 617.45 P
-0 (two ar) 224.42 605.45 P
-0 (guments should be integers; the result is an integer) 249.5 605.45 P
-0 (, the absolute position) 451.71 605.45 P
(seeked to.) 224.42 593.45 T
(_NumberCharsInFile) 71.42 577.45 T
1.73 (Return the size of the \336le denoted by the receiver \050in bytes\051. The receiver) 224.42 577.45 P
(should be an integer \336le descriptor) 224.42 565.45 T
(.) 362.39 565.45 T
(_SelectInto:Size:) 71.42 549.45 T
0.22 (select\050\051. The \336rst ar) 224.42 549.45 P
0.22 (gument is an object vector in which the \336le descriptors, on) 303.18 549.45 P
-0.13 (which I/O is possible, are stored; the second ar) 224.42 537.45 P
-0.13 (gument is the maximum number) 410.01 537.45 P
2.47 (of \336le descriptors to store. Returns the number of \336le descriptors stored.) 224.42 525.45 P
(Ignores receiver) 224.42 513.45 T
(.) 288.53 513.45 T
(_CBreak:) 71.42 497.45 T
0.7 (Enter/exit cbreak mode for stdin. The ar) 224.42 497.45 P
0.7 (gument is one of the boolean objects) 388.62 497.45 P
20 F
0.94 (true) 224.42 485.45 P
0 F
0.39 ( or ) 248.41 485.45 P
20 F
0.94 (false) 262.52 485.45 P
0 F
0.39 (. The primitive returns the previous state of cbreak \050) 292.5 485.45 P
20 F
0.94 (true) 504.22 485.45 P
0 F
0.39 ( or) 528.21 485.45 P
20 F
6.56 (false) 224.42 473.45 P
0 F
2.73 (\051. In cbreak mode, ICRNL, ICANON, and ECHO are turned of) 254.41 473.45 P
2.73 (f.) 533.6 473.45 P
0.81 (Cbreak mode is always exited before reading at the prompt; it is temporarily) 224.42 461.45 P
(exited on ) 224.42 449.45 T
20 F
(^Z) 263.84 449.45 T
0 F
( \050control-Z\051. Ignores receiver) 275.84 449.45 T
(. ) 391.84 449.45 T
(_System) 71.42 433.45 T
2.05 (system\050receiver\051; the receiver should be a byte vector) 224.42 433.45 P
2.05 (. Returns the integer) 452.21 433.45 P
(termination status that system\050\051 returns.) 224.42 421.45 T
(_T) 71.42 405.45 T
(imeUser) 82.18 405.45 T
1.59 (Return the \322user\323 time \050in milliseconds\051 used by the S) 224.42 405.45 P
1 F
1.43 (ELF) 455.02 405.45 P
0 F
1.59 ( system. Ignores) 471 405.45 P
(receiver) 224.42 393.45 T
(.) 256.06 393.45 T
(_T) 71.42 377.45 T
(imeSystem) 82.18 377.45 T
0.58 (Return the \322system\323 time \050in milliseconds\051 used by the S) 224.42 377.45 P
1 F
0.52 (ELF) 457.04 377.45 P
0 F
0.58 ( system. Ignores) 473.02 377.45 P
(receiver) 224.42 365.45 T
(.) 256.06 365.45 T
(_T) 71.42 349.45 T
(imeCPU) 82.18 349.45 T
-0.16 (Return the total CPU time \050in milliseconds\051 used by the S) 224.42 349.45 P
1 F
-0.14 (ELF) 453.25 349.45 P
0 F
-0.16 ( system \050identical) 469.23 349.45 P
(to ) 224.42 337.45 T
20 F
(_TimeUser + _TimeSystem) 234.7 337.45 T
0 F
(\051. Ignores receiver) 372.62 337.45 T
(.) 445.05 337.45 T
(_T) 71.42 321.45 T
(imeReal) 82.18 321.45 T
(Real time \050in milliseconds\051 since starting up S) 224.42 321.45 T
1 F
(ELF) 409.04 321.45 T
0 F
(. Ignores receiver) 424.22 321.45 T
(.) 493.33 321.45 T
(_DateT) 71.42 305.45 T
(ime) 101.05 305.45 T
2.16 (Returns a vector containing the current date and time as 7 integers: year) 224.42 305.45 P
2.16 (,) 536.92 305.45 P
-0.14 (month, day) 224.42 293.45 P
-0.14 (, weekday \0500 = Sunday\051, hour) 268.61 293.45 P
-0.14 (, minute, and second. Ignores receiver) 386.1 293.45 P
-0.14 (.) 536.92 293.45 P
(_TCPConnectT) 71.42 277.45 T
(oHost:Port:) 133.47 277.45 T
0.57 (Opens a TCP connection and returns an integer \336le descriptor) 224.42 277.45 P
0.57 (. The \336rst ar) 475.73 277.45 P
0.57 (gu-) 526.1 277.45 P
-0.13 (ment should be a byte vector whose \336rst four bytes contain the Internet address) 224.42 265.45 P
0.96 (of the host; the second ar) 224.42 253.45 P
0.96 (gument should be an integer specifying the desired) 329.24 253.45 P
(port number) 224.42 241.45 T
(. Ignores receiver) 273.01 241.45 T
(.) 342.11 241.45 T
71.42 197.12 539.42 205.11 C
71.42 203.1 539.42 203.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
5 F
0 X
0 K
(T) 71.42 208.78 T
(able 21 Pixr) 77.74 208.78 T
(ect primitives) 139.19 208.78 T
17 F
(\240) 202.95 213.18 T
24 F
(Name) 71.42 186.45 T
(Description or corr) 224.42 186.45 T
(esponding Sun ) 306.4 186.45 T
27 F
(Pixrect) 371.39 186.45 T
24 F
( graphics library call) 400.82 186.45 T
0 F
(_PrOpen) 71.42 169.45 T
1.89 (pr_open\050\051; the receiver must be a byte vector \336le name. Returns a pixrect) 224.42 169.45 P
(handle.) 224.42 157.45 T
(_MemCreateW) 71.42 141.45 T
(idthHeight:Depth:) 132.64 141.45 T
(mem_create\050\051; the receiver can be any object. Returns a pixrect handle.) 224.42 141.45 T
(_GetPixrectPrW) 71.42 125.45 T
(idth) 137.09 125.45 T
(Return the width of the receiver) 224.42 125.45 T
(.) 351.27 125.45 T
(_GetPixrectPrHeight) 71.42 109.45 T
(Return the height of the receiver) 224.42 109.45 T
(.) 353.49 109.45 T
(_GetPixrectPrDepth) 71.42 93.45 T
(Return the depth of the receiver) 224.42 93.45 T
(.) 350.71 93.45 T
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(If not explicitly described otherwise, the receiver of these primitives must be a pixrect handle.) 79.42 62.77 T
FMENDPAGE
%%EndPage: "47" 52
%%Page: "48" 52
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-48) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(_PrRegionX:Y) 71.42 709.45 T
(:W) 130.47 709.45 T
(:H:) 142.32 709.45 T
(pr_region\050\051) 224.42 709.45 T
(_PrClose) 71.42 693.45 T
(pr_close\050\051) 224.42 693.45 T
(_PrGetX:Y) 71.42 677.45 T
(:) 116.03 677.45 T
(pr_get\050\051) 224.42 677.45 T
(_PrPutX:Y) 71.42 661.45 T
(:V) 114.93 661.45 T
(alue:) 123.82 661.45 T
(pr_put\050\051) 224.42 661.45 T
(_PrRopDestDX:DY) 71.42 645.45 T
(:DW) 151.01 645.45 T
(:DH:Op:Source:SX:SY) 170.07 645.45 T
(:) 262.99 645.45 T
(pr_rop\050\051) 224.42 633.45 T
(_PrStencilDestDX:DY) 71.42 617.45 T
(:DW) 162.11 617.45 T
(:DH:Op:Stencil:StX:StY) 181.17 617.45 T
(:Source:SX:SY) 279.66 617.45 T
(:) 340.38 617.45 T
(pr_stencil\050\051) 224.42 605.45 T
(_PrReplropDestDX:DY) 71.42 589.45 T
(:DW) 166.55 589.45 T
(:DH:Op:Source:SX:SY) 185.61 589.45 T
(:) 278.53 589.45 T
(pr_replrop\050\051) 224.42 577.45 T
(_PrV) 71.42 561.45 T
(ectorX0:Y0:X1:Y1:Op:V) 91.41 561.45 T
(alue:) 192.46 561.45 T
(pr_vector\050\051) 224.42 561.45 T
(_PrPolygon2DestDX:DY) 71.42 545.45 T
(:NBnds:NPts:XList:YList:Op:Source:SX:SY) 172.67 545.45 T
(:) 352.23 545.45 T
0.85 (pr_polygon_2\050\051; ) 224.42 529.45 P
20 F
2.05 (XList) 293.29 529.45 P
0 F
0.85 ( and ) 323.27 529.45 P
20 F
2.05 (YList) 344.41 529.45 P
0 F
0.85 ( must be vectors of the x- and y-coordi-) 374.39 529.45 P
4.48 (nates of the polygon vertices; these replace the ) 224.42 517.45 P
20 F
10.76 (vlist) 449.58 517.45 P
0 F
4.48 ( ar) 479.57 517.45 P
4.48 (gument of) 494.13 517.45 P
(pr_polygon_2.) 224.42 505.45 T
(_PrLineX0:Y0:X1:Y1:Brush:T) 71.42 489.45 T
(exture:Op:) 195.66 489.45 T
0.71 (pr_line\050\051; ) 224.42 477.45 P
20 F
1.7 (Brush) 265.38 477.45 P
0 F
0.71 ( and ) 295.36 477.45 P
20 F
1.7 (Texture) 319.42 477.45 P
0 F
0.71 ( must be pr_brush and pr_texture structures) 361.4 477.45 P
(\050see below\051, or ) 224.42 465.45 T
20 F
(0) 286.59 465.45 T
0 F
( \050corresponding to ) 292.59 465.45 T
20 F
(NULL) 368.36 465.45 T
0 F
(\051.) 392.35 465.45 T
(_PrPolylineDX:DY) 71.42 449.45 T
(:NPts:PtList:MvList:Brush:T) 149.35 449.45 T
(exture:Op:) 265.29 449.45 T
11 F
(\240) 308.03 453.45 T
0 F
0.88 (pr_polyline\050\051; ) 224.42 437.45 P
20 F
2.11 (Brush) 283.32 437.45 P
0 F
0.88 ( and ) 313.31 437.45 P
20 F
2.11 (Texture) 334.5 437.45 P
0 F
0.88 ( must be pr_brush and pr_texture struc-) 376.48 437.45 P
(tures \050see below\051, or ) 224.42 425.45 T
20 F
(0) 308.52 425.45 T
0 F
( \050corresponding to ) 314.52 425.45 T
20 F
(NULL) 390.29 425.45 T
0 F
(\051.) 414.28 425.45 T
(_PrGetcolormapIndex:Count:Red:Green:Blue:) 71.42 409.45 T
0.38 (pr_getcolormap\050\051; ) 224.42 397.45 P
20 F
0.9 (Red) 300.02 397.45 P
0 F
0.38 (, ) 318.01 397.45 P
20 F
0.9 (Green) 323.38 397.45 P
0 F
0.38 (, and ) 353.36 397.45 P
20 F
0.9 (Blue) 376.04 397.45 P
0 F
0.38 ( must be byte vectors of minimum) 400.03 397.45 P
(size ) 224.42 385.45 T
20 F
(Index) 242.46 385.45 T
0 F
( + ) 272.45 385.45 T
20 F
(Count) 283.08 385.45 T
0 F
(.) 313.07 385.45 T
(_PrPutcolormapIndex:Count:Red:Green:Blue:) 71.42 369.45 T
0.32 (pr_putcolormap\050\051; ) 224.42 357.45 P
20 F
0.77 (Red) 300.52 357.45 P
0 F
0.32 (, ) 318.51 357.45 P
20 F
0.77 (Green) 323.83 357.45 P
0 F
0.32 (, and ) 353.81 357.45 P
20 F
0.77 (Blue) 376.38 357.45 P
0 F
0.32 ( must be byte vectors of minimum) 400.36 357.45 P
(size ) 224.42 345.45 T
20 F
(Index) 242.46 345.45 T
0 F
( + ) 272.45 345.45 T
20 F
(Count) 283.08 345.45 T
0 F
(.) 313.07 345.45 T
(_GetBitplaneMask) 71.42 329.45 T
(pr_getattributes\050\051; returns the integer mask.) 224.42 329.45 T
(_PrPutattributesPlanes:) 71.42 313.45 T
0.87 (pr_putattributes\050\051; ) 224.42 313.45 P
20 F
2.09 (Planes) 300.52 313.45 P
0 F
0.87 ( must be a one-long vector containing the integer) 336.5 313.45 P
(mask.) 224.42 301.45 T
(_PrDblGetAttribute:) 71.42 285.45 T
(pr_dbl_get\050\051) 224.42 285.45 T
(_PrDblSetAttributes:) 71.42 269.45 T
11 F
(\240) 155.83 273.45 T
0 F
(pr_dbl_set\050\051; ) 224.42 269.45 T
20 F
(Attributes) 278.55 269.45 T
0 F
( must be a vector of pairs of integers.) 338.52 269.45 T
27 F
(T) 71.42 237.45 T
(ext operations) 76.61 237.45 T
0 F
(_PfOpen) 71.42 220.45 T
(pf_open\050\051; the receiver must be a string. Returns a pixfont handle.) 224.42 220.45 T
(_PfOpenPrivate) 71.42 204.45 T
(pf_open_private\050\051; the receiver must be a string. Returns a pixfont handle.) 224.42 204.45 T
(_PfDefault) 71.42 188.45 T
(pf_default\050\051; the receiver must be a string. Returns a pixfont handle.) 224.42 188.45 T
(_PfClose) 71.42 172.45 T
(pf_close\050\051; the receiver must be a pixfont handle.) 224.42 172.45 T
(_PfT) 71.42 156.45 T
(extboundLen:Font:T) 90.71 156.45 T
(ext:) 172.75 156.45 T
11 F
(\240) 187.74 160.45 T
0 F
-0.12 (pf_textbound\050\051; the receiver must be a pr_subregion, ) 224.42 156.45 P
20 F
-0.28 (Font) 436.79 156.45 P
0 F
-0.12 ( is a pixfont handle,) 460.77 156.45 P
(and ) 224.42 144.45 T
20 F
(Text) 241.35 144.45 T
0 F
( is a string \050or byte vector\051.) 265.34 144.45 T
(_PrT) 71.42 128.45 T
(extX:Y) 90.71 128.45 T
(:Op:Font:T) 119.22 128.45 T
(ext:) 163.5 128.45 T
0.06 (pr_text\050\051; the receiver is a pixrect handle, ) 224.42 128.45 P
20 F
0.16 (Font) 392.52 128.45 P
0 F
0.06 ( is a pixfont handle, and ) 416.5 128.45 P
20 F
0.16 (Text) 515.44 128.45 P
0 F
(is a string \050or byte vector\051.) 224.42 116.45 T
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(This pixrect primitive is untested at this date.) 79.42 62.77 T
FMENDPAGE
%%EndPage: "48" 53
%%Page: "49" 53
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-49) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(_PrTtextX:Y) 71.42 709.45 T
(:Op:Font:T) 122.7 709.45 T
(ext:) 166.98 709.45 T
-0.15 (pr_ttext\050\051; the receiver is a pixrect handle, ) 224.42 709.45 P
20 F
-0.36 (Font) 393.8 709.45 P
0 F
-0.15 ( is a pixfont handle, and ) 417.79 709.45 P
20 F
-0.36 (Text) 515.44 709.45 P
0 F
(is a string \050or byte vector\051.) 224.42 697.45 T
27 F
(pr_pos structure) 71.42 665.45 T
0 F
(_NewPrPos) 71.42 648.45 T
(Return a new pr_pos structure; the receiver can be any object.) 224.42 648.45 T
(_DeletePrPos) 71.42 632.45 T
(Delete \050deallocate\051 a pr_pos structure.) 224.42 632.45 T
(_GetPrPosX) 71.42 616.45 T
(Return the x \336eld of the receiver \050which must be a pr_pos structure\051.) 224.42 616.45 T
(_SetPrPosX:) 71.42 600.45 T
(Set the x \336eld of the receiver \050which must be a pr_pos structure\051.) 224.42 600.45 T
(_GetPrPosY) 71.42 584.45 T
(Return the y \336eld of the receiver \050which must be a pr_pos structure\051.) 224.42 584.45 T
(_SetPrPosY) 71.42 568.45 T
(:) 118.82 568.45 T
(Set the y \336eld of the receiver \050which must be a pr_pos structure\051.) 224.42 568.45 T
27 F
(pr_size structure) 71.42 536.45 T
0 F
(_NewPrSize) 71.42 519.45 T
(Return a new pr_size structure; the receiver can be any object.) 224.42 519.45 T
(_DeletePrSize) 71.42 503.45 T
(Delete \050deallocate\051 a pr_size structure.) 224.42 503.45 T
(_GetPrSizeX) 71.42 487.45 T
(Return the x \336eld of the receiver \050which must be a pr_size structure\051.) 224.42 487.45 T
(_SetPrSizeX:) 71.42 471.45 T
(Set the x \336eld of the receiver \050which must be a pr_size structure\051.) 224.42 471.45 T
(_GetPrSizeY) 71.42 455.45 T
(Return the y \336eld of the receiver \050which must be a pr_size structure\051.) 224.42 455.45 T
(_SetPrSizeY) 71.42 439.45 T
(:) 121.59 439.45 T
(Set the y \336eld of the receiver \050which must be a pr_size structure\051.) 224.42 439.45 T
27 F
(pr_subregion structure) 71.42 407.45 T
0 F
(_NewPrSubregion) 71.42 390.45 T
(Return a new pr_subregion structure; the receiver can be any object.) 224.42 390.45 T
(_DeletePrSubregion) 71.42 374.45 T
(Delete \050deallocate\051 a pr_subregion structure.) 224.42 374.45 T
(_GetPrSubregionPr) 71.42 358.45 T
(Return the pr \336eld of the receiver \050which must be a pr_subregion structure\051.) 224.42 358.45 T
(_SetPrSubregionPr:) 71.42 342.45 T
(Set the pr \336eld of the receiver \050which must be a pr_subregion structure\051.) 224.42 342.45 T
(_SetPrSubregionPos:) 71.42 326.45 T
(Set the pos \336eld of the receiver \050which must be a pr_subregion structure\051.) 224.42 326.45 T
(_SetPrSubregionSize:) 71.42 310.45 T
(Set the size \336eld of the receiver \050which must be a pr_subregion structure\051.) 224.42 310.45 T
27 F
(pr_brush structure) 71.42 278.45 T
0 F
(_NewPrBrush) 71.42 261.45 T
(Return a new pr_brush structure; the receiver can be any object.) 224.42 261.45 T
(_DeletePrBrush) 71.42 245.45 T
(Delete \050deallocate\051 a pr_brush structure.) 224.42 245.45 T
(_GetPrBrushW) 71.42 229.45 T
(idth) 132.65 229.45 T
(Return the width \336eld of the receiver \050which must be a pr_brush structure\051.) 224.42 229.45 T
(_SetPrBrushW) 71.42 213.45 T
(idth:) 130.99 213.45 T
(Set the width \336eld of the receiver \050which must be a pr_brush structure\051.) 224.42 213.45 T
27 F
(pr_texture structure) 71.42 181.45 T
0 F
(_NewPrT) 71.42 164.45 T
(exture) 109.58 164.45 T
(Return a new pr_texture structure; the receiver can be any object.) 224.42 164.45 T
(_DeletePrT) 71.42 148.45 T
(exture) 116.8 148.45 T
(Delete \050deallocate\051 a pr_texture structure.) 224.42 148.45 T
27 F
(Pixrect extensions) 71.42 116.45 T
0 F
(_FontHeight) 71.42 99.45 T
(Height of \322A\323 in the font denoted by the receiver) 224.42 99.45 T
(.) 420.11 99.45 T
(_FontW) 71.42 83.45 T
(idth) 103.79 83.45 T
(W) 224.42 83.45 T
(idth of \322A\323 in the font denoted by the receiver) 233.46 83.45 T
(.) 417.49 83.45 T
FMENDPAGE
%%EndPage: "49" 54
%%Page: "50" 54
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-50) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(Primitives) 498.33 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
0 X
(_MemT) 71.42 709.45 T
(oMemCopySource:Height:) 102.93 709.45 T
0.58 (Fast bit copy from memory pixrect to memory pixrect. The receiver \050destina-) 224.42 709.45 P
0.36 (tion pixrect\051 and the \336rst ar) 224.42 697.45 P
0.36 (gument \050source pixrect\051 must have the same width) 335.12 697.45 P
(and depth, and the area to be copied must represent an even number of words. ) 224.42 685.45 T
(This primitive is faster than the \050more general\051 pixrect call pr_rop\050\051.) 224.42 673.45 T
(Do not use this primitive to blit to the screen.) 224.42 661.45 T
(_MemT) 71.42 645.45 T
(oScreenCopySource:Height:) 102.93 645.45 T
(Same as above, but the destination may be the screen.) 224.42 645.45 T
(_LineSaveUnderDestX1:Y1:X2:Y2:Color:Saveunder:) 71.42 629.45 T
0.97 (Fast and undoable line drawing. Draws a line of width two from \050) 224.42 613.45 P
20 F
2.33 (X1) 498.37 613.45 P
0 F
0.97 (,) 510.36 613.45 P
20 F
2.33 (Y1) 512.86 613.45 P
0 F
0.97 (\051 to) 524.85 613.45 P
-0.08 (\050) 224.42 601.45 P
20 F
-0.2 (X2) 227.75 601.45 P
0 F
-0.08 (,) 239.75 601.45 P
20 F
-0.2 (Y2) 242.24 601.45 P
0 F
-0.08 (\051 in the speci\336ed color; the receiver is the destination pixrect. The over-) 254.24 601.45 P
0.5 (written screen pixels are saved in the byte vector passed as the last ar) 224.42 589.45 P
0.5 (gument.) 506.94 589.45 P
1.1 (The screen can be restored by sending ) 224.42 577.45 P
20 F
2.64 (_LineRestoreUnder) 387.26 577.45 P
0 F
1.1 ( to this byte) 489.2 577.45 P
(vector) 224.42 565.45 T
(.) 248.85 565.45 T
(_LineSaveUnderMaxBytesXSizeYSize:) 71.42 549.45 T
0.45 (Returns the maximum number of bytes needed for the SaveUnder array when) 224.42 537.45 P
(drawing vector \050) 224.42 525.45 T
20 F
(XSize) 290.48 525.45 T
0 F
(, ) 320.46 525.45 T
20 F
(YSize) 325.46 525.45 T
0 F
(\051.) 355.44 525.45 T
(_LineRestoreUnder) 71.42 509.45 T
0.47 (Remove a line previously drawn with ) 224.42 509.45 P
20 F
1.14 (_LineSaveUnder) 379.94 509.45 P
0 F
0.47 (... from the screen,) 463.35 509.45 P
1.62 (restoring the pixels that were under the line at the time it was drawn. The) 224.42 497.45 P
0.4 (receiver must be the byte vector passed as the ) 224.42 485.45 P
20 F
0.97 (SaveUnder:) 413.19 485.45 P
0 F
0.4 ( ar) 473.16 485.45 P
0.4 (gument to the) 483.64 485.45 P
(drawing primitive.) 224.42 473.45 T
(_ColorShift:Mask:) 71.42 457.45 T
0.44 (A special primitive used by the user interface. Performs arcane manipulations) 224.42 457.45 P
(of the color map.) 224.42 445.45 T
FMENDPAGE
%%EndPage: "50" 55
%%Page: "51" 55
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(I-51) 297.67 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( System Manual) 92.96 749.62 T
(References) 495.03 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Refer) 71.42 705.45 T
(ences) 109.31 705.45 T
4 F
([CU89]) 71.42 678.11 T
0.07 (Craig Chambers and David Ungar. Customization: Optimizing Compiler Technol-) 143.42 678.11 P
0.59 (ogy for ) 143.42 664.11 P
0.59 (S) 182.58 664.11 P
6 F
0.54 (ELF) 189.25 664.11 P
4 F
0.59 (, a Dynamically-Typed Object-Oriented Programming Language. In) 208.78 664.11 P
3 F
0.51 (Proceedings of the SIGPLAN \32589 Conference on Programming Language Design) 143.42 650.11 P
1.8 (and Implementation) 143.42 636.11 P
4 F
1.8 (, Portland, OR, June, 1989. Published as ) 241.5 636.11 P
3 F
1.8 (SIGPLAN Notices) 450.67 636.11 P
(24\0507\051) 143.42 622.11 T
4 F
(, July, 1989.) 169.4 622.11 T
([CU90]) 71.42 596.11 T
0.08 (Craig Chambers and David Ungar. ) 143.42 596.11 P
0.08 (Iterative T) 313.7 596.11 P
0.08 (ype Analysis and Extended Message) 363.23 596.11 P
0.35 (Splitting: Optimizing Dynamically-T) 143.42 582.11 P
0.35 (yped Object-Oriented Programs. In ) 321.87 582.11 P
3 F
0.35 (Proceed-) 495.47 582.11 P
0.36 (ings of the SIGPLAN \32590 Conference on Programming Language Design and Im-) 143.42 568.11 P
3.13 (plementation) 143.42 554.11 P
4 F
3.13 (, White Plains, NY, June, 1990. Published as ) 206.05 554.11 P
3 F
3.13 (SIGPLAN Notices) 449.34 554.11 P
0.96 (25\0506\051) 143.42 540.11 P
4 F
0.96 (, June, 1990. Also to be published in ) 169.4 540.11 P
3 F
0.96 (Lisp and Symbolic Computation 4\0503\051) 355.34 540.11 P
4 F
0.96 (,) 536.43 540.11 P
(June, 1991.) 143.42 526.11 T
([CUL89]) 71.42 500.11 T
1.86 (Craig Chambers, David Ungar, and Elgin Lee. An Efficient Implementation of) 143.42 500.11 P
1.26 (S) 143.42 486.11 P
6 F
1.15 (ELF) 150.09 486.11 P
4 F
1.26 (, a Dynamically-Typed Object-Oriented Language Based on Prototypes. In) 169.63 486.11 P
3 F
1.88 (OOPSLA \32589 Conference Proceedings) 143.42 472.11 P
4 F
1.88 (, New Orleans, LA, October, 1989. Pub-) 333.94 472.11 P
1.16 (lished as ) 143.42 458.11 P
3 F
1.16 (SIGPLAN Notices 24\05010\051) 190.38 458.11 P
4 F
1.16 (, October, 1989. Also to be published in ) 314.62 458.11 P
3 F
1.16 (Lisp) 518.76 458.11 P
(and Symbolic Computation 4\0503\051) 143.42 444.11 T
4 F
(, June, 1991.) 297 444.11 T
([DS84]) 71.42 418.11 T
0.33 (L. Peter Deutsch and Allan M. Schiffman. Efficient Implementation of the Small-) 143.42 418.11 P
-0.23 (talk-80 System. In ) 143.42 404.11 P
3 F
-0.23 (Proceedings of the 11th Annual ACM Symposium on the Princi-) 234.02 404.11 P
(ples of Programming Languages) 143.42 390.11 T
4 F
(, Salt Lake City, UT, 1984.) 301.01 390.11 T
([GR83]) 71.42 364.11 T
1.33 (Adele Goldberg and David Robson. ) 143.42 364.11 P
3 F
1.33 (Smalltalk-80: The Language and Its Imple-) 325.26 364.11 P
(mentation) 143.42 350.11 T
4 F
(. Addison-Wesley, Reading, MA, 1983) 191.4 350.11 T
(.) 379.27 350.11 T
([Lee88]) 71.42 324.11 T
1.13 (Elgin Lee. ) 143.42 324.11 P
3 F
1.13 (Object Storage and Inheritance for S) 198.65 324.11 P
13 F
1.04 (ELF) 381.88 324.11 P
4 F
1.13 (. ) 400.45 324.11 P
1.13 (Engineer\325s thesis, Stanford) 407.58 324.11 P
(University, 1988) 143.42 310.11 T
(.) 224.04 310.11 T
([Ung84]) 71.42 284.11 T
0.58 (David Ungar) 143.42 284.11 P
0.58 (. Generation Scavenging: A Non-Disruptive High Performance Stor-) 205.62 284.11 P
-0.14 (age Reclamation Algorithm. In ) 143.42 270.11 P
3 F
-0.14 (Pr) 295.08 270.11 P
-0.14 (oceedings of the ACM SIGSOFT/SIGPLAN Soft-) 306.63 270.11 P
0.89 (war) 143.42 256.11 P
0.89 (e Engineering Symposium on Practical Softwar) 161.64 256.11 P
0.89 (e Development Envir) 393.86 256.11 P
0.89 (onments) 496.45 256.11 P
4 F
0.89 (,) 536.43 256.11 P
1.32 (Pittsbur) 143.42 242.11 P
1.32 (gh, P) 180.53 242.11 P
1.32 (A, April, 1984, pp. 157-167. Published as ) 205.41 242.11 P
3 F
1.32 (SIGPLAN Notices 19\0505\051) 417.86 242.11 P
4 F
1.32 (,) 536.42 242.11 P
(May) 143.42 228.11 T
(, 1984 and ) 164.63 228.11 T
3 F
(Softwar) 217.93 228.11 T
(e Engineering Notes 9\0503\051) 254.81 228.11 T
4 F
(, May) 375.72 228.11 T
(, 1984.) 402.92 228.11 T
([Ung86]) 71.42 202.11 T
1.05 (David Ungar) 143.42 202.11 P
1.05 (. ) 206.1 202.11 P
3 F
1.05 (The Design and Evaluation of a High Performance Smalltalk Sys-) 213.15 202.11 P
(tem.) 143.42 188.11 T
4 F
( MIT Press, Cambridge, MA, 1987.) 163.74 188.11 T
([US87]) 71.42 162.11 T
4.97 (David Ungar and Randall B. Smith. ) 143.42 162.11 P
4.97 (S) 347.8 162.11 P
6 F
4.55 (ELF) 354.46 162.11 P
4 F
4.97 (: The Power of Simplicity. In) 374 162.11 P
3 F
-0.18 (OOPSLA) 143.42 148.11 P
-0.18 (\32587 Conference Proceedings) 191.06 148.11 P
4 F
-0.18 (, Orlando, FL, 1987. Published as ) 327.94 148.11 P
3 F
-0.18 (SIGPLAN) 491.45 148.11 P
0.1 (Notices 22\05012\051) 143.42 134.11 P
4 F
0.1 (, December, 1987. Also to be published in ) 214.48 134.11 P
3 F
0.1 (Lisp and Symbolic Com-) 420.84 134.11 P
(putation 4\0503\051) 143.42 120.11 T
4 F
(, June, 1991.) 206.39 120.11 T
FMENDPAGE
%%EndPage: "51" 56
%%Page: "1" 56
612 792 0 FMBEGINPAGE
72 63 540 747.36 R
7 X
0 K
V
7 F
0 X
(Part II) 275.69 641.36 T
(The S) 226.34 591.36 T
8 F
(ELF) 282.97 591.36 T
7 F
( W) 320.3 591.36 T
(orld) 347.02 591.36 T
FMENDPAGE
%%EndPage: "1" 57
%%Page: "2" 57
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
71.42 742.9 539.42 742.9 2 L
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 F
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Table of Contents) 467.8 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(T) 71.42 708.11 T
(able of Contents) 78.32 708.11 T
4 F
(1) 71.42 674.11 T
(Organizing the world) 107.42 674.11 T
0 F
(............................................................................................................................) 212.38 674.11 T
(II-1) 524.44 674.11 T
(1.1) 107.42 657.45 T
(T) 143.42 657.45 T
(raits objects) 149.18 657.45 T
(..................................................................................................................................) 197.39 657.45 T
(II-1) 524.44 657.45 T
(1.2) 107.42 641.45 T
(Name spaces) 143.42 641.45 T
(..................................................................................................................................) 197.39 641.45 T
(II-3) 524.44 641.45 T
(1.3) 107.42 625.45 T
(The name inferencer) 143.42 625.45 T
(......................................................................................................................) 227.38 625.45 T
(II-4) 524.44 625.45 T
4 F
(2) 71.42 598.11 T
(Map of the world) 107.42 598.11 T
0 F
(....................................................................................................................................) 192.39 598.11 T
(II-5) 524.44 598.11 T
(2.1) 107.42 583.45 T
(The lobby) 143.42 583.45 T
(.......................................................................................................................................) 184.9 583.45 T
(II-5) 524.44 583.45 T
(2.2) 107.42 567.45 T
(Default behaviors) 143.42 567.45 T
(...........................................................................................................................) 214.88 567.45 T
(II-6) 524.44 567.45 T
(2.3) 107.42 551.45 T
(W) 143.42 551.45 T
(ell-known objects) 152.06 551.45 T
(.......................................................................................................................) 224.88 551.45 T
(II-6) 524.44 551.45 T
(2.4) 107.42 535.45 T
(General system objects) 143.42 535.45 T
(..................................................................................................................) 237.37 535.45 T
(II-8) 524.44 535.45 T
(2.5) 107.42 519.45 T
(Miscellaneous system objects) 143.42 519.45 T
(........................................................................................................) 262.36 519.45 T
(II-9) 524.44 519.45 T
(2.6) 107.42 503.45 T
(Collections) 143.42 503.45 T
(...................................................................................................................................) 189.9 503.45 T
(II-10) 519.45 503.45 T
(2.7) 107.42 487.45 T
(Name inferencer) 143.42 487.45 T
(..........................................................................................................................) 212.38 487.45 T
(II-14) 519.45 487.45 T
(2.8) 107.42 471.45 T
(Host-speci\336c attributes) 143.42 471.45 T
(................................................................................................................) 237.37 471.45 T
(II-15) 519.45 471.45 T
4 F
(Appendix A) 71.42 436.11 T
(Mirrors) 143.42 436.11 T
0 F
(......................................................................................................................................) 182.4 436.11 T
(II-16) 519.45 436.11 T
4 F
(Appendix B) 71.42 422.11 T
(Strings) 143.42 422.11 T
0 F
(.......................................................................................................................................) 179.9 422.11 T
(II-18) 519.45 422.11 T
4 F
(Appendix C) 71.42 408.11 T
(Other objects in the S) 143.42 408.11 T
6 F
(ELF) 247.36 408.11 T
4 F
( world) 266.89 408.11 T
0 F
(.......................................................................................) 299.83 408.11 T
(II-20) 519.45 408.11 T
4 F
(Appendix D) 71.42 394.11 T
(The S) 143.42 394.11 T
6 F
(ELF) 171.74 394.11 T
4 F
( prototype user interface) 191.27 394.11 T
0 F
(...................................................................................) 309.83 394.11 T
(II-21) 519.45 394.11 T
4 F
(Appendix E) 71.42 380.11 T
(Selector glossary) 143.42 380.11 T
0 F
(....................................................................................................................) 227.38 380.11 T
(II-23) 519.45 380.11 T
4 F
(References) 71.42 358.11 T
0 F
(.....................................................................................................................................................) 144.92 358.11 T
(II-31) 519.45 358.11 T
FMENDPAGE
%%EndPage: "2" 58
%%Page: "1" 58
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-1) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Organizing the world) 453.93 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.27 (The S) 71.42 708.11 P
6 F
0.25 (ELF) 100.01 708.11 P
4 F
0.27 ( world that is included with the S) 119.54 708.11 P
6 F
0.25 (ELF) 280.35 708.11 P
4 F
0.27 ( system is a base set of useful objects. In addition) 299.88 708.11 P
-0.29 (to objects like integers, strings, and points, the S) 71.42 694.11 P
6 F
-0.27 (ELF) 301.3 694.11 P
4 F
-0.29 ( world includes objects that serve in or) 320.84 694.11 P
-0.29 (ganiza-) 504.13 694.11 P
-0.51 (tional roles. This document explains the basic or) 71.42 680.11 P
-0.51 (ganizing principles of the S) 300.14 680.11 P
6 F
-0.47 (ELF) 430 680.11 P
4 F
-0.51 ( world and lays out) 449.53 680.11 P
-0.14 (a map of the base world. See [UCC91] for a more thorough discussion of how S) 71.42 666.11 P
6 F
-0.13 (ELF) 453.77 666.11 P
4 F
-0.14 ( or) 473.3 666.11 P
-0.14 (ganizes the) 485.94 666.11 P
(world.) 71.42 652.11 T
9 F
(1 Organizing the world) 71.42 611.45 T
10 F
(1.1) 71.42 576.78 T
(T) 98.42 576.78 T
(raits objects) 106.72 576.78 T
4 F
0.93 (S) 71.42 550.11 P
6 F
0.85 (ELF) 78.09 550.11 P
4 F
0.93 ( uses object inheritance to share behavior) 97.63 550.11 P
0.93 (. Behavior shared by multiple objects is factored) 300.4 550.11 P
0.4 (into an inherited object called a ) 71.42 536.11 P
3 F
0.4 (traits object) 227.74 536.11 P
4 F
0.4 (. For example, cartesian points might be represented) 285.78 536.11 P
0.51 (as objects with an x slot, a y slot, and a parent slot pointing to a cartesian point traits object that) 71.42 522.11 P
-0.54 (holds methods for adding two points, drawing a point on the screen, etc. All cartesian points inherit) 71.42 508.11 P
0.56 (this same object through their parent slot, because we want them to share those behaviors rather) 71.42 312.11 P
-0.14 (than replicating them in each point object. T) 71.42 298.11 P
-0.14 (raits objects play the same role as classes in centraliz-) 282.55 298.11 P
(ing shared behavior) 71.42 284.11 T
(.) 165.36 284.11 T
-0.29 (T) 71.42 258.11 P
-0.29 (raits objects themselves share common behavior) 78.33 258.11 P
-0.29 (, and this behavior is factored out as well, result-) 308.56 258.11 P
0.01 (ing in a hierarchy of traits objects. For example, polar points have slightly dif) 71.42 244.11 P
0.01 (ferent behavior than) 442.81 244.11 P
71.42 55.44 539.42 716.11 C
89.42 329.95 521.42 504.11 C
89.42 329.95 521.42 504.11 R
7 X
0 K
V
151.92 344.87 227.81 398.44 R
3 X
V
21 F
0 X
(cartesian point traits) 191.95 475.05 T
(cartesian points) 126.57 412.01 T
148.92 383.58 198.65 401.44 R
7 X
V
0.5 H
2 Z
0 X
N
148.92 365.73 198.65 383.58 R
7 X
V
0 X
N
148.92 347.87 198.65 365.73 R
7 X
V
0 X
N
23 F
(parent*) 156.17 389.45 T
(x) 171.13 371.6 T
(y) 171.13 353.74 T
197.4 383.58 224.81 401.44 R
7 X
V
0 X
N
197.4 365.73 224.81 383.58 R
7 X
V
0 X
N
197.4 347.87 224.81 365.73 R
7 X
V
0 X
N
(3) 208.1 371.6 T
(7) 208.1 353.74 T
267.98 343.41 343.87 396.98 R
3 X
V
264.98 382.12 314.71 399.98 R
7 X
V
0 X
N
264.98 364.26 314.71 382.12 R
7 X
V
0 X
N
264.98 346.41 314.71 364.26 R
7 X
V
0 X
N
(parent*) 272.23 387.99 T
(x) 287.2 370.13 T
(y) 287.2 352.28 T
313.46 382.12 340.87 399.98 R
7 X
V
0 X
N
313.46 364.26 340.87 382.12 R
7 X
V
0 X
N
313.46 346.41 340.87 364.26 R
7 X
V
0 X
N
(5) 324.16 370.13 T
(1) 324.16 352.28 T
364.73 343.41 440.62 396.98 R
3 X
V
361.73 382.12 411.46 399.98 R
7 X
V
0 X
N
361.73 364.26 411.46 382.12 R
7 X
V
0 X
N
361.73 346.41 411.46 364.26 R
7 X
V
0 X
N
(parent*) 368.98 387.99 T
(x) 383.94 370.13 T
(y) 383.94 352.28 T
410.2 382.12 437.62 399.98 R
7 X
V
0 X
N
410.2 364.26 437.62 382.12 R
7 X
V
0 X
N
410.2 346.41 437.62 364.26 R
7 X
V
0 X
N
(18) 417.85 370.13 T
(12) 417.85 352.28 T
294.77 438.62 370.66 492.18 R
3 X
V
291.77 477.33 341.5 495.18 R
7 X
V
0 X
N
291.77 459.47 341.5 477.33 R
7 X
V
0 X
N
291.77 441.62 341.5 459.47 R
7 X
V
0 X
N
(print) 306.04 483.2 T
(+) 313.52 465.34 T
(draw) 304.82 447.49 T
340.24 477.33 367.66 495.18 R
7 X
V
0 X
N
340.24 459.47 367.66 477.33 R
7 X
V
0 X
N
340.24 441.62 367.66 459.47 R
7 X
V
0 X
N
(...) 349.42 483.2 T
(...) 349.42 465.34 T
(...) 349.42 447.49 T
376.93 431.39 370.65 441.62 381.39 436.27 379.16 433.83 4 Y
V
424.22 392.51 378.43 434.5 2 L
N
283.08 434.46 294.77 437.15 286.28 428.67 284.68 431.56 4 Y
V
208.38 389.76 285.55 432.05 2 L
N
332.96 427.03 339.4 437.15 339.31 425.15 336.14 426.09 4 Y
V
326.02 390.54 336.42 427.05 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "1" 59
5 11 /Helvetica-Oblique FMDEFINEFONT
%%Page: "2" 59
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-2) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Organizing the world) 453.93 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.43 (cartesian points, and thus inherit from their own traits object, the polar point traits object. Y) 71.42 708.11 P
-0.43 (et polar) 503.55 708.11 P
-0.38 (points and cartesian points have much behavior in common, so these behaviors are in turn factored) 71.42 400.11 P
-0.41 (into a general point traits object, which is inherited by both the polar point traits object and the car-) 71.42 386.11 P
-0.01 (tesian point traits object. T) 71.42 372.11 P
-0.01 (raits objects play the same role as classes in forming hierarchies for re-) 199.2 372.11 P
(use of behavior and dif) 71.42 358.11 T
(ferential programming.) 181.79 358.11 T
0.05 (Lar) 71.42 332.11 P
0.05 (ge traits objects can be or) 87.86 332.11 P
0.05 (ganized into smaller chunks by using multiple inheritance to ) 210.15 332.11 P
3 F
0.05 (catego-) 503.45 332.11 P
0.21 (rize) 71.42 318.11 P
4 F
0.21 ( them. This is achieved by grouping related methods together into parent objects. These ) 89.41 318.11 P
3 F
0.21 (com-) 515.45 318.11 P
0.39 (posite traits objects) 71.42 304.11 P
4 F
0.39 ( behave in the same way as a single, monolithic traits object would, but have) 166.17 304.11 P
-0.56 (the bene\336t of breaking up lar) 71.42 290.11 P
-0.56 (ge objects into understandable chunks. The integer traits object shown) 207.33 290.11 P
0.28 (below has been categorized in this manner) 71.42 276.11 P
0.28 (. Note that the ) 276.26 276.11 P
12 F
0.61 (parent) 348.31 276.11 P
4 F
0.28 ( slot has lower priority than the) 387.86 276.11 P
1.07 (slots holding the method category objects; the category objects will all be searched \336rst before) 71.42 80.11 P
(searching the object pointed to by ) 71.42 66.11 T
12 F
(parent) 236.65 66.11 T
4 F
(.) 276.2 66.11 T
71.42 55.44 539.42 716.11 C
88.42 418.71 522.42 704.11 C
88.42 418.71 522.42 704.11 R
7 X
0 K
V
225.34 623.76 435.15 677.33 R
3 X
V
360.73 513.62 490.18 585.05 R
V
189.63 549.34 265.52 585.05 R
V
21 F
0 X
(cartesian point traits) 128.45 596.62 T
(polar point traits) 320.92 595.62 T
(cartesian points) 92.92 507.62 T
(polar points) 313.92 493.62 T
(general point traits) 182.92 687.62 T
115.21 442.2 191.1 495.77 R
3 X
V
112.21 480.91 161.94 498.77 R
7 X
V
0.5 H
2 Z
0 X
N
112.21 463.06 161.94 480.91 R
7 X
V
0 X
N
112.21 445.2 161.94 463.06 R
7 X
V
0 X
N
23 F
(parent*) 119.46 486.78 T
(x) 134.42 468.93 T
(y) 134.42 451.07 T
160.68 480.91 188.1 498.77 R
7 X
V
0 X
N
160.68 463.06 188.1 480.91 R
7 X
V
0 X
N
160.68 445.2 188.1 463.06 R
7 X
V
0 X
N
(3) 171.39 468.93 T
(7) 171.39 451.07 T
213.42 442.2 289.3 495.77 R
3 X
V
210.42 480.91 260.15 498.77 R
7 X
V
0 X
N
210.42 463.06 260.15 480.91 R
7 X
V
0 X
N
210.42 445.2 260.15 463.06 R
7 X
V
0 X
N
(parent*) 217.66 486.78 T
(x) 232.63 468.93 T
(y) 232.63 451.07 T
258.89 480.91 286.3 498.77 R
7 X
V
0 X
N
258.89 463.06 286.3 480.91 R
7 X
V
0 X
N
258.89 445.2 286.3 463.06 R
7 X
V
0 X
N
(5) 269.6 468.93 T
(1) 269.6 451.07 T
328.02 427.34 403.9 480.91 R
3 X
V
325.02 466.06 374.75 483.91 R
7 X
V
0 X
N
325.02 448.2 374.75 466.06 R
7 X
V
0 X
N
325.02 430.34 374.75 448.2 R
7 X
V
0 X
N
(parent*) 332.26 471.93 T
(r) 348.14 454.07 T
(theta) 337.76 436.21 T
373.49 466.06 400.9 483.91 R
7 X
V
0 X
N
373.49 448.2 400.9 466.06 R
7 X
V
0 X
N
373.49 430.34 400.9 448.2 R
7 X
V
0 X
N
(3) 384.2 454.07 T
(45) 381.14 436.21 T
426.22 427.34 502.11 480.91 R
3 X
V
423.22 466.06 472.95 483.91 R
7 X
V
0 X
N
423.22 448.2 472.95 466.06 R
7 X
V
0 X
N
423.22 430.34 472.95 448.2 R
7 X
V
0 X
N
(parent*) 430.47 471.93 T
(r) 446.35 454.07 T
(theta) 435.96 436.21 T
471.7 466.06 499.11 483.91 R
7 X
V
0 X
N
471.7 448.2 499.11 466.06 R
7 X
V
0 X
N
471.7 430.34 499.11 448.2 R
7 X
V
0 X
N
(7) 482.4 454.07 T
(60) 479.35 436.21 T
186.63 570.19 236.36 588.05 R
7 X
V
0 X
N
186.63 552.34 236.36 570.19 R
7 X
V
0 X
N
(parent*) 193.88 576.06 T
(print) 200.9 558.21 T
235.11 570.19 262.52 588.05 R
7 X
V
0 X
N
235.11 552.34 262.52 570.19 R
7 X
V
0 X
N
(...) 244.28 558.21 T
357.73 570.19 407.46 588.05 R
7 X
V
0 X
N
357.73 552.34 407.46 570.19 R
7 X
V
0 X
N
357.73 534.48 407.46 552.34 R
7 X
V
0 X
N
(parent*) 364.98 576.06 T
(x) 379.94 558.21 T
(y) 379.94 540.35 T
406.2 570.19 487.18 588.05 R
7 X
V
0 X
N
406.2 552.34 487.18 570.19 R
7 X
V
0 X
N
406.2 534.48 487.18 552.34 R
7 X
V
0 X
N
(\050r * theta cos\051) 413.87 558.21 T
(\050r * theta sin\051) 415.4 540.35 T
357.73 516.62 407.46 534.48 R
7 X
V
0 X
N
(print) 372 522.49 T
406.2 516.62 487.18 534.48 R
7 X
V
0 X
N
(...) 442.26 522.49 T
222.34 662.47 272.07 680.33 R
7 X
V
0 X
N
222.34 644.62 272.07 662.47 R
7 X
V
0 X
N
222.34 626.76 272.07 644.62 R
7 X
V
0 X
N
(parent*) 229.59 668.34 T
(+ pt) 237.99 650.49 T
(draw) 235.4 632.63 T
270.82 662.47 432.15 680.33 R
7 X
V
0 X
N
270.82 644.62 432.15 662.47 R
7 X
V
0 X
N
270.82 626.76 432.15 644.62 R
7 X
V
0 X
N
(...) 347.2 668.34 T
(\050 \050clone x: x + pt x\051 y: y + pt y \051) 277.9 650.49 T
(...) 347.2 632.63 T
208.2 540.79 217.88 547.88 213.42 536.73 210.81 538.76 4 Y
V
173.24 489.84 211.43 539.55 2 L
N
250.2 535.92 249.12 547.88 256.37 538.31 253.29 537.12 4 Y
V
271.45 489.84 252.93 538.05 2 L
N
394.1 506.74 400.9 516.62 400.37 504.64 397.24 505.69 4 Y
V
387.51 476.45 397.56 506.63 2 L
N
466.14 504.95 463.38 516.63 471.91 508.19 469.03 506.57 4 Y
V
485.72 476.45 468.55 507.44 2 L
N
410.62 612.98 405.36 623.76 415.54 617.4 413.08 615.19 4 Y
V
445.54 579.12 412.42 615.93 2 L
N
271.01 616.25 280.37 623.76 276.41 612.43 273.71 614.34 4 Y
V
249.13 579.12 274.3 615.16 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
71.42 55.44 539.42 716.11 C
167.65 101.87 443.2 272.11 C
167.65 101.87 443.2 272.11 R
7 X
0 K
V
338.94 207.23 374.65 260.79 R
3 X
V
396.97 158.12 432.68 211.69 R
V
338.94 109.02 410.36 144.73 R
V
200.56 140.27 289.84 211.69 R
V
197.56 196.83 268.98 214.69 R
7 X
V
0.5 H
2 Z
0 X
N
23 F
(parent**) 213.55 202.7 T
197.56 178.98 268.98 196.83 R
7 X
V
0 X
N
(arithmetic*) 207.46 184.85 T
197.56 161.12 268.98 178.98 R
7 X
V
0 X
N
(comparing*) 205.62 166.99 T
197.56 143.26 268.98 161.12 R
7 X
V
0 X
N
(functions*) 209.28 149.14 T
268.98 196.83 286.84 214.69 R
7 X
V
0 X
N
268.98 178.98 286.84 196.83 R
7 X
V
0 X
N
268.98 161.12 286.84 178.98 R
7 X
V
0 X
N
268.98 143.26 286.84 161.12 R
7 X
V
0 X
N
393.97 196.83 411.83 214.69 R
7 X
V
0 X
N
(=) 399.73 202.7 T
393.97 178.98 411.83 196.83 R
7 X
V
0 X
N
(<) 399.73 184.85 T
393.97 161.12 411.83 178.98 R
7 X
V
0 X
N
(>) 399.73 166.99 T
335.94 129.87 389.51 147.73 R
7 X
V
0 X
N
(factorial) 343.59 135.74 T
335.94 112.02 389.51 129.87 R
7 X
V
0 X
N
(\336bonacci) 341.15 117.89 T
322.76 216.55 334.48 219.15 325.92 210.74 324.34 213.65 4 Y
V
276.44 187.91 325.22 214.12 2 L
N
380.97 173.36 392.51 170.05 380.97 166.74 380.97 170.05 4 Y
V
276.44 170.05 381.97 170.05 2 L
N
324.43 140.91 334.47 134.34 322.47 134.59 323.45 137.75 4 Y
V
276.44 152.19 324.41 137.45 2 L
N
5 F
(integer traits) 173.77 220.95 T
389.39 129.79 407.24 147.65 R
7 X
V
0 X
N
389.39 111.94 407.24 129.79 R
7 X
V
0 X
N
23 F
(...) 393.73 137.72 T
(...) 393.73 119.86 T
335.78 246.11 353.64 263.97 R
7 X
V
0 X
N
(+) 341.54 251.98 T
335.78 228.26 353.64 246.11 R
7 X
V
0 X
N
(-) 342.92 234.13 T
335.78 210.4 353.64 228.26 R
7 X
V
0 X
N
(/) 343.22 216.27 T
353.77 246.11 371.63 263.97 R
7 X
V
0 X
N
353.77 228.26 371.63 246.11 R
7 X
V
0 X
N
353.77 210.4 371.63 228.26 R
7 X
V
0 X
N
(...) 358.12 254.04 T
(...) 358.12 236.18 T
(...) 358.12 218.33 T
411.97 196.83 429.83 214.69 R
7 X
V
0 X
N
(...) 416.32 204.76 T
411.97 178.98 429.83 196.83 R
7 X
V
0 X
N
(...) 416.32 186.9 T
411.97 161.12 429.83 178.98 R
7 X
V
0 X
N
(...) 416.32 169.04 T
(...) 273.33 204.76 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "2" 60
%%Page: "3" 60
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-3) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Organizing the world) 453.93 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(1.2) 71.42 706.78 T
(Name spaces) 98.42 706.78 T
4 F
0.01 (The ) 71.42 680.11 P
3 F
0.01 (lobby) 93.08 680.11 P
4 F
0.01 ( object is the context in which the S) 119.73 680.11 P
6 F
0 (ELF) 291 680.11 P
4 F
0.01 ( shell evaluates expressions typed at the prompt) 310.54 680.11 P
0.5 (or used as slot initializers; that is, such expressions are evaluated with ) 71.42 666.11 P
12 F
1.1 (self) 415.55 666.11 P
4 F
0.5 ( bound to the lobby) 441.91 666.11 P
0.5 (.) 536.42 666.11 P
-0.54 (The lobby object occupies a central position in the inheritance hierarchy) 71.42 652.11 P
-0.54 (, so that most objects in the) 411.7 652.11 P
0.34 (world inherit from it. Thus, the S) 71.42 638.11 P
6 F
0.31 (ELF) 232.03 638.11 P
4 F
0.34 ( world can use the lobby as a global name space by placing) 251.57 638.11 P
0.48 (well-known objects in slots in the lobby) 71.42 624.11 P
0.48 (. An object can simply send the name of such a slot as a) 265.4 624.11 P
(message to itself, and the appropriate object will be returned.) 71.42 610.11 T
-0.06 (However) 71.42 584.11 P
-0.06 (, instead of using the lobby as the only object serving as the name space, the S) 114.9 584.11 P
6 F
-0.06 (ELF) 488.97 584.11 P
4 F
-0.06 ( world) 508.51 584.11 P
1.69 (employs unordered multiple inheritance to cluster well-known objects into logical groups and) 71.42 570.11 P
0.93 (place them in parents of the lobby) 71.42 556.11 P
0.93 (. The sole function of these ) 239.43 556.11 P
3 F
0.93 (name space objects) 378.56 556.11 P
4 F
0.93 ( is to provide) 473.68 556.11 P
0.31 (names for well-known objects. Since the lobby inherits from these name space objects, an object) 71.42 542.11 P
0.05 (can still be accessed by simply invoking the name of the slot it is in, as long as the receiver of the) 71.42 528.11 P
(message inherits from the lobby) 71.42 514.11 T
(.) 224.54 514.11 T
0.46 (The same categorization technique used to break up lar) 71.42 488.11 P
0.46 (ge traits objects can be extended to name) 339.35 488.11 P
0.49 (space objects as well, resulting in a hierarchy of name space objects. However) 71.42 474.11 P
0.49 (, all the objects in) 452.52 474.11 P
0.69 (this hierarchy are part of a single, global name space; breaking name spaces into categories and) 71.42 460.11 P
(placing them in parent slots results in ) 71.42 446.11 T
3 F
(composite name spaces) 253.65 446.11 T
4 F
( that make up one name space.) 366.23 446.11 T
0.45 (Multiple, distinct name spaces can be created by placing name space objects in ) 71.42 420.11 P
3 F
0.45 (non) 459.02 420.11 P
4 F
0.45 (-parent slots.) 477.01 420.11 P
0.96 (For example, in the portion of the S) 71.42 406.11 P
6 F
0.88 (ELF) 249.41 406.11 P
4 F
0.96 ( world shown below) 268.94 406.11 P
0.96 (, sending ) 368.66 406.11 P
12 F
2.12 (rectangle) 416.9 406.11 P
4 F
0.96 ( to the lobby) 476.23 406.11 P
0.23 (yields the prototypical rectangle object found in the prototypes name space object, while sending) 71.42 392.11 P
12 F
-0.39 (traits rectangle) 71.42 378.11 P
4 F
-0.18 ( would yield the rectangle traits object in the traits name space object. In the) 176.5 378.11 P
0.84 (\336rst case, the only slot named \324rectangle\325 found in an ancestor of the lobby is in the prototypes) 71.42 140.11 P
0.57 (name space object; in the second case, sending ) 71.42 126.11 P
12 F
1.25 (traits) 303.46 126.11 P
4 F
0.57 ( to the lobby gives the traits name space) 343.01 126.11 P
(object, and sending ) 71.42 112.11 T
12 F
(rectangle) 167.36 112.11 T
4 F
( to that object gives the rectangle traits object.) 226.69 112.11 T
71.42 55.44 539.42 716.11 C
113.79 155.17 497.06 374.11 C
113.79 155.17 497.06 374.11 R
7 X
0 K
V
412.87 283.08 479.83 336.65 R
3 X
V
287.88 161.09 368.23 196.8 R
V
286.42 256.3 362.31 309.87 R
V
166.45 205.73 255.73 259.3 R
V
135.12 295.61 215.47 349.18 R
V
283.42 295.01 341.45 312.87 R
7 X
V
0.5 H
2 Z
0 X
N
283.42 277.15 341.45 295.01 R
7 X
V
0 X
N
283.42 259.3 341.45 277.15 R
7 X
V
0 X
N
284.88 164.09 347.38 181.95 R
7 X
V
0 X
N
284.88 181.95 347.38 199.8 R
7 X
V
0 X
N
163.45 244.44 234.87 262.3 R
7 X
V
0 X
N
163.45 226.58 234.87 244.44 R
7 X
V
0 X
N
163.45 208.73 234.87 226.59 R
7 X
V
0 X
N
132.12 334.32 194.61 352.18 R
7 X
V
0 X
N
132.12 316.47 194.61 334.32 R
7 X
V
0 X
N
132.12 298.61 194.61 316.47 R
7 X
V
0 X
N
23 F
(lobby) 150.35 340.19 T
(defaults*) 142.11 322.34 T
194.61 334.32 212.47 352.18 R
7 X
V
0 X
N
194.61 316.47 212.47 334.32 R
7 X
V
0 X
N
194.61 298.61 212.47 316.47 R
7 X
V
0 X
N
(list) 309.53 169.96 T
(rectangle) 293.65 187.82 T
347.38 164.09 365.23 181.95 R
7 X
V
0 X
N
347.38 181.95 365.23 199.8 R
7 X
V
0 X
N
(traits) 187.39 250.31 T
(oddballs*) 176.7 232.46 T
(prototypes*) 171.51 214.6 T
234.87 226.58 252.73 244.44 R
7 X
V
0 X
N
234.87 208.73 252.73 226.59 R
7 X
V
0 X
N
234.87 244.44 252.73 262.3 R
7 X
V
0 X
N
(rectangle) 289.95 300.88 T
(list) 305.83 283.02 T
(integer) 295.75 265.17 T
341.45 277.15 359.31 295.01 R
7 X
V
0 X
N
341.45 259.3 359.31 277.15 R
7 X
V
0 X
N
341.45 295.01 359.31 312.87 R
7 X
V
0 X
N
(globals*) 143.94 304.48 T
212.94 275.73 211.99 263.76 206.46 274.41 209.7 275.07 4 Y
V
203.07 308.4 209.9 274.09 2 L
N
271.44 267.37 283.41 268.23 273.72 261.16 272.58 264.26 4 Y
V
243.24 253.58 273.53 264.6 2 L
N
274.89 205.25 283.42 196.8 271.71 199.45 273.3 202.35 4 Y
V
242.33 219.12 274.18 201.87 2 L
N
5 F
(lobby) 122.71 358.42 T
(globals) 153.96 269.14 T
(prototypes) 286.07 228.97 T
(traits) 272.68 341.74 T
396.88 307.24 408.41 303.94 396.88 300.63 396.88 303.94 4 Y
V
350.38 303.94 397.88 303.94 2 L
N
(prototypical) 401.34 242.36 T
(rectangle) 401.34 231.36 T
(object) 401.34 220.36 T
(rectangle) 387.95 358.42 T
(traits object) 387.95 347.42 T
409.87 321.79 459.6 339.65 R
7 X
V
0 X
N
409.87 303.94 459.6 321.79 R
7 X
V
0 X
N
409.87 286.08 459.6 303.94 R
7 X
V
0 X
N
23 F
(parent*) 417.12 327.66 T
(draw) 422.93 309.81 T
(size) 425.06 291.95 T
458.98 303.94 476.83 321.79 R
7 X
V
0 X
N
458.98 286.08 476.83 303.94 R
7 X
V
0 X
N
458.98 321.79 476.83 339.65 R
7 X
V
0 X
N
421.8 158.09 488.76 211.66 R
3 X
V
418.8 196.8 468.53 214.66 R
7 X
V
0 X
N
418.8 178.95 468.53 196.8 R
7 X
V
0 X
N
418.8 161.09 468.53 178.95 R
7 X
V
0 X
N
(parent*) 426.05 202.67 T
(width) 430.94 184.82 T
(height) 428.8 166.96 T
467.91 178.95 485.76 196.8 R
7 X
V
0 X
N
467.91 161.09 485.76 178.95 R
7 X
V
0 X
N
467.91 196.8 485.76 214.66 R
7 X
V
0 X
N
405.8 194.4 417.34 191.09 405.8 187.78 405.8 191.09 4 Y
V
359.31 191.09 406.8 191.09 2 L
N
464.5 269.78 466.43 281.62 471.07 270.55 467.78 270.17 4 Y
V
475.37 205.73 467.68 271.16 2 L
N
5 F
(name space) 272.68 330.74 T
(object) 272.68 319.74 T
(name space) 286.07 217.97 T
(object) 286.07 206.97 T
208.49 359.84 198.6 353.04 203.38 364.05 205.93 361.95 4 Y
V
202.01 342.67 M
210.8 342.41 233.5 339.65 226.27 356.65 D
220.62 370.06 212.69 368.26 205.9 361.95 D
0 Z
N
23 F
(...) 198.96 324.39 T
(...) 239.22 234.51 T
(...) 351.72 172.01 T
(...) 345.8 285.08 T
(...) 345.8 267.22 T
(...) 463.32 329.72 T
(...) 463.32 311.86 T
(...) 463.32 294.01 T
(...) 472.25 186.87 T
(...) 472.25 169.01 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "3" 61
%%Page: "4" 61
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-4) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Organizing the world) 453.93 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(1.3) 71.42 706.78 T
(The name infer) 98.42 706.78 T
(encer) 189.89 706.78 T
4 F
-0.38 (Some of the parts of the S) 71.42 680.11 P
6 F
-0.35 (ELF) 193.72 680.11 P
4 F
-0.38 ( world make use of the fact that well-known objects have names. For) 213.25 680.11 P
-0.33 (example, if the result of an expression at the prompt is an object which does not know how to print) 71.42 666.11 P
0.12 (itself, the name of the object is printed, if there is one. Similarly) 71.42 652.11 P
0.12 (, the prototype user interface \050see) 378.94 652.11 P
(Appendix D\051 uses the name of an object to label the object on the screen.) 71.42 638.11 T
0.34 (The name inferencer is a S) 71.42 612.11 P
6 F
0.31 (ELF) 201.35 612.11 P
4 F
0.34 (-level mechanism that returns a name for an object if the object is) 220.89 612.11 P
-0.09 (\322well-known.\323 There are two types of names returned by the name inferencer) 71.42 598.11 P
-0.09 (. If the object knows) 441.5 598.11 P
0.47 (how to print itself in some special way \050as, for example, integers do\051, that string is returned. For) 71.42 584.11 P
(example, the point object representing \0503, 4\051 prints as \324) 71.42 570.11 T
12 F
(3@4) 334.24 570.11 T
4 F
(\325.) 354.01 570.11 T
0.62 (If the object does not know how to print itself, the system tries to infer a name for the object. It) 71.42 544.11 P
-0.28 (does this by scanning the S) 71.42 530.11 P
6 F
-0.26 (ELF) 200.28 530.11 P
4 F
-0.28 ( world starting at the lobby) 219.82 530.11 P
-0.28 (, following public, read-only slots; if the) 347.22 530.11 P
0.71 (object is found, the sequence of slots to reach the object from the lobby is returned. Any parent) 71.42 516.11 P
0.14 (slots on this path are omitted \050though the last slot is never omitted, even if it is a parent\051, because) 71.42 502.11 P
-0.42 (this sort of name is essentially a message that when sent to the lobby \050or a descendant of the lobby\051) 71.42 488.11 P
0.43 (will return the object. Thus, the point traits object prints out as \324) 71.42 474.11 P
12 F
0.95 (traits point) 383.12 474.11 P
4 F
0.43 (\325: the path from) 463.17 474.11 P
-0.17 (the lobby is ) 71.42 460.11 P
12 F
-0.38 (globals traits graphics point) 129.88 460.11 P
4 F
-0.17 (, and omitting the parent slot names ) 319.92 460.11 P
12 F
-0.38 (globals) 493.28 460.11 P
4 F
-0.57 (and ) 71.42 446.11 P
12 F
-1.24 (graphics) 91.18 446.11 P
4 F
-0.57 ( gives ) 143.91 446.11 P
12 F
-1.24 (traits point) 174.09 446.11 P
4 F
-0.57 (. This kind of name is ) 251.95 446.11 P
3 F
-0.57 (extensional) 356.16 446.11 P
4 F
-0.57 (, derived from the structure) 410.79 446.11 P
(of the system rather than relying solely on a name given it by the programmer) 71.42 432.11 T
(.) 444.5 432.11 T
0.33 (Not all objects have names; objects that cannot be reached from the lobby may not have a name.) 71.42 406.11 P
(Many objects created during the execution of a program, for example, will not have names.) 71.42 392.11 T
(Section II-2.7 discusses the name inferencer in more detail.) 71.42 366.11 T
FMENDPAGE
%%EndPage: "4" 62
%%Page: "5" 62
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-5) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(2 Map of the world) 71.42 705.45 T
4 F
0.78 (This section tours the S) 71.42 678.11 P
6 F
0.72 (ELF) 187.16 678.11 P
4 F
0.78 ( world, examining default behaviors, oddball objects, mixin objects,) 206.7 678.11 P
-0.52 (prototype objects, and the traits hierarchy) 71.42 664.11 P
-0.52 (. The names that would be returned by the name inferenc-) 267.21 664.11 P
(er are used to identify objects.) 71.42 650.11 T
10 F
(2.1 The lobby) 71.42 616.78 T
4 F
0.47 (The lobby \050\322) 71.42 466.27 P
12 F
1.02 (lobby) 133.64 466.27 P
4 F
0.47 (\323\051 is the object in whose context slot initializers and expressions typed at the) 166.6 466.27 P
(prompt are evaluated\321) 71.42 452.27 T
12 F
(self) 184.67 452.27 T
4 F
( is bound to the lobby during evaluation of these expressions.) 211.03 452.27 T
1.1 (Most objects inherit from the lobby) 71.42 426.27 P
1.1 (. All clonable objects inherit from the clonable traits object) 246.38 426.27 P
1.89 (\050) 71.42 412.27 P
12 F
4.15 (traits clonable) 75.42 412.27 P
4 F
1.89 (\051, which inherits from the lobby; similarly) 178.45 412.27 P
1.89 (, one-of-a-kind objects \050\322odd-) 390.55 412.27 P
-0.21 (balls\323\051 inherit from ) 71.42 398.27 P
12 F
-0.47 (traits oddball) 166.38 398.27 P
4 F
-0.21 (, which inherits from the lobby) 258.2 398.27 P
-0.21 (. The lobby has two parents,) 404.92 398.27 P
12 F
0.86 (globals) 71.42 384.27 P
4 F
0.39 ( and ) 117.57 384.27 P
12 F
0.86 (defaults) 141.67 384.27 P
4 F
0.39 (. The ) 194.4 384.27 P
12 F
0.86 (globals) 222.83 384.27 P
4 F
0.39 ( object is the root object of the hierarchy of name space) 268.98 384.27 P
-0.25 (objects, giving objects that inherit from the lobby the ability to name well-known objects \050see sec-) 71.42 370.27 P
-0.36 (tion II-1.2\051. Default behavior of objects that inherit from the lobby is found in ) 71.42 356.27 P
12 F
-0.79 (defaults) 442.79 356.27 P
4 F
-0.36 ( \050see sec-) 495.53 356.27 P
(tion II-2.2\051.) 71.42 342.27 T
0.63 (In addition, the lobby holds the ) 71.42 316.27 P
12 F
1.38 (doIt) 228.1 316.27 P
4 F
0.63 ( and the ) 254.47 316.27 P
12 F
1.38 (printIt) 297.32 316.27 P
4 F
0.63 ( methods, the methods that evaluate and) 343.46 316.27 P
-0.02 (print expressions typed at the prompt or read in via ) 71.42 302.27 P
12 F
-0.04 (_RunScript) 319.07 302.27 P
4 F
-0.02 (, and a slot named ) 384.99 302.27 P
12 F
-0.04 (lobby) 474.83 302.27 P
4 F
-0.02 ( point-) 507.79 302.27 P
(ing to itself to provide a name for the lobby) 71.42 288.27 T
(.) 279.51 288.27 T
71.42 55.44 539.42 716.11 C
111.61 488.27 499.24 612.11 C
111.61 488.27 499.24 612.11 R
7 X
0 K
V
143.34 494.41 223.69 583.69 R
3 X
V
140.34 550.98 202.83 568.83 R
7 X
V
0.5 H
2 Z
0 X
N
23 F
(defaults*) 146.34 556.33 T
140.34 533.12 202.83 550.98 R
7 X
V
0 X
N
(globals*) 146.34 538.47 T
140.34 515.27 202.83 533.12 R
7 X
V
0 X
N
(doIt) 146.34 520.61 T
140.34 497.41 202.83 515.27 R
7 X
V
0 X
N
(printIt) 146.34 502.76 T
140.34 568.83 202.83 586.69 R
7 X
V
0 X
N
(lobby) 146.34 574.18 T
202.83 568.83 220.69 586.69 R
7 X
V
0 X
N
202.83 550.98 220.69 568.83 R
7 X
V
0 X
N
202.83 533.12 220.69 550.98 R
7 X
V
0 X
N
202.83 515.27 220.69 533.12 R
7 X
V
0 X
N
202.83 497.41 220.69 515.27 R
7 X
V
0 X
N
219.18 595.49 209.29 588.69 214.07 599.7 216.63 597.59 4 Y
V
212.7 578.32 M
221.49 578.06 244.2 575.3 236.97 592.3 D
231.32 605.71 223.39 603.9 216.6 597.6 D
0 Z
N
240.4 563.21 251.93 559.91 240.4 556.6 240.4 559.91 4 Y
V
211.76 559.91 241.4 559.91 2 L
2 Z
N
240.4 545.36 251.93 542.05 240.4 538.74 240.4 542.05 4 Y
V
211.76 542.05 241.4 542.05 2 L
N
240.4 527.5 251.93 524.19 240.4 520.89 240.4 524.19 4 Y
V
211.76 524.19 241.4 524.19 2 L
N
240.4 509.65 251.93 506.34 240.4 503.03 240.4 506.34 4 Y
V
211.76 506.34 241.4 506.34 2 L
N
5 F
(default behaviors) 261.23 557.58 T
(well-known objects) 262.42 538.51 T
(method to evaluate a S) 260.86 520.65 T
21 F
(ELF) 373.85 520.65 T
5 F
( expression) 392.18 520.65 T
(method to print the result of a S) 260.74 502.79 T
21 F
(ELF) 414.02 502.79 T
5 F
( expression) 432.35 502.79 T
(lobby) 137.34 593.68 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "5" 63
13 9 /Helvetica-Oblique FMDEFINEFONT
%%Page: "6" 63
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-6) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(2.2) 71.42 706.78 T
(Default behaviors) 98.42 706.78 T
4 F
-0.54 (The defaults object holds default behavior for most objects. The category objects that make up ) 71.42 502.16 P
12 F
-1.19 (de-) 519.65 502.16 P
(faults) 71.42 488.16 T
4 F
( are de\336ned in the \336les ) 110.97 488.16 T
3 F
(defaults.self) 222.9 488.16 T
4 F
(, ) 280.54 488.16 T
3 F
(err) 286.53 488.16 T
(orHandling.self) 300.75 488.16 T
4 F
(, and ) 376.38 488.16 T
3 F
(inspect.self) 402.69 488.16 T
4 F
(.) 456.33 488.16 T
10 F
(2.3) 71.42 454.83 T
(W) 98.42 454.83 T
(ell-known objects) 111.65 454.83 T
4 F
0.27 (The globals object is the root of the hierarchy of name space objects holding the well-known ob-) 71.42 125.22 P
1.01 (jects of the world. It has four slots, each holding name space objects for a portion of the S) 71.42 111.22 P
6 F
0.92 (ELF) 519.89 111.22 P
4 F
(world: traits, prototypes, oddballs, and mixins.) 71.42 97.22 T
71.42 55.44 539.42 716.11 C
79.74 524.16 531.11 702.11 C
79.74 524.16 531.11 702.11 R
7 X
0 K
V
91.67 532.48 214.66 675.82 R
3 X
V
88.67 660.96 194.1 678.82 R
7 X
V
0.5 H
2 Z
0 X
N
23 F
(comparing*) 93.56 666.85 T
88.67 643.1 194.1 660.96 R
7 X
V
0 X
N
(copying*) 93.56 649 T
88.67 625.25 194.1 643.1 R
7 X
V
0 X
N
(coercing*) 93.56 631.14 T
88.67 607.39 194.1 625.25 R
7 X
V
0 X
N
(doubleDispatching*) 93.56 613.29 T
88.67 589.54 194.1 607.39 R
7 X
V
0 X
N
(errorHandling*) 93.56 595.43 T
88.67 571.68 194.1 589.54 R
7 X
V
0 X
N
(evaluating*) 93.56 577.57 T
88.67 553.82 194.1 571.68 R
7 X
V
0 X
N
(inspecting*) 93.56 559.72 T
88.67 535.97 194.1 553.82 R
7 X
V
0 X
N
(printing*) 93.56 541.86 T
193.8 660.96 211.66 678.82 R
7 X
V
0 X
N
193.8 643.1 211.66 660.96 R
7 X
V
0 X
N
193.8 625.25 211.66 643.1 R
7 X
V
0 X
N
193.8 607.39 211.66 625.25 R
7 X
V
0 X
N
193.8 589.54 211.66 607.39 R
7 X
V
0 X
N
193.8 571.68 211.66 589.54 R
7 X
V
0 X
N
193.8 553.82 211.66 571.68 R
7 X
V
0 X
N
193.8 535.97 211.66 553.82 R
7 X
V
0 X
N
231.41 672.98 242.95 669.67 231.41 666.37 231.41 669.67 4 Y
V
202.77 669.67 232.41 669.67 2 L
N
5 F
(comparing objects) 252.24 667.34 T
231.41 637.26 242.95 633.95 231.41 630.64 231.41 633.95 4 Y
V
202.77 633.95 232.41 633.95 2 L
N
(creating certain objects \050mirrors\051) 252.24 631.62 T
231.41 655.13 242.95 651.82 231.41 648.51 231.41 651.82 4 Y
V
202.77 651.82 232.41 651.82 2 L
N
(cloning objects) 252.24 649.49 T
231.41 619.4 242.95 616.09 231.41 612.79 231.41 616.09 4 Y
V
202.77 616.09 232.41 616.09 2 L
N
(double dispatching for equality tests) 252.24 613.76 T
231.41 601.54 242.95 598.24 231.41 594.93 231.41 598.24 4 Y
V
202.77 598.24 232.41 598.24 2 L
N
(response to error messages sent by the virtual machine) 252.24 595.91 T
231.41 583.69 242.95 580.38 231.41 577.07 231.41 580.38 4 Y
V
202.77 580.38 232.41 580.38 2 L
N
(response to ) 252.24 578.05 T
12 F
(value) 312.7 578.05 T
23 F
([) 345.66 578.05 T
12 F
(:) 348.71 578.05 T
23 F
({) 355.3 578.05 T
12 F
(With:) 358.98 578.05 T
23 F
(}]) 391.93 578.05 T
5 F
( messages) 398.66 578.05 T
231.41 565.83 242.95 562.53 231.41 559.22 231.41 562.53 4 Y
V
202.77 562.53 232.41 562.53 2 L
N
(inspecting slots of objects) 252.24 560.19 T
231.41 547.98 242.95 544.67 231.41 541.36 231.41 544.67 4 Y
V
202.77 544.67 232.41 544.67 2 L
N
(printing objects) 252.24 542.34 T
(defaults) 85.67 685.81 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
71.42 55.44 539.42 716.11 C
140.55 147.22 470.3 450.16 C
140.55 147.22 470.3 450.16 R
7 X
0 K
V
164.3 176.25 241.75 243.21 R
3 X
V
266.97 176.25 344.43 243.21 R
V
369.75 162.86 447.2 283.38 R
V
369.75 305.7 447.2 426.23 R
V
191.19 341.42 261.11 394.98 R
V
188.19 384.59 245 397.98 R
7 X
V
0.5 H
2 Z
0 X
N
15 F
(traits) 191.18 388.56 T
188.19 371.2 245 384.59 R
7 X
V
0 X
N
(prototypes*) 191.18 375.16 T
188.19 357.81 245 371.2 R
7 X
V
0 X
N
(oddballs*) 191.18 361.77 T
366.75 415.84 431.06 429.23 R
7 X
V
0 X
N
(applications*) 370.13 419.8 T
366.75 402.45 431.06 415.84 R
7 X
V
0 X
N
(bench*) 370.13 406.41 T
366.75 389.06 431.06 402.45 R
7 X
V
0 X
N
(collections*) 370.13 393.02 T
366.75 375.66 431.06 389.06 R
7 X
V
0 X
N
(graphics*) 370.13 379.63 T
366.75 362.27 431.06 375.66 R
7 X
V
0 X
N
(io*) 370.13 366.24 T
366.75 348.88 431.06 362.27 R
7 X
V
0 X
N
(pixrects*) 370.13 352.84 T
366.75 335.49 431.06 348.88 R
7 X
V
0 X
N
(slots) 370.13 339.45 T
366.75 322.1 431.06 335.49 R
7 X
V
0 X
N
(system*) 370.13 326.06 T
366.75 308.7 431.06 322.1 R
7 X
V
0 X
N
(userInterface*) 370.13 312.67 T
188.19 344.42 245 357.81 R
7 X
V
0 X
N
(mixins) 191.18 348.38 T
245 384.59 258.11 397.98 R
7 X
V
0 X
N
245 371.2 258.11 384.59 R
7 X
V
0 X
N
245 357.81 258.11 371.2 R
7 X
V
0 X
N
245 344.42 258.11 357.81 R
7 X
V
0 X
N
13 F
(globals) 185.19 403.43 T
(traits) 363.75 434.68 T
430.89 415.84 444.2 429.23 R
7 X
V
0 X
N
430.89 402.45 444.2 415.84 R
7 X
V
0 X
N
430.89 389.06 444.2 402.45 R
7 X
V
0 X
N
430.89 375.66 444.2 389.06 R
7 X
V
0 X
N
430.89 362.27 444.2 375.66 R
7 X
V
0 X
N
430.89 348.88 444.2 362.27 R
7 X
V
0 X
N
430.89 335.49 444.2 348.88 R
7 X
V
0 X
N
430.89 322.1 444.2 335.49 R
7 X
V
0 X
N
430.89 308.7 444.2 322.1 R
7 X
V
0 X
N
366.75 272.99 431.06 286.38 R
7 X
V
0 X
N
15 F
(applications*) 370.13 276.96 T
366.75 259.6 431.06 272.99 R
7 X
V
0 X
N
(collections*) 370.13 263.56 T
366.75 246.21 431.06 259.6 R
7 X
V
0 X
N
(graphics*) 370.13 250.17 T
366.75 232.82 431.06 246.21 R
7 X
V
0 X
N
(io*) 370.13 236.78 T
366.75 219.42 431.06 232.82 R
7 X
V
0 X
N
(mirrors) 370.13 223.39 T
366.75 206.03 431.06 219.42 R
7 X
V
0 X
N
(pixrects*) 370.13 210 T
366.75 192.64 431.06 206.03 R
7 X
V
0 X
N
(slots) 370.13 196.6 T
366.75 179.25 431.06 192.64 R
7 X
V
0 X
N
(system*) 370.13 183.21 T
366.75 165.86 431.06 179.25 R
7 X
V
0 X
N
(userInterface*) 370.13 169.82 T
13 F
(prototypes) 363.75 291.83 T
430.89 272.99 444.2 286.38 R
7 X
V
0 X
N
430.89 259.6 444.2 272.99 R
7 X
V
0 X
N
430.89 246.21 444.2 259.6 R
7 X
V
0 X
N
430.89 232.82 444.2 246.21 R
7 X
V
0 X
N
430.89 219.42 444.2 232.82 R
7 X
V
0 X
N
430.89 206.03 444.2 219.42 R
7 X
V
0 X
N
430.89 192.64 444.2 206.03 R
7 X
V
0 X
N
430.89 179.25 444.2 192.64 R
7 X
V
0 X
N
430.89 165.86 444.2 179.25 R
7 X
V
0 X
N
263.97 232.82 328.29 246.21 R
7 X
V
0 X
N
15 F
(applications*) 267.36 236.78 T
263.97 219.42 328.29 232.82 R
7 X
V
0 X
N
(bench*) 267.36 223.39 T
263.97 206.03 328.29 219.42 R
7 X
V
0 X
N
(graphics*) 267.36 210 T
263.97 192.64 328.29 206.03 R
7 X
V
0 X
N
(system*) 267.36 196.6 T
263.97 179.25 328.29 192.64 R
7 X
V
0 X
N
(userInterface*) 267.36 183.21 T
13 F
(oddballs) 260.97 251.66 T
328.11 232.82 341.43 246.21 R
7 X
V
0 X
N
328.11 219.42 341.43 232.82 R
7 X
V
0 X
N
328.11 206.03 341.43 219.42 R
7 X
V
0 X
N
328.11 192.64 341.43 206.03 R
7 X
V
0 X
N
328.11 179.25 341.43 192.64 R
7 X
V
0 X
N
161.3 232.82 225.61 246.21 R
7 X
V
0 X
N
15 F
(applications*) 164.68 236.78 T
161.3 219.42 225.61 232.82 R
7 X
V
0 X
N
(defaults*) 164.68 223.39 T
161.3 206.03 225.61 219.42 R
7 X
V
0 X
N
(graphics*) 164.68 210 T
161.3 192.64 225.61 206.03 R
7 X
V
0 X
N
(io*) 164.68 196.6 T
161.3 179.25 225.61 192.64 R
7 X
V
0 X
N
(userInterface*) 164.68 183.21 T
13 F
(mixins) 158.3 251.66 T
225.44 232.82 238.75 246.21 R
7 X
V
0 X
N
225.44 219.42 238.75 232.82 R
7 X
V
0 X
N
225.44 206.03 238.75 219.42 R
7 X
V
0 X
N
225.44 192.64 238.75 206.03 R
7 X
V
0 X
N
225.44 179.25 238.75 192.64 R
7 X
V
0 X
N
354.94 404.62 366.74 402.45 355.58 398.04 355.26 401.33 4 Y
V
251.56 391.29 356.26 401.43 2 L
N
357 280 366.74 273 354.77 273.78 355.88 276.89 4 Y
V
251.56 377.9 M
287.86 374.27 287.86 374.27 310.18 329.63 D
329.84 290.31 332.18 285.62 355.87 276.86 D
0 Z
N
318.14 258.21 318.36 246.22 311.81 256.27 314.98 257.24 4 Y
V
251.56 364.5 M
282.34 361 283.36 360.88 314.99 257.26 D
N
216.36 257.12 211.37 246.21 209.82 258.11 213.09 257.61 4 Y
V
251.56 351.11 M
252.15 320.7 252.15 320.7 234.29 300.62 D
218.68 283.05 216.71 280.84 213.08 257.61 D
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "6" 64
%%Page: "7" 64
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-7) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
3 F
0 X
0.56 (T) 89.42 708.11 P
0.56 (raits.) 95.43 708.11 P
4 F
0.56 ( Traits objects are loci of shared behavior, analogous to classes in class-based lan-) 120.43 708.11 P
(guages \050see section II-1.1\051.) 89.42 694.11 T
3 F
0.82 (Pr) 89.42 668.11 P
0.82 (ototypes.) 100.97 668.11 P
4 F
0.82 ( ) 143.95 668.11 P
0.82 (Prototype objects and the traits objects from which they inherit make up the) 147.77 668.11 P
0.75 (bulk of the S) 89.42 654.11 P
6 F
0.68 (ELF) 153.3 654.11 P
4 F
0.75 ( world. Prototype objects typically contain slots holding state, often as-) 172.83 654.11 P
0.61 (signable, and inherit from traits objects where most of their behavior resides. Most com-) 89.42 640.11 P
2.61 (mon are prototype objects that inherit from a traits object with a similar name\321for) 89.42 626.11 P
0.44 (example, the ) 89.42 612.11 P
12 F
0.97 (rectangle) 154.59 612.11 P
4 F
0.44 ( object, representing the prototypical rectangle, is a child of the) 213.91 612.11 P
12 F
-0.82 (traits rectangle) 89.42 598.11 P
4 F
-0.37 ( object. Although new objects can be obtained by cloning any object,) 194.07 598.11 P
0.03 (prototype objects are well-known and usually contain useful \322prototypical\323 behavior; typ-) 89.42 584.11 P
(ically) 89.42 570.11 T
(, new objects are created by cloning these prototypes.) 115.29 570.11 T
3 F
-0.3 (Oddballs.) 89.42 544.11 P
4 F
-0.3 ( ) 136.4 544.11 P
-0.3 (Oddball objects are one-of-a-kind objects. Oddballs typically are descendants of) 139.1 544.11 P
12 F
-1.01 (traits oddball) 89.42 530.11 P
4 F
-0.46 (, which has a ) 180.69 530.11 P
12 F
-1.01 (clone) 244.46 530.11 P
4 F
-0.46 ( method that simply returns the receiver of the mes-) 277.42 530.11 P
(sage rather than a new clone. This ef) 89.42 516.11 T
(fectively preserves the uniqueness of oddball objects.) 265.06 516.11 T
3 F
0.47 (Mixins.) 89.42 490.11 P
4 F
0.47 ( ) 125.07 490.11 P
0.47 (Mixins are packages of behavior that are often inherited by a wide variety of ob-) 128.53 490.11 P
(jects, and thus have no \336xed position in the traits hierarchy) 89.42 476.11 T
(.) 371.46 476.11 T
( Each of the name space objects is further subdivided into categories. These categories are:) 71.42 450.11 T
(applications) 107.42 430.11 T
(Miscellaneous applications.) 233.42 430.11 T
(bench) 107.42 414.11 T
(Benchmarks.) 233.42 414.11 T
(collections) 107.42 398.11 T
(Collections.) 233.42 398.11 T
(defaults) 107.42 382.11 T
(Default behaviors.) 233.42 382.11 T
(io) 107.42 366.11 T
(Input/output.) 233.42 366.11 T
(graphics) 107.42 350.11 T
(Graphics.) 233.42 350.11 T
(mirrors) 107.42 334.11 T
(Reflection facility.) 233.42 334.11 T
(pixrects) 107.42 318.11 T
(Interface to primitives for Sun\325s low-level graphic routines.) 233.42 318.11 T
(slots) 107.42 302.11 T
(Representation of a S) 233.42 302.11 T
6 F
(ELF) 336.35 302.11 T
4 F
( slot \050used by mirrors\051.) 355.89 302.11 T
(system) 107.42 286.11 T
(General system objects.) 233.42 286.11 T
(userInterface) 107.42 270.11 T
(The prototype S) 233.42 270.11 T
6 F
(ELF) 310.71 270.11 T
4 F
( user interface.) 330.24 270.11 T
(The \336le ) 71.42 244.11 T
3 F
(init.self) 111.4 244.11 T
4 F
( sets up the template for the primary name space objects and their categories.) 147.05 244.11 T
-0.02 (The following sections examine the basic system objects in the S) 71.42 218.11 P
6 F
-0.01 (ELF) 383.06 218.11 P
4 F
-0.02 ( world, the collection hierar-) 402.6 218.11 P
1.24 (chy) 71.42 204.11 P
1.24 (, strings and messages, the re\337ection facility provided by mirrors, and the name inferencer) 87.96 204.11 P
1.24 (.) 536.42 204.11 P
-0.18 (Each section is introduced by a picture showing the portion of the inheritance hierarchy being dis-) 71.42 190.11 P
(cussed. The remaining objects in the S) 71.42 176.11 T
6 F
(ELF) 256.3 176.11 T
4 F
( world are brie\337y discussed in Appendix C.) 275.84 176.11 T
FMENDPAGE
%%EndPage: "7" 65
%%Page: "8" 65
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-8) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(2.4) 71.42 706.78 T
(General system objects) 98.42 706.78 T
3 F
1.34 (Clonable and oddball traits.) 71.42 332.53 P
4 F
1.34 ( ) 211.38 332.53 P
12 F
2.94 (traits clonable) 215.72 332.53 P
4 F
1.34 ( holds behavior for clonable objects: cloning) 317.54 332.53 P
0.48 (such an object returns a shallow copy of it. ) 71.42 318.53 P
12 F
1.06 (traits oddball) 284.28 318.53 P
4 F
0.48 ( holds behavior for one-of-a-kind) 377.62 318.53 P
0.38 (objects: cloning such an object returns ) 71.42 304.53 P
12 F
0.83 (self) 260.89 304.53 P
4 F
0.38 (. These objects are de\336ned in ) 287.26 304.53 P
3 F
0.38 (clonable.self) 432.41 304.53 P
4 F
0.38 ( and ) 493.37 304.53 P
3 F
0.38 (odd-) 517.44 304.53 P
(ball.self) 71.42 290.53 T
4 F
(.) 109.74 290.53 T
3 F
-0.17 (Booleans.) 71.42 264.53 P
4 F
-0.17 ( The ) 119.06 264.53 P
12 F
-0.37 (true) 143.37 264.53 P
4 F
-0.17 ( and ) 169.74 264.53 P
12 F
-0.37 (false) 192.72 264.53 P
4 F
-0.17 ( oddball objects represent boolean true and false, and inherit from) 225.68 264.53 P
12 F
1.57 (traits boolean) 71.42 250.53 P
4 F
0.72 (. The identities of the ) 165.28 250.53 P
12 F
1.57 (true) 274.13 250.53 P
4 F
0.72 ( and ) 300.5 250.53 P
12 F
1.57 (false) 325.24 250.53 P
4 F
0.72 ( objects are known to the virtual ma-) 358.2 250.53 P
(chine; some primitives take them as ar) 71.42 236.53 T
(guments or return them as results. De\336ned in ) 255.75 236.53 T
3 F
(boolean.self) 474.61 236.53 T
4 F
(.) 532.91 236.53 T
3 F
0.27 (Nil.) 71.42 210.53 P
4 F
0.27 ( The ) 89.09 210.53 P
12 F
0.59 (nil) 114.28 210.53 P
4 F
0.27 ( object represents \322not a useful object.\323 Assignable slots without explicit initializers) 134.05 210.53 P
-0.16 (are implicitly initialized to ) 71.42 196.53 P
12 F
-0.36 (nil) 201.37 196.53 P
4 F
-0.16 (. Using ) 221.14 196.53 P
12 F
-0.36 (nil) 258.46 196.53 P
4 F
-0.16 ( indiscriminately is poor object-oriented style. De\336ned) 278.24 196.53 P
(in ) 71.42 182.53 T
3 F
(nil.self) 83.75 182.53 T
4 F
(.) 116.08 182.53 T
3 F
-0.24 (Numbers.) 71.42 156.53 P
4 F
-0.24 ( ) 117.73 156.53 P
12 F
-0.52 (traits number) 120.49 156.53 P
4 F
-0.24 ( holds behavior for all numbers, including basic arithmetic and simple) 205.67 156.53 P
0.49 (functions. ) 71.42 142.53 P
12 F
1.08 (traits integer) 122.55 142.53 P
4 F
0.49 ( holds behavior for integers; all integers in the system inherit from) 215.91 142.53 P
0.05 (this object. Similarly, all floating point numbers inherit from ) 71.42 128.53 P
12 F
0.12 (traits float) 366.09 128.53 P
4 F
0.05 (, including the odd-) 445.32 128.53 P
-0.52 (ball object ) 71.42 114.53 P
12 F
-1.14 (infinity) 123.68 114.53 P
4 F
-0.52 (, representing IEEE infinity, a floating number object greater than the largest) 176.42 114.53 P
0.35 (representable floating point number. Numbers inherit from ) 71.42 100.53 P
12 F
0.77 (traits oddball) 358.99 100.53 P
4 F
0.35 (, so sending ) 452.04 100.53 P
12 F
0.77 (copy) 513.06 100.53 P
4 F
-0.12 (or ) 71.42 86.53 P
12 F
-0.26 (clone) 84.29 86.53 P
4 F
-0.12 ( to a number returns the number itself. De\336ned in ) 117.25 86.53 P
3 F
-0.12 (number) 356.22 86.53 P
-0.12 (.self) 391.53 86.53 P
4 F
-0.12 (, ) 411.19 86.53 P
3 F
-0.12 (integer) 417.07 86.53 P
-0.12 (.self) 449.71 86.53 P
4 F
-0.12 (, and ) 469.37 86.53 P
3 F
-0.12 (\337oat.self) 495.44 86.53 P
4 F
-0.12 (.) 536.42 86.53 P
71.42 55.44 539.42 716.11 C
88.08 354.53 522.77 702.11 C
88.08 354.53 522.77 702.11 R
7 X
0 K
V
370.81 665.48 380.2 668.9 374.05 661.02 372.43 663.25 4 Y
0 X
V
347.18 645.13 373.24 663.84 2 L
0.5 H
2 Z
N
288.18 661.1 281.93 668.9 291.36 665.6 289.77 663.35 4 Y
V
315.67 645.26 288.97 663.92 2 L
N
301.96 630.42 360.39 645.78 7.68 RR
7 X
V
0 X
N
23 F
(lobby) 318.05 635.09 T
204.15 592.21 295.87 607.56 7.68 RR
7 X
V
0 X
N
(traits oddball) 218.87 596.88 T
364.85 592.21 462.5 607.56 7.68 RR
7 X
V
0 X
N
(traits clonable) 379.79 596.88 T
119.49 552.03 217.78 567.39 7.68 RR
7 X
V
0 X
N
(traits boolean) 135.66 556.71 T
235.4 487.57 330.55 502.93 7.68 RR
7 X
V
0 X
N
(traits number) 250.92 492.25 T
405.03 552.03 492.95 567.39 7.68 RR
7 X
V
0 X
N
(traits block) 422.74 556.71 T
172.9 453.32 264.52 468.68 7.68 RR
7 X
V
0 X
N
(traits integer) 188.49 458 T
297.78 453.32 382.71 468.68 7.68 RR
7 X
V
0 X
N
(traits \337oat) 316.43 458 T
101.48 516.32 159.9 531.68 7.68 RR
7 X
V
2 H
0 X
N
(true) 121.22 520.99 T
177.36 516.32 235.79 531.68 7.68 RR
7 X
V
0 X
N
(false) 194.97 520.99 T
146.12 420.11 179.74 435.47 7.68 RR
7 X
V
0 X
N
(0) 159.87 424.29 T
275.88 420.11 321.5 435.47 7.68 RR
7 X
V
0 X
N
(0.0) 291.06 424.29 T
360.39 408.68 418.81 424.04 7.68 RR
7 X
V
0 X
N
(in\336nity) 374.03 413.36 T
188.62 420.11 222.24 435.47 7.68 RR
7 X
V
0 X
N
(1) 202.37 424.29 T
301.92 536.68 347 552.03 7.68 RR
7 X
V
0 X
N
(nil) 318.96 541.35 T
389.74 516.32 434.82 531.68 7.68 RR
7 X
V
0 X
N
([ ]) 407.7 520.99 T
150.07 548.7 159.5 552.04 153.27 544.21 151.67 546.46 4 Y
V
130.69 531.68 152.49 547.03 2 L
0.5 H
N
188.46 543.66 183 552.04 192.07 547.83 190.26 545.74 4 Y
V
206.58 531.68 189.51 546.39 2 L
N
(...) 229.63 423.79 T
178.51 450.13 187.89 453.58 181.76 445.68 180.14 447.91 4 Y
V
162.93 435.47 180.95 448.49 2 L
N
210.73 447.3 218.71 453.33 215.14 443.99 212.94 445.64 4 Y
V
205.43 435.47 213.54 446.43 2 L
N
(...) 328.9 423.79 T
316.8 450.39 326.36 453.33 319.81 445.77 318.3 448.08 4 Y
V
298.69 435.47 319.14 448.62 2 L
N
366.02 444.48 361.36 453.33 370 448.3 368.01 446.39 4 Y
V
389.6 424.04 367.32 447.11 2 L
N
242.15 485.17 251.85 487.58 244.9 480.39 243.52 482.78 4 Y
V
218.71 468.68 244.39 483.28 2 L
N
320.91 479.73 314.92 487.74 324.24 484.13 322.57 481.93 4 Y
V
340.25 468.68 321.79 482.52 2 L
N
(...) 442.6 519.99 T
433.02 548.92 442.52 552.04 436.12 544.36 434.57 546.64 4 Y
V
412.28 531.68 435.42 547.19 2 L
N
419.9 584.4 413.66 592.21 423.09 588.9 421.5 586.65 4 Y
V
448.99 567.39 420.7 587.22 2 L
N
199.79 589.56 209.42 592.26 202.68 584.87 201.23 587.22 4 Y
V
168.63 567.39 202.09 587.74 2 L
N
250.77 582.24 250 592.21 255.93 584.16 253.35 583.2 4 Y
V
282.97 502.93 253.01 584.14 2 L
N
285.68 583.87 280.45 592.4 289.4 587.93 287.54 585.9 4 Y
V
324.46 552.03 286.81 586.58 2 L
N
293.21 632.08 303.04 633.92 295.68 627.15 294.45 629.61 4 Y
V
250.01 607.56 295.35 630.06 2 L
N
366.77 627.15 359.33 633.84 369.18 632.1 367.97 629.63 4 Y
V
413.67 607.56 367.08 630.06 2 L
N
248.72 668.9 315.16 684.26 7.68 RR
7 X
V
0 X
N
(defaults) 262.7 673.57 T
346.53 668.9 413.88 684.26 7.68 RR
7 X
V
0 X
N
(globals) 362.8 673.57 T
13 F
(In this and the following inheritance diagrams,) 100.17 376.91 T
(represents objects that hold) 321.41 376.91 T
286.19 374.86 317.33 385.53 5.33 RR
7 X
V
0 X
N
(shared traits, and) 100.17 364.91 T
(represents objects that are concrete.) 209.5 364.91 T
174.41 362.86 205.55 373.53 5.33 RR
7 X
V
2 H
0 X
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "8" 66
%%Page: "9" 66
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-9) 298.51 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
3 F
0 X
2.4 (Blocks.) 71.42 708.11 P
4 F
2.4 ( All blocks inherit from ) 106.4 708.11 P
12 F
5.28 (traits block) 234.67 708.11 P
4 F
2.4 (, which inherits from ) 319.06 708.11 P
12 F
5.28 (traits clonable) 432.27 708.11 P
4 F
2.4 (.) 536.42 708.11 P
12 F
(traits block) 71.42 694.11 T
4 F
( has slots containing methods for looping and timing. Defined in ) 150.53 694.11 T
3 F
(block.self) 463.01 694.11 T
4 F
(.) 508.65 694.11 T
10 F
(2.5) 71.42 660.78 T
(Miscellaneous system objects) 98.42 660.78 T
3 F
0.34 (Pr) 71.42 345.92 P
0.34 (o\336ling, times, memory) 82.97 345.92 P
0.34 (, and monitor) 189.59 345.92 P
0.34 (.) 253.91 345.92 P
4 F
0.34 ( These objects allow access to various virtual machine op-) 256.91 345.92 P
-0.1 (erations. ) 71.42 331.92 P
12 F
-0.22 (profiling) 115.29 331.92 P
4 F
-0.1 ( contains methods to activate S) 174.62 331.92 P
6 F
-0.09 (ELF) 323.04 331.92 P
4 F
-0.1 ( code pro\336ling as well as virtual machine) 342.58 331.92 P
0.12 (pro\336ling when running a pro\336lable S) 71.42 317.92 P
6 F
0.11 (ELF) 249.58 317.92 P
4 F
0.12 ( system \050see the S) 269.11 317.92 P
6 F
0.11 (ELF) 355.54 317.92 P
4 F
0.12 ( System Manual\051. ) 375.07 317.92 P
12 F
0.26 (times) 463.37 317.92 P
4 F
0.12 ( contains) 496.33 317.92 P
0.78 (methods to return user time, system time, cpu time, and real time. ) 71.42 303.92 P
12 F
1.72 (memory) 398.59 303.92 P
4 F
0.78 ( contains methods to) 438.14 303.92 P
-0.16 (force scavenging and garbage collecting of the S) 71.42 289.92 P
6 F
-0.15 (ELF) 303.78 289.92 P
4 F
-0.16 ( heap. Finally) 323.31 289.92 P
-0.16 (, ) 387.84 289.92 P
12 F
-0.35 (monitor) 393.67 289.92 P
4 F
-0.16 ( encapsulates system) 439.82 289.92 P
0.25 (monitor operations, currently limited to determining the height of the system monitor) 71.42 275.92 P
0.25 (. De\336ned in) 482.62 275.92 P
3 F
(pr) 71.42 261.92 T
(o\336ling.self) 81.64 261.92 T
4 F
(, ) 131.96 261.92 T
3 F
(time.self) 137.95 261.92 T
4 F
(, and ) 178.26 261.92 T
3 F
(systemOddballs.self) 204.57 261.92 T
4 F
(.) 300.19 261.92 T
3 F
0.03 (System-invoked actions) 71.42 235.92 P
0.03 (.) 183.7 235.92 P
4 F
0.03 ( ) 186.7 235.92 P
12 F
0.07 (snapshotAction) 189.73 235.92 P
4 F
0.03 ( contains objects to be evaluated when certain actions) 282.02 235.92 P
-0.29 (are taken by the virtual machine. For example, before writing a snapshot, the VM sends to the lob-) 71.42 221.92 P
0.35 (by the message ) 71.42 207.92 P
12 F
0.77 (snapshotAction preWrite) 148.75 207.92 P
4 F
0.35 (. Pre- and post-actions are taken to both snapshot) 301.13 207.92 P
0.29 (reading and writing. In the base world, for example, before writing out a snapshot a garbage col-) 71.42 193.92 P
-0.54 (lection is performed,) 71.42 179.92 P
-0.54 ( and after reading in a snapshot the caches used by the prototype user interface) 169.94 179.92 P
(are reset. \050See the S) 71.42 165.92 T
6 F
(ELF) 166.34 165.92 T
4 F
( System manual for details on system-triggered messages.\051) 185.87 165.92 T
3 F
-0.05 (Comparison mixins.) 71.42 139.92 P
4 F
-0.05 ( The ) 167.99 139.92 P
12 F
-0.11 (binaries) 192.54 139.92 P
4 F
-0.05 ( mixin contains binary comparisons \050) 245.27 139.92 P
12 F
-0.11 (=) 423.24 139.92 P
4 F
-0.05 (, ) 429.83 139.92 P
12 F
-0.11 (<) 435.78 139.92 P
4 F
-0.05 (, ) 442.37 139.92 P
12 F
-0.11 (>) 448.32 139.92 P
4 F
-0.05 (\051 implemented by) 454.91 139.92 P
-0.16 (the three-way comparison ) 71.42 125.92 P
12 F
-0.36 (compare:IfLess:Equal:Greater) 198.49 125.92 P
4 F
-0.16 (. The ) 382.4 125.92 P
12 F
-0.36 (threeWayCompare) 409.72 125.92 P
4 F
-0.16 ( mixin) 508.6 125.92 P
0.7 (contains the three-way comparison implemented by binary comparisons. Finally) 71.42 111.92 P
0.7 (, the ) 461.64 111.92 P
12 F
1.54 (identity) 486.69 111.92 P
4 F
0.34 (mixin contains equality and hashing for objects that compare using identity) 71.42 97.92 P
0.34 (. De\336ned in ) 435.14 97.92 P
3 F
0.34 (compari-) 495.46 97.92 P
(son.self) 71.42 83.92 T
4 F
(.) 107.74 83.92 T
71.42 55.44 539.42 716.11 C
87.01 367.92 523.84 656.11 C
87.01 367.92 523.84 656.11 R
7 X
0 K
V
278.18 622.98 288.18 623.09 279.76 617.7 278.97 620.34 4 Y
0 X
V
199.12 597.24 279.93 620.63 2 L
0.5 H
2 Z
N
279.52 623.08 337.94 642.72 9.82 RR
7 X
V
0 X
N
23 F
(lobby) 295.6 629.84 T
164.95 578.44 256.68 598.08 9.82 RR
7 X
V
0 X
N
(traits oddball) 179.68 585.2 T
93.66 540.68 160.38 560.33 9.82 RR
7 X
V
2 H
0 X
N
(pro\336ling) 107.79 547.44 T
180.7 515.12 240.93 534.76 9.82 RR
7 X
V
0 X
N
(times) 197.69 521.88 T
260.29 541.34 330.01 560.98 9.82 RR
7 X
V
0 X
N
(memory) 275.32 548.1 T
240.95 489.53 310.18 509.18 9.82 RR
7 X
V
0 X
N
(monitor) 257.25 496.29 T
159.69 578.19 169.56 579.78 162.03 573.2 160.86 575.7 4 Y
V
129.15 560.98 161.77 576.12 2 L
0.5 H
N
262.25 576.63 255.32 583.84 265.02 581.4 263.63 579.02 4 Y
V
295.15 560.98 262.77 579.52 2 L
N
208.06 568.82 210.82 578.44 213.57 568.82 210.82 568.82 4 Y
V
210.82 534.76 210.82 569.82 2 L
N
238.02 568.75 235.56 578.44 242.78 571.53 240.4 570.14 4 Y
V
275.57 509.18 239.9 571 2 L
N
107.05 442.44 212.27 462.08 9.82 RR
7 X
V
0 X
N
(snapshotAction) 122.1 449.2 T
283.05 442.44 448.9 462.08 9.82 RR
7 X
V
0 X
N
(mixins comparisons binaries) 296.99 449.2 T
283.05 412.38 448.9 432.02 9.82 RR
7 X
V
0 X
N
(mixins comparisons identity) 298.82 419.14 T
283.05 382.32 506.55 401.96 9.82 RR
7 X
V
0 X
N
(mixins comparisons threeW) 299.16 389.08 T
(ayCompare) 433.66 389.08 T
106.53 489.29 175.76 508.93 9.82 RR
7 X
V
2 H
0 X
N
(scheduler) 117.33 496.05 T
184.85 572.43 192.97 578.26 189.17 569.01 187.01 570.72 4 Y
V
139.28 509.75 187.63 571.5 2 L
0.5 H
N
390.3 578.44 482.02 598.08 9.82 RR
7 X
V
0 X
N
(traits system) 407.35 583.7 T
339.18 542.71 430.9 562.37 9.83 RR
7 X
V
0 X
N
(traits semaphore) 346.15 547.99 T
405.18 575.98 414.79 578.73 408.09 571.3 406.63 573.65 4 Y
V
388.28 562.37 407.5 574.17 2 L
N
354.77 490.94 423.99 510.59 9.82 RR
7 X
V
2 H
0 X
N
(semaphore) 361.9 497.7 T
385.52 533.02 388.28 542.64 391.04 533.02 388.28 533.02 4 Y
V
388.28 511.39 388.28 534.02 2 L
0.5 H
N
437.38 542.71 517.74 562.37 9.83 RR
7 X
V
0 X
N
(traits process) 446.67 547.99 T
465.7 570.81 459.59 578.72 468.96 575.25 467.33 573.03 4 Y
V
482.02 562.37 466.54 573.62 2 L
N
337.73 618.02 328.99 622.89 338.98 623.39 338.35 620.71 4 Y
V
437.38 598.08 337.38 620.93 2 L
N
444.05 490.94 513.27 510.59 9.82 RR
7 X
V
2 H
0 X
N
(process) 459.43 497.7 T
474.8 533.02 477.56 542.64 480.32 533.02 477.56 533.02 4 Y
V
477.56 511.39 477.56 534.02 2 L
0.5 H
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "9" 67
%%Page: "10" 67
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-10) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
3 F
0 X
0.75 (Pr) 71.42 708.11 P
0.75 (ocess, scheduler) 82.97 708.11 P
0.75 (, and semaphor) 160.99 708.11 P
0.75 (e.) 236.33 708.11 P
4 F
0.75 ( ) 244.66 708.11 P
12 F
1.64 (process) 248.4 708.11 P
4 F
0.75 ( ) 294.55 708.11 P
0.75 (contains methods for controlling ) 298.29 708.11 P
0.75 (S) 460.52 708.11 P
6 F
0.69 (ELF) 467.19 708.11 P
4 F
0.75 ( processes,) 486.72 708.11 P
0.09 (e.g. terminating them or printing their stack.) 71.42 694.11 P
3 F
0.09 ( ) 284.17 694.11 P
4 F
0.09 (The ) 287.26 694.11 P
12 F
0.2 (scheduler) 308.99 694.11 P
4 F
0.09 ( is a simple preemptive round robin) 368.32 694.11 P
0 (scheduler) 71.42 680.11 P
0 (.) 116.72 680.11 P
0 ( Finally, ) 119.72 680.11 P
12 F
0.01 (semaphore) 162.71 680.11 P
4 F
0 ( implements binary and counting semaphores. The \336le ) 222.04 680.11 P
3 F
0 (pr) 485.56 680.11 P
0 (ompt.self) 495.78 680.11 P
4 F
-0.1 (contains a simple demo of the process facilities. The ) 71.42 666.11 P
12 F
-0.22 (prompt) 325.03 666.11 P
4 F
-0.1 ( object reads in a command and exe-) 364.58 666.11 P
-0.33 (cutes it as a separate process \050\322in the background\323\051. The process-related objects are not used in the) 71.42 652.11 P
0.85 (current S) 71.42 638.11 P
6 F
0.78 (ELF) 115.91 638.11 P
4 F
0.85 ( system. They are meant to demonstrate the use of the process primitives and thus) 135.44 638.11 P
0.74 (have only limited functionality) 71.42 624.11 P
0.74 (. Consequently) 221.1 624.11 P
0.74 (, they are likely to be changed when processes are) 293.02 624.11 P
(fully integrated into the S) 71.42 610.11 T
6 F
(ELF) 194.02 610.11 T
4 F
( world in future releases.) 213.55 610.11 T
10 F
(2.6) 71.42 550.78 T
(Collections) 98.42 550.78 T
4 F
0.31 (Collections are objects that act as containers, holding zero or more other objects. The collections) 71.42 524.11 P
-0.2 (provided in the S) 71.42 510.11 P
6 F
-0.19 (ELF) 153.1 510.11 P
4 F
-0.2 ( world are a minimal set. One of the underlying principles of these S) 172.64 510.11 P
6 F
-0.19 (ELF) 498.44 510.11 P
4 F
-0.2 ( col-) 517.98 510.11 P
0.83 (lections is that collections are assumed by default to be \322keyed\323\321having a key associated with) 71.42 496.11 P
-0.39 (each value in the collection. Collections without an obvious key) 71.42 482.11 P
-0.39 (, such as lists \050section II-2.6.1\051 and) 374.24 482.11 P
0.36 (sets \050section II-2.6.2\051, use each element as both the key and the value. Iterations over collections) 71.42 468.11 P
-0.24 (always pass both the value and the key for each element \050in that order\051 to the iteration block; since) 71.42 454.11 P
1.78 (S) 71.42 440.11 P
6 F
1.63 (ELF) 78.09 440.11 P
4 F
1.78 ( blocks ignore extra ar) 97.63 440.11 P
1.78 (guments, iterations that don\325) 211.76 440.11 P
1.78 (t care about the keys can simply use) 354.12 440.11 P
(blocks that only take one ar) 71.42 426.11 T
(gument, thus ignoring the key part of each element.) 203.45 426.11 T
0.67 (Collections understand the special copy operations ) 71.42 400.11 P
12 F
1.47 (copyRemoveAll) 321.93 400.11 P
4 F
0.67 ( and ) 407.62 400.11 P
12 F
1.47 (copyAddAll:) 432.27 400.11 P
4 F
0.67 (. Addi-) 504.78 400.11 P
0.18 (tions to most collections are made with ) 71.42 386.11 P
12 F
0.41 (add:) 263.6 386.11 P
4 F
0.18 ( for unkeyed collections or ) 289.97 386.11 P
12 F
0.41 (at:Put:) 422.46 386.11 P
4 F
0.18 ( for keyed col-) 468.6 386.11 P
1.24 (lections. ) 71.42 372.11 P
12 F
2.72 (size) 115.97 372.11 P
4 F
1.24 ( and ) 142.34 372.11 P
12 F
2.72 (isEmpty) 168.13 372.11 P
4 F
1.24 ( reveal how many objects a collection contains. Iteration over the) 214.27 372.11 P
-0.05 (members of a collection is done with ) 71.42 358.11 P
12 F
-0.12 (do:) 251.26 358.11 P
4 F
-0.05 (, which takes a block with two ar) 271.04 358.11 P
-0.05 (guments, the value and) 428.99 358.11 P
0.94 (key) 71.42 344.11 P
0.94 (, respectively) 87.96 344.11 P
0.94 (. ) 152.07 344.11 P
12 F
2.07 (with:Do:) 159.01 344.11 P
4 F
0.94 ( allows pairwise iteration through two collections. Collections also) 211.75 344.11 P
0.04 (support ) 71.42 330.11 P
12 F
0.09 (doFirst:Middle:Last:IfEmpty:) 110.44 330.11 P
4 F
0.04 (, a variant of the ) 295.01 330.11 P
12 F
0.09 (do:) 376.48 330.11 P
4 F
0.04 ( message that allows dif) 396.26 330.11 P
0.04 (ferent) 511.45 330.11 P
0.35 (behaviors when iterating for the \336rst element in a collection, the last element in a collection, and) 71.42 316.11 P
1.9 (the intervening elements. The ) 71.42 302.11 P
12 F
4.17 (includes:) 224.57 302.11 P
4 F
1.9 (, ) 283.9 302.11 P
12 F
4.17 (occurrencesOf:) 291.79 302.11 P
4 F
1.9 (, and ) 384.08 302.11 P
12 F
4.17 (findFirst:IfPresen-) 414.18 302.11 P
0.07 (t:IfAbsent) 71.42 288.11 P
4 F
0.03 ( messages test for the presence of particular values in the collection. The transform-) 137.34 288.11 P
0.24 (ing operations ) 71.42 274.11 P
12 F
0.52 (filterBy:Into:) 143.19 274.11 P
4 F
0.24 ( and ) 235.48 274.11 P
12 F
0.52 (mapBy:Into:) 259.27 274.11 P
4 F
0.24 ( can be used to create a new collection that) 331.78 274.11 P
0.05 (includes a subset or an element-wise function of a collection. Basic collection behavior is de\336ned) 71.42 260.11 P
(in ) 71.42 246.11 T
3 F
(collection.self) 83.75 246.11 T
4 F
(.) 150.71 246.11 T
(The following sections brie\337y discuss each of the concrete collections.) 71.42 220.11 T
FMENDPAGE
%%EndPage: "10" 68
%%Page: "11" 68
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-11) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(2.6.1) 71.42 708.11 T
(Lists) 107.42 708.11 T
12 F
-1.06 (list) 71.42 504.91 P
4 F
-0.48 ( implements an unkeyed, circular) 97.79 504.91 P
-0.48 (, doubly-linked list of objects. Additions and removals at ei-) 254.93 504.91 P
0.32 (ther end are ef) 71.42 490.91 P
0.32 (\336cient; insertions and removals in the middle of the list are less ef) 141.09 490.91 P
0.32 (\336cient. Keys are) 460.52 490.91 P
0.29 (ignored when adding elements to a list \050the ) 71.42 476.91 P
12 F
0.64 (at:Put:) 283.63 476.91 P
4 F
0.29 ( form performs an ) 329.77 476.91 P
12 F
0.64 (add:) 420.88 476.91 P
4 F
0.29 (\051. Reverse iteration) 447.24 476.91 P
-0.26 (is as ef) 71.42 462.91 P
-0.26 (\336cient as forward iteration and is provided by ) 103.99 462.91 P
12 F
-0.58 (reverseDo:) 323.73 462.91 P
4 F
-0.26 (. ) 389.65 462.91 P
12 F
-0.58 (link) 395.38 462.91 P
4 F
-0.26 (s are the nodes of the list) 421.75 462.91 P
(and are transparent to clients of ) 71.42 448.91 T
12 F
(list) 225.3 448.91 T
4 F
(. Lists and links are de\336ned in ) 251.67 448.91 T
3 F
(list.self) 398.91 448.91 T
4 F
(.) 433.23 448.91 T
2 F
(2.6.2) 71.42 416.91 T
(Dictionaries and sets) 107.42 416.91 T
4 F
0.49 (A ) 71.42 208.64 P
12 F
1.08 (set) 83.57 208.64 P
4 F
0.49 ( behaves like a mathematical set. It contains elements without duplication in no particular) 103.35 208.64 P
0.58 (order) 71.42 194.64 P
0.58 (. A ) 96.07 194.64 P
12 F
1.27 (dictionary) 114.88 194.64 P
4 F
0.58 ( implements a mapping from keys to values. The keys and values may be) 180.8 194.64 P
-0.21 (arbitrary objects. Dictionaries support the ) 71.42 180.64 P
12 F
-0.47 (includesKey:) 272.89 180.64 P
4 F
-0.21 ( and ) 351.99 180.64 P
12 F
-0.47 (removeKey:) 374.88 180.64 P
4 F
-0.21 ( operations. Hash ta-) 440.8 180.64 P
0.73 (bles are used in the implementation of sets and dictionaries. Sets and dictionaries are de\336ned in) 71.42 166.64 P
3 F
(setAndDictionary) 71.42 152.64 T
(.self) 155.38 152.64 T
4 F
(.) 175.04 152.64 T
71.42 55.44 539.42 716.11 C
161.07 526.91 449.78 704.11 C
161.07 526.91 449.78 704.11 R
7 X
0 K
V
207.36 612.87 273.08 628.22 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits link) 218.55 617.54 T
303.07 568.23 368.28 583.58 7.68 RR
7 X
V
0 X
N
(traits list) 315.53 572.9 T
167.4 651.29 253.67 666.65 7.68 RR
7 X
V
0 X
N
(traits clonable) 176.65 655.96 T
182.98 684.29 238.09 699.65 7.68 RR
7 X
V
0 X
N
(lobby) 197.41 688.96 T
337.04 612.87 442.6 628.22 7.68 RR
7 X
V
0 X
N
(traits collection) 353.49 617.54 T
313.36 535.23 357.99 550.58 7.68 RR
7 X
V
2 H
0 X
N
(list) 328.96 539.9 T
215.86 579.87 264.58 595.22 7.68 RR
7 X
V
0 X
N
(link) 231.98 584.54 T
332.92 558.61 335.67 568.23 338.43 558.61 335.67 558.61 4 Y
V
335.67 550.58 335.67 559.61 2 L
0.5 H
N
237.46 603.26 240.22 612.87 242.98 603.26 240.22 603.26 4 Y
V
240.22 595.22 240.22 604.26 2 L
N
207.78 674.68 210.54 684.29 213.29 674.68 210.54 674.68 4 Y
V
210.54 666.65 210.54 675.68 2 L
N
216.4 643.2 210.54 651.29 219.8 647.54 218.1 645.37 4 Y
V
240.22 628.22 217.32 645.98 2 L
N
278.51 608.05 272.19 615.8 281.65 612.58 280.08 610.32 4 Y
V
319.06 583.58 279.27 610.88 2 L
N
375 608.61 384.05 612.87 378.64 604.46 376.82 606.54 4 Y
V
350.56 583.58 377.58 607.19 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
71.42 55.44 539.42 716.11 C
156.72 230.64 454.13 412.91 C
156.72 230.64 454.13 412.91 R
7 X
0 K
V
231.47 312.74 362.4 328.1 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits setOrDictionary) 245.66 317.41 T
206.16 272.56 273.87 287.92 7.68 RR
7 X
V
0 X
N
(traits set) 219.26 277.24 T
301.9 272.56 398.11 287.92 7.68 RR
7 X
V
0 X
N
(traits dictionary) 313.07 277.24 T
313.38 356.49 399.65 371.84 7.68 RR
7 X
V
0 X
N
(traits clonable) 322.62 361.16 T
328.96 389.49 384.07 404.84 7.68 RR
7 X
V
0 X
N
(lobby) 343.38 394.16 T
169.03 356.49 274.59 371.84 7.68 RR
7 X
V
0 X
N
(traits collection) 185.48 361.16 T
218.41 239.56 261.62 254.92 7.68 RR
7 X
V
2 H
0 X
N
(set) 232.69 244.24 T
314.29 239.56 385.71 254.92 7.68 RR
7 X
V
0 X
N
(dictionary) 326.5 244.24 T
347.25 262.95 350 272.56 352.76 262.95 350 262.95 4 Y
V
350 254.92 350 263.95 2 L
0.5 H
N
237.26 262.95 240.02 272.56 242.77 262.95 240.02 262.95 4 Y
V
240.02 254.92 240.02 263.95 2 L
N
353.76 379.88 356.51 389.49 359.27 379.88 356.51 379.88 4 Y
V
356.51 371.84 356.51 380.88 2 L
N
262.42 308.95 271.68 312.74 265.84 304.62 264.13 306.79 4 Y
V
240.02 287.92 264.92 307.4 2 L
N
327.94 304.24 322.67 312.74 331.64 308.32 329.79 306.28 4 Y
V
350 287.92 329.05 306.95 2 L
N
347.8 351.57 356.51 356.49 351.73 347.7 349.77 349.63 4 Y
V
328.36 328.1 350.48 350.35 2 L
N
228.36 348.93 221.81 356.49 231.37 353.55 229.86 351.24 4 Y
V
265.86 328.1 229.03 351.79 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "11" 69
%%Page: "12" 69
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-12) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(2.6.3 T) 71.42 708.11 T
(r) 108.52 708.11 T
(ees) 113.63 708.11 T
12 F
1.28 (treeSet) 71.42 424.92 P
4 F
0.58 ( and ) 117.57 424.92 P
12 F
1.28 (treeBag) 142.04 424.92 P
4 F
0.58 ( implement sorted collections using binary trees. The set variant ignores) 188.18 424.92 P
-0.31 (duplicates, while the bag variant does not. T) 71.42 410.92 P
-0.31 (rees allow both explicit and implicit keys \050that is, add-) 281.03 410.92 P
0.09 (ing elements can be done with either ) 71.42 396.92 P
12 F
0.2 (at:Put:) 250.92 396.92 P
4 F
0.09 ( or ) 297.06 396.92 P
12 F
0.2 (add:) 313.23 396.92 P
4 F
0.09 (\051\321sorting is done on keys if present, val-) 339.6 396.92 P
0.26 (ues otherwise. The element keys \050keys if explicit, or the elements themselves otherwise\051 must be) 71.42 382.92 P
0.23 (mutually comparable, so that they may be sorted as they are inserted. ) 71.42 368.92 P
12 F
0.52 (includesKey:) 408.67 368.92 P
4 F
0.23 ( ef) 487.77 368.92 P
0.23 (\336ciently) 500.11 368.92 P
(tests for the presence of a key) 71.42 354.92 T
(.) 213.19 354.92 T
-0.6 (The implementation of trees uses dynamic inheritance to distinguish the dif) 71.42 328.92 P
-0.6 (fering behavior of emp-) 426.98 328.92 P
0.47 (ty and non-empty subtrees. The prototype ) 71.42 314.92 P
12 F
1.04 (treeSet) 277.8 314.92 P
4 F
0.47 ( represents an empty \050sub\051tree; when an ele-) 323.95 314.92 P
0.62 (ment is added to it, its parent is switched from ) 71.42 300.92 P
12 F
1.37 (traits trees set) 302.5 300.92 P
4 F
0.62 (, which holds behavior for) 410.7 300.92 P
0.59 (empty \050sub\051trees, to a new copy of ) 71.42 286.92 P
12 F
1.29 (treeSetNode) 244.73 286.92 P
4 F
0.59 (, which represents a tree node holding an ele-) 317.24 286.92 P
0.11 (ment. Thus, the ) 71.42 272.92 P
12 F
0.23 (treeSet) 149.36 272.92 P
4 F
0.11 ( object now behaves as a ) 195.51 272.92 P
12 F
0.23 (treeSetNode) 318.04 272.92 P
4 F
0.11 ( object, with right and left sub-) 390.55 272.92 P
0.58 (trees \050initially copies of the empty subtree ) 71.42 258.92 P
12 F
1.27 (treeSet) 280.31 258.92 P
4 F
0.58 (\051. Dynamic inheritance allows one object to) 326.46 258.92 P
(behave modally without using clumsy ) 71.42 244.92 T
12 F
(if) 256.99 244.92 T
4 F
(-tests throughout every method.) 270.17 244.92 T
(T) 71.42 218.92 T
(rees are de\336ned in ) 78.33 218.92 T
3 F
(tr) 168.92 218.92 T
(ee.self) 176.47 218.92 T
4 F
(.) 206.78 218.92 T
71.42 55.44 539.42 716.11 C
72.58 446.92 538.27 704.11 C
72.58 446.92 538.27 704.11 R
7 X
0 K
V
267.51 491.8 391.83 507.16 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits treeNodes set) 282.04 496.48 T
331.17 528.05 470.68 543.41 7.68 RR
7 X
V
0 X
N
(traits treeNodes abstract) 341.09 532.72 T
409.42 491.8 536.84 507.16 7.68 RR
7 X
V
0 X
N
(traits treeNodes bag) 423.67 496.48 T
316.65 645.47 402.92 660.83 7.68 RR
7 X
V
0 X
N
(traits clonable) 325.9 650.15 T
332.23 678.47 387.34 693.83 7.68 RR
7 X
V
0 X
N
(lobby) 346.66 683.15 T
172.3 645.47 277.87 660.83 7.68 RR
7 X
V
0 X
N
(traits collection) 188.76 650.15 T
285.9 458.8 373.44 474.16 7.68 RR
7 X
V
2 H
0 X
N
(treeSetNode) 298.83 463.48 T
429.36 458.8 516.9 474.16 7.68 RR
7 X
V
0 X
N
(treeBagNode) 440.76 463.48 T
357.03 668.86 359.79 678.47 362.54 668.86 359.79 668.86 4 Y
V
359.79 660.83 359.79 669.86 2 L
0.5 H
N
470.37 482.19 473.13 491.8 475.89 482.19 473.13 482.19 4 Y
V
473.13 474.16 473.13 483.19 2 L
N
326.91 482.19 329.67 491.8 332.42 482.19 329.67 482.19 4 Y
V
329.67 474.16 329.67 483.19 2 L
N
133.99 598.94 255.83 614.3 7.68 RR
7 X
V
0 X
N
(traits trees abstract) 148.2 603.61 T
81.51 563.02 183.36 578.37 7.68 RR
7 X
V
0 X
N
(traits trees set) 97.94 567.69 T
206.74 563.02 302.75 578.37 7.68 RR
7 X
V
0 X
N
(traits trees bag) 218.41 567.69 T
221.73 530.02 287.76 545.37 7.68 RR
7 X
V
2 H
0 X
N
(treeBag) 235.51 534.69 T
98.96 530.02 165.92 545.37 7.68 RR
7 X
V
0 X
N
(treeSet) 114.72 534.69 T
251.99 553.4 254.75 563.02 257.5 553.4 254.75 553.4 4 Y
V
254.75 545.37 254.75 554.4 2 L
0.5 H
N
129.68 553.4 132.43 563.02 135.19 553.4 132.43 553.4 4 Y
V
132.43 545.37 132.43 554.4 2 L
N
150.65 595.36 159.99 598.94 153.96 590.96 152.31 593.16 4 Y
V
132.43 578.37 153.11 593.76 2 L
N
233.03 590.98 226.98 598.94 236.33 595.4 234.68 593.19 4 Y
V
254.75 578.37 233.89 593.78 2 L
N
351.84 525.03 361.37 528.06 354.89 520.44 353.37 522.73 4 Y
V
329.67 507.16 354.21 523.28 2 L
N
449.61 520.25 443.36 528.06 452.8 524.75 451.2 522.5 4 Y
V
473.13 507.16 450.41 523.07 2 L
N
184.66 639.16 192.42 645.47 189.19 636.01 186.93 637.59 4 Y
V
170.92 614.3 187.5 638.4 2 L
N
306.66 647.32 316.64 647.88 308.48 642.11 307.57 644.71 4 Y
V
219.92 614.3 308.52 645.04 2 L
N
260.18 636.97 254.92 645.47 263.89 641.06 262.04 639.02 4 Y
V
367.42 543.41 261.3 639.69 2 L
N
384.92 635.59 383.41 645.47 389.93 637.89 387.42 636.74 4 Y
V
429.92 543.41 387.02 637.65 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "12" 70
%%Page: "13" 70
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-13) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(2.6.4) 71.42 708.11 T
(V) 107.42 708.11 T
(ectors and strings) 114.98 708.11 T
4 F
-0.24 (S) 71.42 417.88 P
6 F
-0.22 (ELF) 78.09 417.88 P
4 F
-0.24 ( vectors are like arrays in most programming languages: they have a \336xed size and are keyed) 97.63 417.88 P
-0.07 (by integers. ) 71.42 403.88 P
12 F
-0.15 (traits indexable) 130.25 403.88 P
4 F
-0.07 ( holds behavior for all collections that have indexable behavior) 235.57 403.88 P
-0.07 (.) 536.42 403.88 P
(These include integers, all vectors, and strings \050which are a kind of vector\051.) 71.42 389.88 T
3 F
0.16 (Integers.) 71.42 363.88 P
4 F
0.16 ( An int) 113.72 363.88 P
0.16 (eger ) 147.35 363.88 P
3 F
0.16 (n) 171.15 363.88 P
4 F
0.16 ( acts like an immutable indexable collection of the integers 0 through ) 177.15 363.88 P
3 F
0.16 (n) 514.13 363.88 P
4 F
0.16 ( - 1,) 520.13 363.88 P
(where each element is its own key. ) 71.42 349.88 T
(De\336ned in ) 241.96 349.88 T
3 F
(integerAsCollection.self) 295.26 349.88 T
4 F
(.) 410.86 349.88 T
3 F
0.14 (V) 71.42 323.88 P
0.14 (ectors.) 77.42 323.88 P
4 F
0.14 ( A ) 109.73 323.88 P
12 F
0.3 (vector) 124.66 323.88 P
4 F
0.14 ( contains arbitrary objects, while a ) 164.21 323.88 P
12 F
0.3 (byteVector) 333.24 323.88 P
4 F
0.14 ( may only contain integers in) 399.16 323.88 P
(the range [0, 255] but handles that storage ef) 71.42 309.88 T
(\336ciently) 285.37 309.88 T
(. All vector objects are de\336ned in ) 323.91 309.88 T
3 F
(vector) 486.46 309.88 T
(.self) 515.1 309.88 T
4 F
(.) 534.75 309.88 T
3 F
0.77 (ConsV) 71.42 283.88 P
0.77 (ectors) 102.08 283.88 P
4 F
0.77 (. ) 131.39 283.88 P
0.77 (For ef) 138.16 283.88 P
0.77 (\336cient concatenation of vectors, ) 167.69 283.88 P
12 F
1.7 (consVector) 327 283.88 P
4 F
0.77 ( keeps a separate left part and) 392.92 283.88 P
-0.39 (right part. A ) 71.42 269.88 P
12 F
-0.87 (consVector) 132.2 269.88 P
4 F
-0.39 ( is created with the comma operator \050\324) 198.12 269.88 P
12 F
-0.87 (,) 378.21 269.88 P
4 F
-0.39 (\325\051, concatenating two vectors \050or) 384.8 269.88 P
-0.25 (strings\051. The ) 71.42 255.88 P
12 F
-0.55 (flatten) 134.55 255.88 P
4 F
-0.25 ( operation does the \050possibly expensive\051 copy operation to create a \337at vec-) 180.69 255.88 P
0.54 (tor with the contents of a ) 71.42 241.88 P
12 F
1.19 (consVector) 197.25 241.88 P
4 F
0.54 (. ) 262.51 241.88 P
12 F
1.19 (consVector) 269.05 241.88 P
4 F
0.54 (s implicitly \337atten themselves in place for) 334.97 241.88 P
(many non-contatenation operations.) 71.42 227.88 T
3 F
0.36 (Strings.) 71.42 201.88 P
4 F
0.36 ( Strings are vectors of character objects \050see Appendix B for a description of characters\051.) 108.41 201.88 P
1.6 (As with other vectors, a string\325) 71.42 187.88 P
1.6 (s elements are accessed and changed by sending it the ) 227.31 187.88 P
12 F
3.51 (at:) 505.06 187.88 P
4 F
1.6 ( or) 524.84 187.88 P
12 F
1.91 (at:Put: ) 71.42 173.88 P
4 F
0.87 (messages. In addition, the ASCII code for an element may be obtained and changed) 126.07 173.88 P
(with the ) 71.42 159.88 T
12 F
(byteAt:) 113.4 159.88 T
4 F
( and ) 159.54 159.88 T
12 F
(byteAt:Put:) 182.86 159.88 T
4 F
( messages.) 255.37 159.88 T
0.17 (Abstract string behavior is inherited from ) 71.42 139.88 P
12 F
0.39 (traits indexable abstractString) 274.34 139.88 P
4 F
0.17 (. Any vector) 479.45 139.88 P
0.21 (that looks like a collection of characters will respond appropriately to the string-like behaviors in) 71.42 125.88 P
(this object. These operations include dealing with padding, tabs, and capitalization.) 71.42 111.88 T
0.41 (In addition, strings are used to implement indirect message sends. The alternative message invo-) 71.42 91.88 P
-0.11 (cation mechanism ) 71.42 77.88 P
12 F
-0.24 (sendTo:) 161.15 77.88 P
4 F
-0.11 (, inherited from ) 207.29 77.88 P
12 F
-0.24 (traits sending) 284.91 77.88 P
4 F
-0.11 (, allows strings to be used as mes-) 376.95 77.88 P
-0.2 (sage selectors: the receiver string is sent to the ar) 71.42 63.88 P
-0.2 (gument object as a message send. \050This is similar) 304.2 63.88 P
71.42 55.44 539.42 716.11 C
72.58 439.88 538.27 704.11 C
72.58 439.88 538.27 704.11 R
7 X
0 K
V
243.63 666.44 340.42 681.79 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits collection) 255.7 671.11 T
306.98 610.08 398.46 625.44 7.68 RR
7 X
V
0 X
N
(traits indexable) 315.78 614.76 T
177.17 569.91 295.78 585.26 7.68 RR
7 X
V
0 X
N
(traits mutableV) 187.93 574.58 T
(ector) 260.59 574.58 T
286.89 534.2 376.42 549.55 7.68 RR
7 X
V
0 X
N
(traits \337atV) 295.32 538.87 T
(ector) 343.56 538.87 T
318.13 492.06 420.27 507.41 7.68 RR
7 X
V
0 X
N
(traits byteV) 329.81 496.73 T
(ector) 384.16 496.73 T
435.63 492.06 514.52 507.41 7.68 RR
7 X
V
0 X
N
(traits vector) 446.68 496.73 T
103.83 534.2 203.3 549.55 7.68 RR
7 X
V
0 X
N
(traits consV) 112.96 538.87 T
(ector) 169.75 538.87 T
389.24 569.91 478.81 585.26 7.68 RR
7 X
V
0 X
N
(traits integer ) 402.27 574.58 T
361.7 648.3 527.91 663.65 7.68 RR
7 X
V
0 X
N
(traits indexable abstractString) 372.45 652.97 T
332.02 460.81 406.38 476.16 7.68 RR
7 X
V
2 H
0 X
N
(byteV) 343.24 465.48 T
(ector) 370.73 465.48 T
446.82 460.81 503.33 476.16 7.68 RR
7 X
V
0 X
N
(vector) 460.11 465.48 T
112.25 500.98 194.88 516.34 7.68 RR
7 X
V
0 X
N
(consV) 126.39 505.66 T
(ector) 156.32 505.66 T
112.76 614.55 204.24 629.9 7.68 RR
7 X
V
0.5 H
0 X
N
(traits clonable) 124.61 619.22 T
130.24 650.26 186.75 665.62 7.68 RR
7 X
V
0 X
N
(lobby) 145.37 654.93 T
155.74 640.65 158.5 650.26 161.25 640.65 158.5 640.65 4 Y
V
158.5 629.9 158.5 641.65 2 L
N
150.81 524.58 153.57 534.2 156.32 524.58 153.57 524.58 4 Y
V
153.57 516.34 153.57 525.58 2 L
N
366.44 482.44 369.2 492.06 371.95 482.44 369.2 482.44 4 Y
V
369.2 476.16 369.2 483.44 2 L
N
472.32 482.44 475.08 492.06 477.83 482.44 475.08 482.44 4 Y
V
475.08 476.16 475.08 483.44 2 L
N
400.68 602.66 393.98 610.09 403.59 607.34 402.14 605 4 Y
V
434.17 585.26 401.3 605.52 2 L
N
174.66 566.84 184.18 569.91 177.74 562.26 176.2 564.55 4 Y
V
153.57 549.55 177.03 565.11 2 L
N
298.49 563.94 291.31 570.9 301.09 568.8 299.79 566.37 4 Y
V
331.66 549.55 298.92 566.84 2 L
N
350.56 525.1 346.42 534.2 354.75 528.68 352.66 526.89 4 Y
V
369.2 507.41 352.02 527.65 2 L
N
383.93 531.61 375.55 537.07 385.55 536.89 384.74 534.25 4 Y
V
475.08 507.41 383.79 534.54 2 L
N
303.75 608.53 313.63 610.09 306.08 603.53 304.92 606.03 4 Y
V
259.92 585.26 305.83 606.45 2 L
N
172.85 607.34 165.92 614.55 175.62 612.11 174.24 609.73 4 Y
V
216.92 585.26 173.38 610.23 2 L
N
297.55 658.11 292.02 666.44 301.12 662.31 299.34 660.21 4 Y
V
340.42 625.44 298.59 660.86 2 L
N
388.14 644.55 397.42 648.3 391.54 640.21 389.84 642.38 4 Y
V
367.92 625.44 390.64 643 2 L
N
399.65 681.3 489.97 696.65 7.68 RR
7 X
V
0 X
N
(traits sending) 412.14 685.97 T
442.05 671.68 444.81 681.3 447.56 671.68 444.81 671.68 4 Y
V
444.81 663.65 444.81 672.68 2 L
N
317.12 488.43 327.02 489.85 319.38 483.4 318.25 485.92 4 Y
V
286.86 471.98 319.17 486.32 2 L
N
7 X
90 450 33.48 31.25 266.77 471.98 G
0 X
90 450 33.48 31.25 266.77 471.98 A
243.64 452.66 289.9 491.31 R
7 X
V
5 F
0 X
-0.99 (concrete ) 245.7 483.97 P
(string) 253.34 470.97 T
(hierarchy) 244.18 457.97 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "13" 71
%%Page: "14" 71
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-14) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.29 (to Smalltalk\325) 71.42 708.11 P
0.29 (s ) 133.36 708.11 P
12 F
0.64 (perform) 141.32 708.11 P
4 F
0.29 (.\051 The ) 187.46 708.11 P
12 F
0.64 (sendTo:) 219.69 708.11 P
4 F
0.29 ( form may be packaged as ) 265.83 708.11 P
12 F
0.64 (message) 396.14 708.11 P
4 F
0.29 ( objects to represent) 442.29 708.11 P
-0.16 (a S) 71.42 694.11 P
6 F
-0.15 (ELF) 86.26 694.11 P
4 F
-0.16 ( message send, bundling together the receiver) 105.79 694.11 P
-0.16 (, the selector) 323.18 694.11 P
-0.16 (, the delegatee, the method hold-) 383.34 694.11 P
0.31 (er) 71.42 680.11 P
0.31 (, and the ar) 80.26 680.11 P
0.31 (guments in one object. Message objects perform the message send they represent in) 134.28 680.11 P
0.48 (response to ) 71.42 666.11 P
12 F
1.06 (send) 129.68 666.11 P
4 F
0.48 (. ) 156.05 666.11 P
12 F
1.06 (sendTo:) 162.53 666.11 P
4 F
0.48 ( and its variants are de\336ned in ) 208.67 666.11 P
3 F
0.48 (sending.self) 358.95 666.11 P
4 F
0.48 (, and message objects are) 415.92 666.11 P
(de\336ned in ) 71.42 652.11 T
3 F
(message.self) 122.06 652.11 T
4 F
(.) 182.35 652.11 T
0.41 (Strings are simple to use, but their implementation is somewhat complex. String implementation) 71.42 632.11 P
(details can be found in Appendix B.) 71.42 618.11 T
10 F
(2.7) 71.42 584.78 T
(Name infer) 98.42 584.78 T
(encer) 165.39 584.78 T
4 F
-0.54 (The name inferencer is invoked by sending the message ) 71.42 392.94 P
12 F
-1.18 (name) 338.04 392.94 P
4 F
-0.54 ( to a mirror on an object. If the object) 364.4 392.94 P
-0.35 (contains a slot called ) 71.42 378.94 P
12 F
-0.77 (thisObjectPrints) 173.28 378.94 P
4 F
-0.35 (, indicating that the object knows how to print itself in-) 278.75 378.94 P
1.21 (telligently) 71.42 364.94 P
1.21 (, the name inferencer sends ) 119.29 364.94 P
12 F
2.65 (printString) 259.2 364.94 P
4 F
1.21 ( to the object and returns the result as the) 331.71 364.94 P
-0.28 (name. If there is no such slot, the name inferencer consults the path cache to infer a name \050see sec-) 71.42 350.94 P
1.88 (tion II-1.3\051. If the object is not in the path cache \050is not well known\051 the generic name ) 71.42 336.94 P
12 F
4.14 (<an) 519.65 336.94 P
(ob) 71.42 322.94 T
(ject>) 84.61 322.94 T
4 F
( is returned.) 117.57 322.94 T
-0.44 (The path cache is a dictionary of paths from the lobby to well-known objects in the world. The \336rst) 71.42 296.94 P
0.09 (time a name is needed, the path cache is \336lled by traversing all paths from the lobby; each path is) 71.42 282.94 P
0.17 (paired with the object reached and entered into the cache. The path cache uses mirrors on objects) 71.42 268.94 P
-0.55 (to traverse the slots; to save space, the path is stored as a vector of integers representing the number) 71.42 254.94 P
(of the slot traversed in each object.) 71.42 240.94 T
-0.12 (When a subsequent request for a name is made, the path cache checks if the object is in the cache;) 71.42 214.94 P
0.01 (if it is, it veri\336es that the cache is not out of date by checking to see if the path stored in the cache) 71.42 200.94 P
0.36 (actually reaches the object. If successful, the path is returned as the concatenation of slots on the) 71.42 186.94 P
-0.23 (path, omitting interior parent slots. If the cache is invalid, then it is re\336lled. The message \322re\336lling) 71.42 172.94 P
1.12 (path cache...\323 is printed during re\336lling. A manual re\336ll can be forced by sending ) 71.42 158.94 P
12 F
2.45 (pathCache) 480.1 158.94 P
(refill) 71.42 144.94 T
4 F
(.) 110.97 144.94 T
(The path cache is de\336ned in ) 71.42 118.94 T
3 F
(pathCache.self) 208.65 118.94 T
4 F
(.) 280.28 118.94 T
71.42 55.44 539.42 716.11 C
174.82 414.94 436.03 580.11 C
174.82 414.94 436.03 580.11 R
7 X
0 K
V
182.98 460.73 290.8 476.08 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits pathCache) 196.89 465.4 T
328.46 520.86 414.72 536.22 7.68 RR
7 X
V
0 X
N
(traits clonable) 337.7 525.54 T
344.04 553.86 399.15 569.22 7.68 RR
7 X
V
0 X
N
(lobby) 358.46 558.54 T
184.1 520.86 289.67 536.22 7.68 RR
7 X
V
0 X
N
(traits collection) 200.56 525.54 T
196.55 427.73 277.23 443.08 7.68 RR
7 X
V
2 H
0 X
N
(pathCache) 210.32 432.4 T
368.83 544.25 371.59 553.86 374.35 544.25 371.59 544.25 4 Y
V
371.59 536.22 371.59 545.25 2 L
0.5 H
N
331.62 460.73 411.56 476.08 7.68 RR
7 X
V
0 X
N
(traits path) 347.47 465.4 T
344.55 427.73 398.63 443.08 7.68 RR
7 X
V
2 H
0 X
N
(path) 360.9 432.4 T
368.83 451.11 371.59 460.73 374.35 451.11 371.59 451.11 4 Y
V
371.59 443.08 371.59 452.11 2 L
0.5 H
N
234.13 451.11 236.89 460.73 239.64 451.11 236.89 451.11 4 Y
V
236.89 443.08 236.89 452.11 2 L
N
210.97 511.25 213.73 520.86 216.48 511.25 213.73 511.25 4 Y
V
213.73 476.08 213.73 512.25 2 L
N
341.35 519.31 351.22 520.87 343.67 514.31 342.51 516.81 4 Y
V
254.23 476.08 343.42 517.23 2 L
N
280.98 513.97 273.87 521 283.63 518.8 282.31 516.39 4 Y
V
356.73 476.08 281.43 516.86 2 L
N
384.97 511.25 387.73 520.86 390.48 511.25 387.73 511.25 4 Y
V
387.73 476.08 387.73 512.25 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "14" 72
%%Page: "15" 72
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-15) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Map of the world) 469.75 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(2.8) 71.42 706.78 T
(Host-speci\336c attributes) 98.42 706.78 T
4 F
-0.15 (The ) 71.42 551.26 P
12 F
-0.32 (host) 92.93 551.26 P
4 F
-0.15 ( and ) 119.29 551.26 P
12 F
-0.32 (platform) 142.32 551.26 P
4 F
-0.15 ( objects describe machine-speci\336c attributes of hosts running S) 195.05 551.26 P
6 F
-0.13 (ELF) 496.35 551.26 P
4 F
-0.15 (. Ob-) 514.92 551.26 P
-0.06 (jects consult the oddball object ) 71.42 537.26 P
12 F
-0.13 (thisHost) 222.7 537.26 P
4 F
-0.06 ( when they require knowledge about the particular host) 275.43 537.26 P
0.02 (that the system is being run on. T) 71.42 523.26 P
0.02 (wo parts of the base S) 230.6 523.26 P
6 F
0.01 (ELF) 336.27 523.26 P
4 F
0.02 ( world use such host-speci\336c informa-) 355.81 523.26 P
0 (tion: the prototype user interface checks the database to determine the scale of physical objects as) 71.42 509.26 P
-0.32 (well as which frame buf) 71.42 495.26 P
-0.32 (fer to use, and the benchmarks use the type of machine to select the appro-) 185.84 495.26 P
(priate set of C performance numbers with which to compare.) 71.42 481.26 T
-0.47 (The object ) 71.42 455.26 P
12 F
-1.02 (traits platform) 124.45 455.26 P
4 F
-0.47 ( and the oddball object ) 222.31 455.26 P
12 F
-1.02 (platform) 332.24 455.26 P
4 F
-0.47 ( have slots that hold default plat-) 384.98 455.26 P
0.24 (form information such as cpu type, operating system, and model name for a variety of platforms.) 71.42 441.26 P
-0.41 (A ) 71.42 427.26 P
12 F
-0.89 (host) 82.68 427.26 P
4 F
-0.41 ( object represents a given host machine. Sending ) 109.04 427.26 P
12 F
-0.89 (thisHost) 342.63 427.26 P
4 F
-0.41 ( to the lobby returns a host ob-) 395.36 427.26 P
0.06 (ject with information appropriate to the current host. Queries are made to the result of ) 71.42 413.26 P
12 F
0.13 (thisHost) 486.69 413.26 P
4 F
(for host-speci\336c attributes.) 71.42 399.26 T
-0.22 (The host con\336guration table \050the S) 71.42 373.26 P
6 F
-0.2 (ELF) 236.57 373.26 P
4 F
-0.22 ( object ) 256.1 373.26 P
12 F
-0.48 (traits host configurationTable) 290.97 373.26 P
4 F
-0.22 (\051 is used to) 487.77 373.26 P
0.49 (override default host information. For example, a host named \322hal\323 might have two displays. T) 71.42 359.26 P
0.49 (o) 533.43 359.26 P
0.83 (specify that S) 71.42 345.26 P
6 F
0.76 (ELF) 138.38 345.26 P
4 F
0.83 ( should use the frame buf) 157.92 345.26 P
0.83 (fer /dev/cgsix0 rather than /dev/fb when running the) 283.44 345.26 P
(user interface, an entry for ) 71.42 331.26 T
3 F
(hal) 201.3 331.26 T
4 F
( would be made in the con\336guration table as follows:) 216.63 331.26 T
12 F
(host configurationTable at: \325hal\325) 98.42 305.26 T
(Put: \050 | frameBufferName = \325/dev/cgsix0\325| \051) 249.92 291.26 T
4 F
-0.1 (When S) 71.42 265.26 P
6 F
-0.09 (ELF) 109.63 265.26 P
4 F
-0.1 ( is run on ) 129.17 265.26 P
3 F
-0.1 (hal) 176.75 265.26 P
4 F
-0.1 (, the con\336guration entry for ) 192.08 265.26 P
3 F
-0.1 (hal) 326.83 265.26 P
4 F
-0.1 ( will override any default information for) 342.15 265.26 P
3 F
-0.54 (hal) 71.42 251.26 P
4 F
-0.54 (\325) 86.75 251.26 P
-0.54 (s model type. Hosts only need to be registered in the con\336guration table if they override default) 90.09 251.26 P
(machine information.) 71.42 237.26 T
0.04 (The host and platform objects are de\336ned in ) 71.42 211.26 P
3 F
0.04 (hosts.self) 286.27 211.26 P
4 F
0.04 (, and the con\336guration table is initialized in) 330.59 211.26 P
3 F
(con\336guration.self) 71.42 197.26 T
4 F
(.) 155.71 197.26 T
71.42 55.44 539.42 716.11 C
252.12 573.26 358.73 702.11 C
252.12 573.26 358.73 702.11 R
7 X
0 K
V
265.4 616.29 341.96 631.65 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits host) 279.87 620.96 T
260.55 649.29 346.82 664.65 7.68 RR
7 X
V
0 X
N
(traits clonable) 269.79 653.96 T
276.13 682.29 331.24 697.65 7.68 RR
7 X
V
0 X
N
(lobby) 290.55 686.96 T
276.64 583.29 330.72 598.65 7.68 RR
7 X
V
2 H
0 X
N
(host) 293.3 587.96 T
300.93 639.68 303.68 649.29 306.44 639.68 303.68 639.68 4 Y
V
303.68 631.65 303.68 640.68 2 L
0.5 H
N
300.93 606.68 303.68 616.29 306.44 606.68 303.68 606.68 4 Y
V
303.68 598.65 303.68 607.68 2 L
N
300.93 672.68 303.68 682.29 306.44 672.68 303.68 672.68 4 Y
V
303.68 664.65 303.68 673.68 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "15" 73
%%Page: "16" 73
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-16) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Mirrors) 508.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix A) 71.42 705.45 T
(Mirr) 170.42 705.45 T
(ors) 203.88 705.45 T
4 F
0.31 (S) 71.42 216.46 P
6 F
0.28 (ELF) 78.09 216.46 P
4 F
0.31 (\325) 97.63 216.46 P
0.31 (s re\337ection facility is based on ) 100.96 216.46 P
3 F
0.31 (mirr) 252.05 216.46 P
0.31 (ors) 272.93 216.46 P
4 F
0.31 (. A mirror on an object ) 288.26 216.46 P
12 F
0.68 (x) 403.03 216.46 P
4 F
0.31 ( is obtained by sending the) 409.62 216.46 P
-0.08 (message ) 71.42 202.46 P
12 F
-0.17 (reflect: x) 114.98 202.46 P
4 F
-0.08 (, which is de\336ned in default behaviors to invoke the ) 180.73 202.46 P
12 F
-0.17 (_Mirror) 431.46 202.46 P
4 F
-0.08 ( primitive on) 477.61 202.46 P
12 F
-1 (x) 71.42 188.46 P
4 F
-0.46 (. Mirrors make their re\337ectees look like collections of slots, keyed by slot names, with values that) 78.02 188.46 P
0.51 (are mirrors on the slot contents. A mirror permits queries to be made about the object it re\337ects,) 71.42 174.46 P
-0.32 (such as the number of slots, the name of each slot, whether a slot is a parent, the visibility of a slot,) 71.42 160.46 P
0.33 (etc. Operations on mirrors also include retrieving a mirror on the contents of a slot and returning) 71.42 146.46 P
0.45 (mirrors for all references to an object. Asking a mirror for the name of the re\337ected object gives) 71.42 132.46 P
(the string returned by the name inferencer) 71.42 118.46 T
(.) 271.93 118.46 T
0.45 (There are twelve kinds of mirrors, one for each kind of object known to the virtual machine: the) 71.42 92.46 P
-0 (assignment primitive, blocks, byte codes, integers, \337oats, canonical and immutable strings, object) 71.42 78.46 P
(and byte vectors, methods, mirrors, and plain objects. Mirrors are de\336ned in ) 71.42 64.46 T
3 F
(mirr) 439.17 64.46 T
(or) 460.05 64.46 T
(.self) 469.38 64.46 T
4 F
(.) 489.04 64.46 T
71.42 55.44 539.42 716.11 C
74.5 238.46 536.35 700.11 C
74.5 238.46 536.35 700.11 R
7 X
0 K
V
236.26 349.04 228.6 355.47 238.5 354.07 237.38 351.55 4 Y
0 X
V
303.91 322.12 236.47 351.95 2 L
0.5 H
2 Z
N
244.6 495.73 363.99 511.09 7.68 RR
7 X
V
0 X
N
23 F
(traits printingMirror) 258.51 500.4 T
203.16 643.69 289.42 659.04 7.68 RR
7 X
V
0 X
N
(traits oddball) 215.15 648.36 T
218.74 676.69 273.85 692.04 7.68 RR
7 X
V
0 X
N
(lobby) 233.16 681.36 T
259.23 612.37 349.35 627.72 7.68 RR
7 X
V
0 X
N
(traits mirror) 276.52 617.04 T
100.45 509.14 220.49 524.5 7.68 RR
7 X
V
2 H
0 X
N
(mirrors assignment) 113.77 513.82 T
243.54 667.08 246.29 676.69 249.05 667.08 246.29 667.08 4 Y
V
246.29 659.04 246.29 668.08 2 L
0.5 H
N
243 380.56 365.58 395.92 7.68 RR
7 X
V
0 X
N
(traits vectorishMirror) 254.54 385.23 T
117.45 567.98 203.49 583.34 7.68 RR
7 X
V
2 H
0 X
N
(mirrors block) 129.04 572.65 T
102.38 322.21 218.56 337.56 7.68 RR
7 X
V
0 X
N
(mirrors byteV) 115.9 326.88 T
(ector) 180.61 326.88 T
390.27 509.12 500.6 524.48 7.68 RR
7 X
V
0 X
N
(mirrors byteCode) 403.32 513.8 T
397.27 568.48 493.61 583.84 7.68 RR
7 X
V
0 X
N
(mirrors method) 408.51 573.15 T
400.74 390.95 490.14 406.31 7.68 RR
7 X
V
0 X
N
(mirrors mirror) 412.49 395.62 T
111.61 446.52 209.33 461.88 7.68 RR
7 X
V
0 X
N
(mirrors integer) 125.07 451.19 T
118.06 389.74 202.88 405.09 7.68 RR
7 X
V
0 X
N
(mirrors \337oat) 131.48 394.41 T
402.83 448.23 488.04 463.59 7.68 RR
7 X
V
0 X
N
(mirrors slots) 415.53 452.91 T
251.52 306.74 357.06 322.1 7.68 RR
7 X
V
0.5 H
0 X
N
(traits mirrors string) 258.82 311.42 T
399.42 321.96 491.46 337.31 7.68 RR
7 X
V
2 H
0 X
N
(mirrors vector) 411.87 326.63 T
360.1 643.54 370.1 643.69 361.7 638.26 360.9 640.9 4 Y
V
317.29 627.72 361.86 641.19 2 L
0.5 H
N
301.54 486.12 304.29 495.73 307.05 486.12 304.29 486.12 4 Y
V
304.29 395.92 304.29 487.12 2 L
N
301.54 602.76 304.29 612.37 307.05 602.76 304.29 602.76 4 Y
V
304.29 511.09 304.29 603.76 2 L
N
233 388.51 243 388.24 234.38 383.17 233.69 385.84 4 Y
V
160.47 367.38 234.66 386.08 2 L
N
234.83 501.24 244.59 503.41 237.47 496.39 236.15 498.82 4 Y
V
217.46 488.77 237.03 499.29 2 L
N
249.27 620.99 259.23 620.05 250.29 615.57 249.78 618.28 4 Y
V
213.91 611.68 250.77 618.46 2 L
N
357.83 614.77 349.34 620.05 359.34 620.08 358.59 617.42 4 Y
V
383.88 610.5 357.63 617.7 2 L
N
267.1 608.94 276.5 612.37 270.35 604.48 268.73 606.71 4 Y
V
196 554.28 269.54 607.3 2 L
N
336.66 604.5 330.49 612.37 339.9 608.97 338.28 606.74 4 Y
V
411.5 554.3 337.48 607.32 2 L
N
365.88 309.75 357.05 314.44 367.02 315.15 366.45 312.45 4 Y
V
446.26 295.81 365.49 312.64 2 L
N
374.16 383.14 365.57 388.25 375.56 388.47 374.86 385.8 4 Y
V
445.44 367.63 373.91 386.04 2 L
N
241.54 315.21 251.51 314.44 242.65 309.81 242.1 312.51 4 Y
V
159.99 295.92 243.09 312.69 2 L
N
318.77 643.69 421.44 659.04 7.68 RR
7 X
V
0 X
N
(traits indexable) 333.16 648.36 T
254.41 637.86 246.28 643.69 256.26 643.06 255.34 640.46 4 Y
V
291.29 627.72 254.4 640.79 2 L
N
97.14 251.16 223.8 266.51 7.68 RR
7 X
V
2 H
0 X
N
(mirrors canonicalString) 104.31 255.83 T
382.68 251.18 508.2 266.53 7.68 RR
7 X
V
0 X
N
(mirrors immutableString) 387.14 255.85 T
371 496.29 363.98 503.41 373.71 501.09 372.35 498.69 4 Y
V
393.5 486.92 371.49 499.18 2 L
0.5 H
N
254.86 490.7 263.5 495.74 258.84 486.89 256.85 488.79 4 Y
V
204.01 433.94 257.54 489.51 2 L
N
351.29 487.03 346.39 495.75 355.17 490.95 353.23 488.99 4 Y
V
408.5 433.66 352.53 489.68 2 L
N
383.88 598.3 507 613.66 7.68 RR
7 X
V
0 X
N
(traits mirrors method) 395.07 602.97 T
379.11 538.94 511.76 554.3 7.68 RR
7 X
V
0 X
N
(traits mirrors byteCode) 389.88 543.62 T
106.29 598.8 214.65 614.16 7.68 RR
7 X
V
0 X
N
(traits mirrors block) 115.61 603.47 T
91.52 538.93 229.42 554.28 7.68 RR
7 X
V
0 X
N
(traits mirrors assignment) 100.34 543.6 T
102.44 476.8 218.5 492.16 7.68 RR
7 X
V
0 X
N
(traits mirrors integer) 111.64 481.48 T
104.68 419.52 216.26 434.88 7.68 RR
7 X
V
0 X
N
(traits mirrors \337oat) 118.05 424.2 T
392.41 475.09 498.46 490.45 7.68 RR
7 X
V
0 X
N
(traits mirrors slots) 402.1 479.76 T
388.64 418.31 502.23 433.66 7.68 RR
7 X
V
0 X
N
(traits mirrors mirror) 399.06 422.98 T
386.79 352.28 504.09 367.63 7.68 RR
7 X
V
0 X
N
(traits mirrors vector) 398.44 356.95 T
91.28 352.03 229.66 367.38 7.68 RR
7 X
V
0 X
N
(traits mirrors byteV) 102.47 356.7 T
(ector) 194.04 356.7 T
359.94 281 530.94 296.35 7.68 RR
7 X
V
0 X
N
(traits mirrors immutableString) 373.71 285.67 T
79.68 281.01 241.26 296.37 7.68 RR
7 X
V
0 X
N
(traits mirrors canonicalString) 90.88 285.69 T
442.68 588.69 445.44 598.3 448.2 588.69 445.44 588.69 4 Y
V
445.44 583.84 445.44 589.69 2 L
N
442.68 465.48 445.44 475.09 448.2 465.48 445.44 465.48 4 Y
V
445.44 463.59 445.44 466.48 2 L
N
157.66 529.31 160.41 538.93 163.17 529.31 160.41 529.31 4 Y
V
160.41 524.5 160.41 530.31 2 L
N
157.72 589.19 160.47 598.8 163.23 589.19 160.47 589.19 4 Y
V
160.47 583.34 160.47 590.19 2 L
N
442.68 529.33 445.44 538.94 448.2 529.33 445.44 529.33 4 Y
V
445.44 524.48 445.44 530.33 2 L
N
157.72 467.19 160.47 476.8 163.23 467.19 160.47 467.19 4 Y
V
160.47 461.88 160.47 468.19 2 L
N
157.72 409.91 160.47 419.52 163.23 409.91 160.47 409.91 4 Y
V
160.47 405.09 160.47 410.91 2 L
N
442.68 408.7 445.44 418.31 448.2 408.7 445.44 408.7 4 Y
V
445.44 406.31 445.44 409.7 2 L
N
442.68 342.66 445.44 352.28 448.2 342.66 445.44 342.66 4 Y
V
445.44 337.31 445.44 343.66 2 L
N
157.72 342.41 160.47 352.03 163.23 342.41 160.47 342.41 4 Y
V
160.47 337.56 160.47 343.41 2 L
N
157.72 271.4 160.47 281.01 163.23 271.4 160.47 271.4 4 Y
V
160.47 266.51 160.47 272.4 2 L
N
442.68 271.38 445.44 281 448.2 271.38 445.44 271.38 4 Y
V
445.44 266.53 445.44 272.38 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "16" 74
%%Page: "17" 74
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-17) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Mirrors) 508.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0 (Iterating through a mirror returns objects representing each slot of the re\337ected object. The proto-) 71.42 341.46 P
0.06 (types for these objects are: ) 71.42 327.46 P
12 F
0.14 (slots plain) 202.64 327.46 P
4 F
0.06 (, representing an ordinary slot; ) 275.29 327.46 P
12 F
0.14 (slots parent) 425.49 327.46 P
4 F
0.06 (, repre-) 504.73 327.46 P
1.14 (senting a parent slot; ) 71.42 313.46 P
12 F
2.5 (slots argument) 178.57 313.46 P
4 F
1.14 (, representing an ar) 273.35 313.46 P
1.14 (gument slot; and ) 368.46 313.46 P
12 F
2.5 (slots method) 454.83 313.46 P
4 F
1.14 (,) 536.42 313.46 P
0.26 (representing a slot with code. \322Fake\323 slots are objects representing code \050for a method\051, re\337ectee) 71.42 299.46 P
-0.4 (\050for a mirror\051, and vector elements \050for an object vector or byte vector\051. These objects representing) 71.42 285.46 P
(S) 71.42 271.46 T
6 F
(ELF) 78.09 271.46 T
4 F
( slots are de\336ned in ) 97.63 271.46 T
3 F
(slot.self) 193.9 271.46 T
4 F
(.) 230.88 271.46 T
71.42 55.44 539.42 716.11 C
93.12 363.46 517.73 704.11 C
93.12 363.46 517.73 704.11 R
7 X
0 K
V
249.78 647.69 336.05 663.04 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits oddball) 261.77 652.36 T
265.36 680.69 320.47 696.04 7.68 RR
7 X
V
0 X
N
(lobby) 279.79 685.36 T
243.06 610.37 342.77 625.72 7.68 RR
7 X
V
0 X
N
(traits slots plain) 255.06 615.04 T
290.16 671.08 292.92 680.69 295.67 671.08 292.92 671.08 4 Y
V
292.92 663.04 292.92 672.08 2 L
N
290.16 638.08 292.92 647.69 295.67 638.08 292.92 638.08 4 Y
V
292.92 625.72 292.92 639.08 2 L
N
115.44 568.23 224.08 583.58 7.68 RR
7 X
V
0 X
N
(traits slots parent) 127.93 572.9 T
255.49 550.37 378.82 565.73 7.68 RR
7 X
V
0 X
N
(traits slots argument) 267.7 555.04 T
387.74 550.37 500.85 565.73 7.68 RR
7 X
V
0 X
N
(traits slots method) 399.72 555.04 T
166.39 494.3 267.21 509.66 7.68 RR
7 X
V
0 X
N
(traits slots fake) 180.17 498.98 T
106.51 447.7 229.78 463.06 7.68 RR
7 X
V
0 X
N
(traits slots fake code) 118.07 452.37 T
236.09 406.78 378.82 422.13 7.68 RR
7 X
V
0 X
N
(traits slots fake re\337ectee) 248.22 411.45 T
329.71 470.02 498.83 485.38 7.68 RR
7 X
V
0 X
N
(traits slots fake vectorElement) 341 474.69 T
340.87 437.02 487.67 452.38 7.68 RR
7 X
V
2 H
0 X
N
(slots fake vectorElement) 354.43 441.69 T
248.14 373.78 366.76 389.13 7.68 RR
7 X
V
0 X
N
(slots fake re\337ectee) 261.65 378.45 T
119.3 414.7 216.99 430.06 7.68 RR
7 X
V
0 X
N
(slots fake code) 131.5 419.37 T
399.91 517.37 488.68 532.73 7.68 RR
7 X
V
0 X
N
(slots method) 413.15 522.05 T
267.1 517.37 367.21 532.73 7.68 RR
7 X
V
0 X
N
(slots argument) 281.13 522.05 T
127.61 535.23 211.91 550.58 7.68 RR
7 X
V
0 X
N
(slots parent) 141.36 539.9 T
392.21 599.48 468.1 614.83 7.68 RR
7 X
V
0 X
N
(slots plain) 405.73 604.15 T
304.69 397.16 307.45 406.78 310.21 397.16 307.45 397.16 4 Y
V
307.45 389.13 307.45 398.16 2 L
0.5 H
N
165.39 438.09 168.14 447.7 170.9 438.09 168.14 438.09 4 Y
V
168.14 430.06 168.14 439.09 2 L
N
441.54 540.76 444.3 550.37 447.05 540.76 444.3 540.76 4 Y
V
444.3 532.73 444.3 541.76 2 L
N
411.51 460.41 414.27 470.02 417.02 460.41 414.27 460.41 4 Y
V
414.27 452.38 414.27 461.41 2 L
N
314.4 540.76 317.15 550.37 319.91 540.76 317.15 540.76 4 Y
V
317.15 532.73 317.15 541.76 2 L
N
167 558.61 169.76 568.23 172.51 558.61 169.76 558.61 4 Y
V
169.76 550.58 169.76 559.61 2 L
N
234.03 612.35 243.97 613.4 236.09 607.24 235.06 609.79 4 Y
V
169.76 583.58 235.99 610.16 2 L
N
295.11 600.62 292.91 610.37 299.95 603.27 297.53 601.94 4 Y
V
317.15 565.73 297.05 602.82 2 L
N
346.4 604.07 338.63 610.37 348.56 609.14 347.48 606.61 4 Y
V
444.3 565.73 346.56 607 2 L
N
261.47 603.09 268.33 610.37 266.37 600.56 263.92 601.83 4 Y
V
216.8 509.66 264.38 602.71 2 L
N
191.03 489.56 199.83 494.31 194.88 485.62 192.96 487.59 4 Y
V
168.14 463.06 193.68 488.28 2 L
N
228.34 485.96 222.83 494.31 231.92 490.15 230.13 488.06 4 Y
V
307.45 422.13 229.38 488.7 2 L
N
275.16 495.92 267.21 501.99 277.17 501.05 276.16 498.49 4 Y
V
329.71 477.7 275.24 498.85 2 L
N
351.54 613.26 342.76 618.05 352.74 618.64 352.14 615.95 4 Y
V
392.21 607.15 351.17 616.16 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "17" 75
%%Page: "18" 75
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-18) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Strings) 511.1 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix B) 71.42 705.45 T
(Strings) 170.42 705.45 T
4 F
0.48 (Five kinds of basic string representations are implemented: canonical strings, immutable strings,) 71.42 381.63 P
-0.5 (mutable strings, canonicalizable strings, and characters. Strings are de\336ned in ) 71.42 367.63 P
3 F
-0.5 (string.self) 441.82 367.63 P
4 F
-0.5 (, and char-) 489.47 367.63 P
(acters are de\336ned in ) 71.42 353.63 T
3 F
(character) 170.67 353.63 T
(.self) 215.97 353.63 T
4 F
(.) 235.63 353.63 T
3 F
0.66 (Canonical strings.) 89.42 327.63 P
4 F
0.66 ( Canonical strings are registered internally in the virtual machine. The) 178.72 327.63 P
-0.45 (VM guarantees that a given canonical string is the only such canonical string with the same) 89.42 313.63 P
0.17 (vector of bytes, allowing ef) 89.42 299.63 P
0.17 (\336cient tests for equality of canonical strings. String literals are) 221.45 299.63 P
0.65 (canonical strings, and some primitives require canonical strings as ar) 89.42 285.63 P
0.65 (guments. Canonical) 425.5 285.63 P
(strings are immutable.) 89.42 271.63 T
3 F
-0.07 (Immutable strings) 89.42 245.63 P
4 F
-0.07 (. Immutable strings, naturally, are immutable, but are not canonicalized.) 176.3 245.63 P
1.42 (Immutable strings are used in some primitives, such as the result of a ) 89.42 231.63 P
12 F
3.12 (_FloatPrint-) 442.32 231.63 P
-0.46 (String) 89.42 217.63 P
4 F
-0.21 ( primitive, and are used to represent source code and \336le name information in byte) 128.98 217.63 P
(code objects.) 89.42 203.63 T
3 F
-0.37 (Mutable strings.) 89.42 177.63 P
4 F
-0.37 ( Mutable strings may be changed using ) 167.68 177.63 P
12 F
-0.82 (at:Put:) 358.56 177.63 P
4 F
-0.37 (, which takes a character) 404.7 177.63 P
-0.6 (ar) 89.42 163.63 P
-0.6 (gument, or ) 98.53 163.63 P
12 F
-1.31 (at:PutByte:) 152.3 163.63 P
4 F
-0.6 (, which takes an integer ar) 224.81 163.63 P
-0.6 (gument. Sending ) 347.5 163.63 P
12 F
-1.31 (canonicalize) 430.59 163.63 P
4 F
-0.6 ( to) 509.69 163.63 P
-0.31 (a mutable string returns the corresponding canonical string. Sending ) 89.42 149.63 P
12 F
-0.69 (copy) 417.04 149.63 P
4 F
-0.31 ( to any string re-) 443.4 149.63 P
(turns a new mutable string containing the same characters.) 89.42 135.63 T
3 F
0.95 (Canonicalizable strings.) 89.42 109.63 P
4 F
0.95 ( Canonicalizable strings dif) 207.65 109.63 P
0.95 (fer from mutable strings only in that) 341.86 109.63 P
0.53 (they cache their canonical versions in response to the ) 89.42 95.63 P
12 F
1.16 (canonicalize) 352.32 95.63 P
4 F
0.53 ( message. Sending) 431.42 95.63 P
0.29 (the ) 89.42 81.63 P
12 F
0.63 (=) 107.36 81.63 P
4 F
0.29 ( message also causes caching of the canonical version, so future equals comparisons) 113.96 81.63 P
71.42 55.44 539.42 716.11 C
71.42 403.63 539.42 700.11 C
70.96 403.63 539.89 700.11 R
7 X
0 K
V
232.63 603.87 312.55 619.22 7.68 RR
V
0.5 H
2 Z
0 X
N
23 F
(traits string) 245.73 608.54 T
124.24 556.16 255.17 571.51 7.68 RR
7 X
V
0 X
N
(traits immutableString) 136.59 560.83 T
80.85 511.52 211.23 526.87 7.68 RR
7 X
V
0 X
N
(traits canonicalString) 95.06 516.19 T
355.68 462.53 486.89 477.88 7.68 RR
7 X
V
2 H
0 X
N
(canonicalizableString) 369.39 467.2 T
409.5 525.57 504.82 540.93 7.68 RR
7 X
V
0 X
N
(mutableString) 423.27 530.25 T
290.99 556.16 406.72 571.51 7.68 RR
7 X
V
0.5 H
0 X
N
(traits mutableString) 301.53 560.83 T
346.07 493.85 496.5 509.2 7.68 RR
7 X
V
0 X
N
(traits canonicalizableString) 355.95 498.52 T
80.09 477.77 116.56 493.12 7.68 RR
7 X
V
2 H
0 X
N
(\325) 95.98 482.44 T
(\325) 98.22 482.44 T
187.99 441.56 290.12 456.91 7.68 RR
7 X
V
0.5 H
0 X
N
(traits character) 202.73 446.23 T
398.12 551.33 389.36 556.16 399.35 556.71 398.74 554.02 4 Y
V
457.16 540.93 397.77 554.24 2 L
N
418.53 484.23 421.29 493.85 424.04 484.23 421.29 484.23 4 Y
V
421.29 477.88 421.29 485.23 2 L
N
368.53 547.97 362.78 556.16 371.99 552.26 370.26 550.12 4 Y
V
421.29 509.2 369.49 550.74 2 L
N
168.43 552.55 177.76 556.16 171.76 548.16 170.1 550.36 4 Y
V
138.76 526.87 170.9 550.96 2 L
N
104.64 505.69 112.76 511.52 108.96 502.27 106.8 503.98 4 Y
V
98.32 493.12 107.42 504.76 2 L
N
(...) 124.95 481.44 T
214.78 546.36 216.76 556.16 220.28 546.8 217.53 546.58 4 Y
V
224.76 456.91 217.46 547.57 2 L
N
201.38 410.81 276.73 426.16 7.68 RR
7 X
V
2 H
0 X
N
(character) 216.16 415.48 T
236.55 475.8 338.69 491.16 7.68 RR
7 X
V
0.5 H
0 X
N
(traits oddball) 256.48 480.48 T
236.3 431.94 239.05 441.56 241.81 431.94 239.05 431.94 4 Y
V
239.05 426.16 239.05 432.94 2 L
N
266.48 471.43 275.47 475.81 270.17 467.33 268.33 469.38 4 Y
V
254.48 456.91 269.08 470.04 2 L
N
242.96 601.9 252.76 603.87 245.49 597 244.23 599.45 4 Y
V
189.7 571.51 245.11 599.91 2 L
N
301.09 596.57 294.25 603.87 303.92 601.3 302.5 598.93 4 Y
V
348.85 571.51 301.65 599.44 2 L
N
227.82 644.04 317.36 659.4 7.68 RR
7 X
V
0 X
N
(traits byteV) 233.2 648.72 T
(ector) 287.55 648.72 T
269.83 634.43 272.59 644.04 275.35 634.43 272.59 634.43 4 Y
V
272.59 619.22 272.59 635.43 2 L
N
269.45 669.15 271.83 678.86 274.95 669.37 272.2 669.26 4 Y
V
272.59 659.4 272.17 670.26 2 L
N
219.02 683.33 326.16 692.26 R
7 X
V
5 F
0 X
(see section II-2.6.4) 226.18 684.92 T
241.4 520.26 336.71 535.61 7.68 RR
7 X
V
2 H
0 X
N
23 F
(immutableString) 249.37 524.93 T
242.56 550.17 234.55 556.16 244.51 555.33 243.54 552.75 4 Y
V
289.05 535.61 242.61 553.1 2 L
0.5 H
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "18" 76
%%Page: "19" 76
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-19) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Strings) 511.1 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.44 (will be faster \050because equality tests of canonical strings is relatively fast\051. Canonicalizable) 89.42 708.11 P
(strings are not currently used in the rest of the system.) 89.42 694.11 T
3 F
0.45 (Characters) 89.42 668.11 P
4 F
0.45 (. There are 256 character objects in the S) 143.39 668.11 P
6 F
0.41 (ELF) 343.12 668.11 P
4 F
0.45 ( universe. They are all contained) 362.66 668.11 P
1.97 (in a 256-element vector named ) 89.42 654.11 P
12 F
4.33 (ascii) 250.83 654.11 P
4 F
1.97 (, which indexes them according to their ASCII) 283.79 654.11 P
-0.32 (codes. Characters behave like immutable strings of length 1, with the addition of ) 89.42 640.11 P
12 F
-0.71 (asInte-) 475.28 640.11 P
-0.52 (ger) 89.42 626.11 P
4 F
-0.24 (, which returns a character) 108.72 626.11 P
-0.24 (\325) 235.1 626.11 P
-0.24 (s ASCII value. The opposite of ) 238.43 626.11 P
12 F
-0.52 (asInteger) 389.25 626.11 P
4 F
-0.24 ( is ) 448.57 626.11 P
12 F
-0.52 (asCharac-) 462.1 626.11 P
4.44 (ter) 89.42 612.11 P
4 F
2.02 (, which can be sent to an integer between 0 and 255 to obtain the corresponding) 108.72 612.11 P
(character object.) 89.42 598.11 T
-0.27 (The printing convention for strings encode their canonical/canonicalizable status. The leading sin-) 71.42 572.11 P
0.25 (gle quote is a backquote \050\324) 71.42 558.11 P
12 F
0.56 (\324) 199.6 558.11 P
4 F
0.25 (\325\051 if the string is canonicalizable, and a regular quote \050\324) 206.19 558.11 P
12 F
0.56 (\325) 472.85 558.11 P
4 F
0.25 (\325\051 otherwise.) 478.55 558.11 P
0.6 (The trailing single quote is a backquote if the string is canonical, and a regular quote otherwise.) 71.42 544.11 P
-0.54 (Thus, string literals print with a pair of backquotes, while normal mutable strings print with regular) 71.42 530.11 P
(quotes.) 71.42 516.11 T
FMENDPAGE
%%EndPage: "19" 77
%%Page: "20" 77
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-20) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Other objects in the SELF world) 409.23 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix C) 71.42 705.45 T
(Other objects in the S) 170.42 705.45 T
25 F
(ELF) 318.77 705.45 T
9 F
( world) 347.95 705.45 T
4 F
(There are many objects in the base S) 71.42 678.11 T
6 F
(ELF) 247.62 678.11 T
4 F
( world that are not discussed in detail in this document.) 267.15 678.11 T
3 F
(Benchmarks.) 89.42 652.11 T
4 F
( ) 151.71 652.11 T
(The Stanford benchmarks, the Richards benchmark, and others.) 154.7 652.11 T
3 F
(T) 89.42 626.11 T
(ests.) 94.99 626.11 T
4 F
( A test suite that exercises much of the system.) 115.98 626.11 T
3 F
(Pixr) 89.42 600.11 T
(ects.) 109.63 600.11 T
4 F
( Access to the Sun pixrect library for low-level graphics.) 131.28 600.11 T
3 F
(Parser) 89.42 574.11 T
(.) 122.07 574.11 T
4 F
( A parser that parses an old version of S) 125.07 574.11 T
6 F
(ELF) 316.59 574.11 T
4 F
( syntax.) 336.12 574.11 T
3 F
0.11 (Graphics) 89.42 548.11 P
0.11 ( and the prototype user interface.) 134.06 548.11 P
4 F
0.11 ( These objects support the prototype user inter-) 294.5 548.11 P
0.38 (face \050see Appendix D\051. The code in these objects is not particularly well-factored; do not) 89.42 534.11 P
(consider this subsystem as an example of good S) 89.42 520.11 T
6 F
(ELF) 323.94 520.11 T
4 F
( programming.) 343.48 520.11 T
FMENDPAGE
%%EndPage: "20" 78
%%Page: "21" 78
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-21) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(The SELF prototype user interface) 400.64 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix D) 71.42 705.45 T
(The S) 170.42 705.45 T
25 F
(ELF) 209.97 705.45 T
9 F
( pr) 239.14 705.45 T
(ototype user interface) 258.85 705.45 T
4 F
-0.32 (Included in the S) 71.42 678.11 P
6 F
-0.29 (ELF) 152.08 678.11 P
4 F
-0.32 ( world is a prototype of a user interface for S) 171.62 678.11 P
6 F
-0.29 (ELF) 383.59 678.11 P
4 F
-0.32 ( [CU90]. This prototype \050the) 403.12 678.11 P
-0.23 (\322ui\323\051 serves as an inspector) 71.42 664.11 P
-0.23 (, allowing browsing through the S) 201.25 664.11 P
6 F
-0.21 (ELF) 363.35 664.11 P
4 F
-0.23 ( world by pointing at objects and) 382.89 664.11 P
0.44 (clicking. The ui currently does not support object creation, message sending, or editing capabili-) 71.42 650.11 P
-0.52 (ties; it has been developed to explore some ideas in user interfaces for programming environments,) 71.42 636.11 P
(and in its present form is not intended to serve as a full-\337edged environment for S) 71.42 622.11 T
6 F
(ELF) 464.16 622.11 T
4 F
(.) 482.73 622.11 T
1.19 (The ui presents S) 71.42 596.11 P
6 F
1.09 (ELF) 157.95 596.11 P
4 F
1.19 ( objects as three-dimensional boxes \337oating in their own arti\336cial reality) 177.49 596.11 P
1.19 (.) 536.42 596.11 P
-0.4 (Slots of an object are depicted as wide boxes on the face of the object, and the contents of each slot) 71.42 582.11 P
0.02 (are smaller boxes on the face of the slots. The relationship between objects and the slots that con-) 71.42 568.11 P
0.37 (tain them is shown by arrows from the slots pointing to the objects. Objects can be moved about) 71.42 554.11 P
1.45 (on the screen, the contents of their slots can be examined, and they can be removed from the) 71.42 540.11 P
(screen.) 71.42 526.11 T
3 F
0.15 (Requir) 71.42 500.11 P
0.15 (ements.) 103.63 500.11 P
4 F
0.15 ( The ui does not run under any window system: it must be started from the console) 139.93 500.11 P
0.22 (of the machine that S) 71.42 486.11 P
6 F
0.2 (ELF) 174.21 486.11 P
4 F
0.22 ( is running on. Because the ui accesses /dev/mouse and /dev/fb directly) 193.75 486.11 P
0.22 (,) 536.42 486.11 P
-0.34 (it will con\337ict with a running window system. The ui will work with either a monochrome or an 8-) 71.42 472.11 P
-0.19 (bit color frame buf) 71.42 458.11 P
-0.19 (fer) 160.91 458.11 P
-0.19 (. A GX frame buf) 173.56 458.11 P
-0.19 (fer is recommended for color; the ui may have poor perfor-) 257.53 458.11 P
(mance on lower color frame buf) 71.42 444.11 T
(fer models.) 225.41 444.11 T
3 F
0.15 (Con\336guration) 71.42 418.11 P
4 F
0.15 (. By default, the ui uses /dev/fb. If a dif) 138.73 418.11 P
0.15 (ferent frame buf) 328.44 418.11 P
0.15 (fer is to be used, add a con-) 406.45 418.11 P
1.65 (\336guration table entry for the host running S) 71.42 404.11 P
6 F
1.51 (ELF) 291.16 404.11 P
4 F
1.65 (, with a slot ) 309.73 404.11 P
12 F
3.62 (frameBufferName) 375.29 404.11 P
4 F
1.65 ( containing a) 474.17 404.11 P
-0.38 (string naming the appropriate frame buf) 71.42 390.11 P
-0.38 (fer) 260.84 390.11 P
-0.38 (. In addition, the default sizes for fonts used in the ui are) 273.49 390.11 P
-0.25 (reasonable for a regular density monitor) 71.42 376.11 P
-0.25 (. For high density frame buf) 261.72 376.11 P
-0.25 (fers, alter the con\336guration ta-) 394.85 376.11 P
0.13 (ble entry for the host to include a slot ) 71.42 362.11 P
12 F
0.28 (useBigFonts) 254.79 362.11 P
4 F
0.13 ( containing ) 327.3 362.11 P
12 F
0.28 (true) 384.18 362.11 P
4 F
0.13 (. See section II-2.8 and the) 410.55 362.11 P
(\336le ) 71.42 348.11 T
3 F
(con\336guration.self) 89.75 348.11 T
4 F
(.) 174.04 348.11 T
3 F
0.31 (Starting the ui.) 71.42 322.11 P
4 F
0.31 ( The ui coexists with the S) 143.69 322.11 P
6 F
0.29 (ELF) 272.84 322.11 P
4 F
0.31 ( system monitor\321it is useful to start up the system) 292.38 322.11 P
-0.38 (monitor \050by sending the message) 71.42 308.11 P
12 F
-0.83 ( _Spy: true) 228.48 308.11 P
4 F
-0.38 (\051 beforehand so that the progress of the virtual ma-) 299.34 308.11 P
0.16 (chine can be viewed while using the ui. Sending the message ) 71.42 294.11 P
12 F
0.34 (ui start) 368.92 294.11 P
4 F
0.16 ( invokes the S) 421.99 294.11 P
6 F
0.14 (ELF) 490.09 294.11 P
4 F
0.16 ( arti\336-) 509.62 294.11 P
0.31 (cial reality) 71.42 280.11 P
0.31 (, with one object visible, the lobby) 121.91 280.11 P
0.31 (. The mouse-controlled cursor is at the center of the) 288.87 280.11 P
-0.13 (screen. T) 71.42 266.11 P
-0.13 (o start the ui on an arbitrary object ) 114.41 266.11 P
12 F
-0.29 (obj) 281.89 266.11 P
4 F
-0.13 (, send the message ) 301.67 266.11 P
12 F
-0.29 (ui startWith: obj) 393.4 266.11 P
4 F
-0.13 (. T) 504.88 266.11 P
-0.13 (o in-) 517.24 266.11 P
0.4 (voke the ui on the result of every expression typed in at the prompt, read in the script \336le ) 71.42 252.11 P
3 F
0.4 (printI-) 508.11 252.11 P
0.76 (tUI.self) 71.42 238.11 P
4 F
0.76 (, which replaces the usual ) 107.07 238.11 P
12 F
1.67 (printIt) 237.42 238.11 P
4 F
0.76 ( method with one that starts the ui with the result of) 283.57 238.11 P
12 F
(doIt) 71.42 224.11 T
4 F
(.) 97.79 224.11 T
3 F
-0.26 (Moving objects.) 71.42 198.11 P
4 F
-0.26 ( Objects can be moved about on the screen by pointing to the face of the object \050or) 147.78 198.11 P
1.17 (the face of one of its slots\051, pressing down and holding the left mouse button, and moving the) 71.42 184.11 P
(mouse. Letting go of the left mouse button drops the object.) 71.42 170.11 T
3 F
-0.46 (Examining slots.) 71.42 144.11 P
4 F
-0.46 ( Pressing down the left mouse button on the contents of a slot \050the \322contents box\323\051) 150.92 144.11 P
-0.11 (causes the object in the slot to display itself on the screen \050\322sprout\323\051, connected to the slot with an) 71.42 130.11 P
0.24 (arrow) 71.42 116.11 P
0.24 (. Sprouting is simply a special case of grabbing; after sprouting an object, the object can be) 98.61 116.11 P
-0.5 (moved immediately before releasing the mouse button. Navigating in the S) 71.42 102.11 P
6 F
-0.46 (ELF) 426.48 102.11 P
4 F
-0.5 ( world is performed) 446.01 102.11 P
0.48 (by traversing slots to reach the desired object \050the lobby and the globals object are good starting) 71.42 88.11 P
(points\051.) 71.42 74.11 T
FMENDPAGE
%%EndPage: "21" 79
%%Page: "22" 79
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-22) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(The SELF prototype user interface) 400.64 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
3 F
0 X
-0.5 (Removing objects fr) 71.42 708.11 P
-0.5 (om the scr) 165.92 708.11 P
-0.5 (een.) 214.45 708.11 P
4 F
-0.5 ( Clicking the right mouse button on an object removes the object) 234.09 708.11 P
0.42 (from the screen. Clicking the right mouse button on a sprouted contents box simply removes the) 71.42 694.11 P
(arrow between the slot and the object contained in the slot.) 71.42 680.11 T
3 F
0.75 (\322Fake\323 slots.) 71.42 654.11 P
4 F
0.75 ( The ui permits access to certain parts of vectors, methods, and mirrors by way of) 137.48 654.11 P
-0.32 (\322fake\323 slots. For example in the case of an object vector or a byte vector) 71.42 640.11 P
-0.32 (, in addition to showing its) 413.11 640.11 P
0.43 (regular slots, the elements of the vector are shown as fake slots. The fake slot containing the nth) 71.42 626.11 P
-0.03 (element has the name ) 71.42 612.11 P
12 F
-0.06 (<n>) 177.9 612.11 P
4 F
-0.03 (. A method object has a fake slot containing its bytecode object. A mir-) 197.68 612.11 P
(ror has a fake slot containing the object it re\337ects.) 71.42 598.11 T
3 F
-0.31 (Refer) 71.42 572.11 P
-0.31 (ence buttons.) 96.96 572.11 P
4 F
-0.31 ( Objects in the ui can be queried for all references to the object or all children of) 159.94 572.11 P
-0.11 (the object. Clicking the left mouse button on the small button in the upper left corner of the object) 71.42 558.11 P
0.55 (causes a vector containing objects that contain the original object in one of their slots. Although) 71.42 544.11 P
0.52 (the primitive that is invoked \336nds all such objects, only a limited number is shown in the vector) 71.42 530.11 P
-0.09 (returned by the ui, in the interest of space. Clicking the left mouse button on the small button near) 71.42 516.11 P
0.17 (the bottom of the object does almost the same thing, except it restricts the query to objects which) 71.42 502.11 P
-0.35 (contain the original object in one of their ) 71.42 488.11 P
3 F
-0.35 (par) 267.84 488.11 P
-0.35 (ent) 284.06 488.11 P
4 F
-0.35 ( slots\321thus, this returns a vector of children of the) 298.71 488.11 P
-0.1 (original object. The top button near the slot names are for returning a vector of objects that imple-) 71.42 474.11 P
0.32 (ment the corresponding selector) 71.42 460.11 P
0.32 (, that is, have a slot with the same name. The bottom button near) 225.46 460.11 P
-0.23 (the slot names are for returning a vector of objects that send this selector as a message. The size of) 71.42 446.11 P
0.55 (these vectors is restricted by the ui \050size determined by the integer in the slot ) 71.42 432.11 P
12 F
1.22 (limit) 450.48 432.11 P
4 F
0.55 ( in ) 483.44 432.11 P
12 F
1.22 (traits) 499.87 432.11 P
(enumBox) 71.42 418.11 T
4 F
(\051.) 117.57 418.11 T
3 F
0.67 (Changing colors.) 71.42 392.11 P
4 F
0.67 ( On a system with a color frame buf) 155.38 392.11 P
0.67 (fer) 333.04 392.11 P
0.67 (, pressing down and holding the middle) 345.87 392.11 P
-0.12 (mouse button causes the cursor to enter color space. \050On monochrome systems, the middle mouse) 71.42 378.11 P
-0.1 (button has no function.\051 Color space allows the colors of the ui to be changed interactively) 71.42 364.11 P
-0.1 (. What-) 503.55 364.11 P
-0.44 (ever the cursor is pointing at when color space is entered is what will be changed \050this includes, for) 71.42 350.11 P
0.34 (example, the background, the boxes, the text on the boxes, and the arrows\051. Entering color space) 71.42 336.11 P
-0.38 (transports the cursor to the absolute location of the current color) 71.42 322.11 P
-0.38 (. The horizontal axis measures hue) 374.77 322.11 P
0.91 (and the vertical axis measures brightness. Pressing the left button down in while in color space) 71.42 308.11 P
1.3 (\050and keeping the ) 71.42 294.11 P
1.3 (middle button down\051 switches the vertical axis from brightness to saturation.) 158.27 294.11 P
0.02 (Moving the cursor in color space interactively changes the color of the tar) 71.42 280.11 P
0.02 (get elements. Releasing) 425.8 280.11 P
(the middle button leaves color space.) 71.42 266.11 T
3 F
-0.31 (Leaving the ui) 71.42 240.11 P
4 F
-0.31 (. Pressing all three mouse buttons down at once and releasing them leaves the ui. In-) 139.42 240.11 P
(voking the ui again starts with a single object.) 71.42 226.11 T
FMENDPAGE
%%EndPage: "22" 80
%%Page: "23" 80
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-23) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix E) 71.42 705.45 T
(Selector glossary) 170.42 705.45 T
4 F
(This glossary contains entries for common and useful selectors. It is by no means exhaustive.) 71.42 678.11 T
71.42 642.12 539.42 650.11 C
71.42 648.1 539.42 648.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Copying) 71.42 654.11 T
4 F
(clone) 71.42 632.12 T
(shallow copy) 197.42 632.12 T
(copy) 71.42 618.12 T
(copy) 197.42 618.12 T
(, possibly with embedded copies or initialization) 219.96 618.12 T
71.42 582.13 539.42 590.12 C
71.42 588.1 539.42 588.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Comparing) 71.42 594.12 T
71.42 554.14 539.42 562.13 C
71.42 560.11 539.42 560.11 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Equality) 71.42 566.13 T
4 F
(=) 71.42 544.14 T
(equal) 197.42 544.14 T
(!=) 71.42 530.14 T
(not equal) 197.42 530.14 T
(hash) 71.42 516.14 T
(hash value) 197.42 516.14 T
(==) 71.42 502.14 T
(identical \050behaviorally indistinguishable\051) 197.42 502.14 T
(!==) 71.42 488.14 T
(not identical) 197.42 488.14 T
71.42 456.14 539.42 464.14 C
71.42 462.12 539.42 462.12 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Or) 71.42 468.14 T
(der) 84.31 468.14 T
(ed) 99.85 468.14 T
4 F
(<) 71.42 446.14 T
(less than) 314.42 446.14 T
(>) 71.42 432.14 T
(greater than) 314.42 432.14 T
(<=) 71.42 418.14 T
(less than or equal) 314.42 418.14 T
(>=) 71.42 404.14 T
(greater than or equal) 314.42 404.14 T
(compare:IfLess:Equal:Greater:) 71.42 390.14 T
(three way comparison) 314.42 390.14 T
(compare:IfLess:Equal:Greater:Incomparable:) 71.42 376.14 T
(three way comparison with failure) 314.42 376.14 T
71.42 340.15 539.42 348.14 C
71.42 346.13 539.42 346.13 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Double dispatching) 71.42 352.14 T
4 F
(equals*:) 71.42 330.15 T
(\050e.g., equalsInteger\051 double dispatching for equality comparisons) 197.42 330.15 T
71.42 294.16 539.42 302.15 C
71.42 300.14 539.42 300.14 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Numeric operations) 71.42 306.15 T
4 F
(+) 71.42 284.16 T
(addition) 197.42 284.16 T
(-) 71.42 270.16 T
(subtraction) 197.42 270.16 T
(*) 71.42 256.16 T
(multiplication) 197.42 256.16 T
(/) 71.42 242.16 T
(division) 197.42 242.16 T
(%) 71.42 228.16 T
(mod) 197.42 228.16 T
(absoluteV) 71.42 214.16 T
(alue) 118.73 214.16 T
(absolute value) 197.42 214.16 T
(inverse) 71.42 200.16 T
(multiplicative inverse) 197.42 200.16 T
(negate) 71.42 186.16 T
(additive inverse) 197.42 186.16 T
(ceil) 71.42 172.16 T
(round towards positive in\336nity) 197.42 172.16 T
(\337oor) 71.42 158.16 T
(round towards negative in\336nity) 197.42 158.16 T
(truncate) 71.42 144.16 T
(truncate towards zero) 197.42 144.16 T
(round) 71.42 130.16 T
(round) 197.42 130.16 T
(asFloat) 71.42 116.16 T
(coerce to \337oat) 197.42 116.16 T
(asInteger) 71.42 102.16 T
(coerce to integer) 197.42 102.16 T
(double) 71.42 88.16 T
(multiply by two) 197.42 88.16 T
(quadruple) 71.42 74.16 T
(multiply by four) 197.42 74.16 T
(half) 71.42 60.16 T
(divide by two) 197.42 60.16 T
FMENDPAGE
%%EndPage: "23" 81
%%Page: "24" 81
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-24) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(quarter) 71.42 708.11 T
(divide by four) 197.42 708.11 T
(max:) 71.42 694.11 T
(maximum) 197.42 694.11 T
(mean:) 71.42 680.11 T
(mean) 197.42 680.11 T
(min:) 71.42 666.11 T
(minimum) 197.42 666.11 T
(pred) 71.42 652.11 T
(predecessor) 197.42 652.11 T
(predecessor) 71.42 638.11 T
(predecessor) 197.42 638.11 T
(succ) 71.42 624.11 T
(successor) 197.42 624.11 T
(successor) 71.42 610.11 T
(successor) 197.42 610.11 T
(power:) 71.42 596.11 T
(raise to power) 197.42 596.11 T
(squared) 71.42 582.11 T
(square) 197.42 582.11 T
(squareRoot) 71.42 568.11 T
(square root) 197.42 568.11 T
(sign) 71.42 554.11 T
(signum \050-1, 0, 1\051) 197.42 554.11 T
(factorial) 71.42 540.11 T
(factorial) 197.42 540.11 T
71.42 504.12 539.42 512.11 C
71.42 510.1 539.42 510.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Bitwise operations) 71.42 516.11 T
4 F
(&&) 71.42 494.12 T
(and) 197.42 494.12 T
(||) 71.42 480.12 T
(or) 197.42 480.12 T
(^^) 71.42 466.12 T
(xor) 197.42 466.12 T
(complement) 71.42 452.12 T
(bitwise complement) 197.42 452.12 T
(<<) 71.42 438.12 T
(logical left shift) 197.42 438.12 T
(>>) 71.42 424.12 T
(logical right shift) 197.42 424.12 T
(<+) 71.42 410.12 T
(arithmetic left shift) 197.42 410.12 T
(+>) 71.42 396.12 T
(arithmetic right shift) 197.42 396.12 T
71.42 360.13 539.42 368.12 C
71.42 366.1 539.42 366.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Logical operations) 71.42 372.12 T
4 F
(&&) 71.42 350.13 T
(and) 197.42 350.13 T
(||) 71.42 336.13 T
(or) 197.42 336.13 T
(^^) 71.42 322.13 T
(xor) 197.42 322.13 T
(not) 71.42 308.13 T
(logical complement) 197.42 308.13 T
71.42 272.14 539.42 280.13 C
71.42 278.11 539.42 278.11 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Pairing) 71.42 284.13 T
4 F
(@) 71.42 262.14 T
(point construction \050receiver and ar) 197.42 262.14 T
(gument are integers\051) 362.4 262.14 T
(@@) 71.42 248.14 T
(extent \050size\051 construction \050receiver and ar) 197.42 248.14 T
(gument are integers\051) 396.7 248.14 T
(#) 71.42 234.14 T
(rectangle construction \050receiver and ar) 197.42 234.14 T
(gument are points\051) 381.7 234.14 T
(##) 71.42 220.14 T
(rectangle construction \050receiver is a point, ar) 197.42 220.14 T
(gument is an extent\051) 411.36 220.14 T
71.42 184.14 539.42 192.14 C
71.42 190.12 539.42 190.12 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Printing) 71.42 196.14 T
4 F
(print) 71.42 174.14 T
(print on stdout) 197.42 174.14 T
(printLine) 71.42 160.14 T
(print with trailing newline) 197.42 160.14 T
(printString) 71.42 146.14 T
(return a string label) 197.42 146.14 T
(printStringDepth:) 71.42 132.14 T
(return a string label with depth limitation request) 197.42 132.14 T
(printStringSize:) 71.42 118.14 T
(return a string label with number of characters limitation request) 197.42 118.14 T
(printStringSize:Depth:) 71.42 104.14 T
(return a string label with depth and size limitation request) 197.42 104.14 T
FMENDPAGE
%%EndPage: "24" 82
%%Page: "25" 82
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-25) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
71.42 696.12 539.42 704.11 C
71.42 702.1 539.42 702.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Naming) 71.42 708.11 T
4 F
(inspect:) 71.42 686.12 T
(print the slots of the object) 197.42 686.12 T
(inspect:Slot:) 71.42 672.12 T
(print the contents of a slot of an object) 197.42 672.12 T
(inferName) 71.42 658.12 T
(infer a string name for the mirror receiver) 197.42 658.12 T
(\325) 398.03 658.12 T
(s re\337ectee) 401.36 658.12 T
(name:) 71.42 644.12 T
(return a string name for the ar) 197.42 644.12 T
(gument object \050use name inferencer\051) 340.42 644.12 T
(name:Depth:) 71.42 630.12 T
(return a string name with depth limitation request) 197.42 630.12 T
(name:Size:) 71.42 616.12 T
(return a string name with size limitation request) 197.42 616.12 T
(name:Size:Depth:) 71.42 602.12 T
(return a string name with size and depth limitation request) 197.42 602.12 T
(re\336ll) 71.42 588.12 T
(re\336ll the path cache) 197.42 588.12 T
(thisObjectPrints) 71.42 574.12 T
3.56 (name inferencer looks for this slot to determine whether to send) 197.42 574.12 P
12 F
(printString) 197.42 560.12 T
4 F
( to this object) 269.93 560.12 T
71.42 524.13 539.42 532.12 C
71.42 530.1 539.42 530.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Contr) 71.42 536.12 T
(ol) 101.85 536.12 T
71.42 496.14 539.42 504.13 C
71.42 502.11 539.42 502.11 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Selection) 71.42 508.13 T
4 F
(ifT) 71.42 486.14 T
(rue:) 85.66 486.14 T
(evaluate ar) 197.42 486.14 T
(gument if receiver is true) 249.49 486.14 T
(ifFalse:) 71.42 472.14 T
(evaluate ar) 197.42 472.14 T
(gument if receiver is false) 249.49 472.14 T
(ifT) 71.42 458.14 T
(rue:False:) 85.66 458.14 T
(evaluate \336rst ar) 197.42 458.14 T
(g if true, second ar) 271.15 458.14 T
(g if false) 360.52 458.14 T
(ifFalse:T) 71.42 444.14 T
(rue:) 114.31 444.14 T
(evaluate \336rst ar) 197.42 444.14 T
(g if false, second ar) 271.15 444.14 T
(g if true) 364.52 444.14 T
71.42 412.14 539.42 420.14 C
71.42 418.12 539.42 418.12 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Local exiting) 71.42 424.14 T
4 F
(exit) 71.42 402.14 T
(exit block and return nil if block\325) 197.42 402.14 T
(s ar) 355.99 402.14 T
(gument is evaluated) 372.76 402.14 T
(exitV) 71.42 388.14 T
(alue) 96.74 388.14 T
(exit block and return a value if block\325) 197.42 388.14 T
(s ar) 377.62 388.14 T
(gument is evaluated) 394.39 388.14 T
71.42 356.15 539.42 364.14 C
71.42 362.13 539.42 362.13 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Basic looping) 71.42 368.14 T
4 F
(loop) 71.42 346.15 T
(repeat the block forever) 197.42 346.15 T
(loopExit) 71.42 332.15 T
(repeat the block until ar) 197.42 332.15 T
(gument is evaluated; then exit and return nil) 311.12 332.15 T
(loopExitV) 71.42 318.15 T
(alue) 120.07 318.15 T
-0.41 (repeat the block until ar) 197.42 318.15 P
-0.41 (gument is evaluated; then exit and return a value) 309.5 318.15 P
71.42 286.16 539.42 294.15 C
71.42 292.14 539.42 292.14 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Pr) 71.42 298.15 T
(e-test looping) 82.97 298.15 T
4 F
(whileT) 71.42 276.16 T
(rue) 104.98 276.16 T
(repeat the receiver until it evaluates to true) 197.42 276.16 T
(whileFalse) 71.42 262.16 T
(repeat the receiver until it evaluates to false) 197.42 262.16 T
(whileT) 71.42 248.16 T
(rue:) 104.98 248.16 T
(repeat the receiver and ar) 197.42 248.16 T
(gument until receiver evaluates to true) 318.41 248.16 T
(whileFalse:) 71.42 234.16 T
(repeat the receiver and ar) 197.42 234.16 T
(gument until receiver evaluates to false) 318.41 234.16 T
71.42 202.17 539.42 210.16 C
71.42 208.14 539.42 208.14 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Post-test looping) 71.42 214.16 T
4 F
(untilT) 71.42 192.17 T
(rue:) 100.33 192.17 T
(repeat the receiver and ar) 197.42 192.17 T
(gument until ar) 318.41 192.17 T
(gument evaluates to true) 391.49 192.17 T
(untilFalse:) 71.42 178.17 T
(repeat the receiver and ar) 197.42 178.17 T
(gument until ar) 318.41 178.17 T
(gument evaluates to false) 391.49 178.17 T
71.42 146.18 539.42 154.17 C
71.42 152.15 539.42 152.15 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Iterators) 71.42 158.17 T
4 F
(do:) 71.42 136.18 T
(iterate, passing each element to the ar) 197.42 136.18 T
(gument block) 377.4 136.18 T
(to:By:Do:) 71.42 122.18 T
(iterate, with stepping) 197.42 122.18 T
(to:Do:) 71.42 108.18 T
(iterate forward) 197.42 108.18 T
(upT) 71.42 94.18 T
(o:By:Do:) 89.91 94.18 T
(iterate forward, without last element, with stepping) 197.42 94.18 T
(upT) 71.42 80.18 T
(o:Do:) 89.91 80.18 T
(iterate forward, without last element) 197.42 80.18 T
(downT) 71.42 66.18 T
(o:By:Do:) 104.56 66.18 T
(reverse iterate, with stepping) 197.42 66.18 T
FMENDPAGE
%%EndPage: "25" 83
%%Page: "26" 83
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-26) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(downT) 71.42 708.11 T
(o:Do:) 104.56 708.11 T
(reverse iterate) 197.42 708.11 T
(to:BinarySearchBySignOf:IfAbsent:) 71.42 694.11 T
(binary search) 197.42 680.11 T
71.42 648.12 539.42 656.11 C
71.42 654.1 539.42 654.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Block evaluation) 71.42 660.11 T
4 F
(value[:{W) 71.42 638.12 T
(ith:}]) 121.33 638.12 T
(evaluate block, passing ar) 197.42 638.12 T
(guments) 321.11 638.12 T
71.42 602.13 539.42 610.12 C
71.42 608.1 539.42 608.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Collections) 71.42 614.12 T
71.42 574.14 539.42 582.13 C
71.42 580.11 539.42 580.11 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Adding) 71.42 586.13 T
4 F
(add:) 71.42 564.14 T
(add ar) 197.42 564.14 T
(gument element to collection receiver) 226.84 564.14 T
(add:W) 71.42 550.14 T
(ithKey:) 102.92 550.14 T
(add key-value pair) 197.42 550.14 T
(addAll:) 71.42 536.14 T
(add all elements of ar) 197.42 536.14 T
(gument to receiver) 300.46 536.14 T
(at:Put:) 71.42 522.14 T
(add key-value pair) 197.42 522.14 T
(at:Put:IfAbsent:) 71.42 508.14 T
(add key-value pair) 197.42 508.14 T
(, evaluating block if absent) 286.2 508.14 T
(copyAddAll:) 71.42 494.14 T
(return a new collection with the same elements) 197.42 494.14 T
71.42 462.14 539.42 470.14 C
71.42 468.12 539.42 468.12 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Accessing) 71.42 474.14 T
4 F
(at:) 71.42 452.14 T
(return element ) 197.42 452.14 T
3 F
(n) 270.03 452.14 T
4 F
(at:IfAbsent:) 71.42 438.14 T
(return element ) 197.42 438.14 T
3 F
(n) 270.03 438.14 T
4 F
(, evaluating block if absent) 276.03 438.14 T
71.42 406.15 539.42 414.14 C
71.42 412.13 539.42 412.13 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Iterating) 71.42 418.14 T
4 F
(do:) 71.42 396.15 T
(iterate, passing each element to ar) 260.42 396.15 T
(gument block) 422.74 396.15 T
(doFirst:Middle:Last:IfEmpty:) 71.42 382.15 T
(iterate, with special behavior for \336rst and last) 260.42 382.15 T
(doFirst:MiddleLast:IfEmpty:) 71.42 368.15 T
(iterate, with special behavior for \336rst) 260.42 368.15 T
(doFirstLast:Middle:IfEmpty:) 71.42 354.15 T
(iterate, with special behavior for ends) 260.42 354.15 T
(doFirstMiddle:Last:IfEmpty:) 71.42 340.15 T
(iterate, with special behavior for last) 260.42 340.15 T
(with:Do:) 71.42 326.15 T
(co-iterate, passing corresponding elements to block) 260.42 326.15 T
(copyDo:) 71.42 312.15 T
(copy and iterate) 260.42 312.15 T
(copyDoFirst:Middle:Last:IfEmpty:) 71.42 298.15 T
(copy and iterate, with special behavior for \336rst and last) 260.42 298.15 T
(copyDoFirst:MiddleLast:IfEmpty:) 71.42 284.15 T
(copy and iterate, with special behavior for \336rst) 260.42 284.15 T
(copyDoFirstLast:Middle:IfEmpty:) 71.42 270.15 T
(copy and iterate, with special behavior for ends) 260.42 270.15 T
(copyDoFirstMiddle:Last:IfEmpty:) 71.42 256.15 T
(copy and iterate, with special behavior for last) 260.42 256.15 T
71.42 224.16 539.42 232.15 C
71.42 230.14 539.42 230.14 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Reducing) 71.42 236.15 T
4 F
(max) 71.42 214.16 T
(return maximum element) 197.42 214.16 T
(mean) 71.42 200.16 T
(return mean of elements) 197.42 200.16 T
(min) 71.42 186.16 T
(return minimum element) 197.42 186.16 T
(sum) 71.42 172.16 T
(return sum of elements) 197.42 172.16 T
(product) 71.42 158.16 T
(return product of elements) 197.42 158.16 T
(reduceW) 71.42 144.16 T
(ith:) 114.23 144.16 T
(evaluate reduction block with elements) 197.42 144.16 T
(reduceW) 71.42 130.16 T
(ith:IfEmpty:) 114.23 130.16 T
(evaluate reduction block with elements, evaluating block if empty) 197.42 130.16 T
71.42 98.17 539.42 106.16 C
71.42 104.14 539.42 104.14 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Removing) 71.42 110.16 T
4 F
(remove:) 71.42 88.17 T
(remove element ) 197.42 88.17 T
3 F
(n) 277.36 88.17 T
4 F
(remove:IfAbsent:) 71.42 74.17 T
(remove element ) 197.42 74.17 T
3 F
(n) 277.36 74.17 T
4 F
(, evaluating block if absent) 283.36 74.17 T
(copyRemoveAll) 71.42 60.17 T
(return an empty copy of the collection) 197.42 60.17 T
FMENDPAGE
%%EndPage: "26" 84
%%Page: "27" 84
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-27) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
71.42 696.12 539.42 704.11 C
71.42 702.1 539.42 702.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Sear) 71.42 708.11 T
(ching) 92.96 708.11 T
4 F
(includes:) 71.42 686.12 T
(test if element is member of the collection) 224.42 686.12 T
(occurrencesOf:) 71.42 672.12 T
(return number of occurences of element in collection) 224.42 672.12 T
(\336ndFirst:IfPresent:IfAbsent:) 71.42 658.12 T
1.57 (evaluate present block on \336rst element found satisfying criteria) 224.42 658.12 P
(block; evaluate absent block if no such element) 224.42 644.12 T
71.42 612.13 539.42 620.12 C
71.42 618.1 539.42 618.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Sizing) 71.42 624.12 T
4 F
(isEmpty) 71.42 602.13 T
(test if collection is empty) 197.42 602.13 T
(size) 71.42 588.13 T
(return number of elements in collection) 197.42 588.13 T
71.42 556.14 539.42 564.13 C
71.42 562.11 539.42 562.11 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(T) 71.42 568.13 T
(ransforming) 77.43 568.13 T
4 F
(asBytes) 71.42 546.14 T
(return a byte vector with same elements) 197.42 546.14 T
(asString) 71.42 532.14 T
(return a string with same elements) 197.42 532.14 T
(asV) 71.42 518.14 T
(ector) 88.74 518.14 T
(return a vector with same elements) 197.42 518.14 T
(\336lterBy:Into:) 71.42 504.14 T
(add elements that satisfy \336lter block to a collection) 197.42 504.14 T
(mapBy:) 71.42 490.14 T
(add result of evaluating map block with each element to this collection) 197.42 490.14 T
(mapBy:Into:) 71.42 476.14 T
(add result of evaluating map block with each element to a collection) 197.42 476.14 T
(copyMappedBy:) 71.42 462.14 T
(return a copy) 197.42 462.14 T
(, with results of evaluating map block as elements) 259.92 462.14 T
71.42 430.14 539.42 438.14 C
71.42 436.12 539.42 436.12 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Dictionary-speci\336c) 71.42 442.14 T
4 F
(includesKey:) 71.42 420.14 T
(test if dictionary holds a pair with this key \050trees also respond to this\051) 197.42 420.14 T
(removeKey:) 71.42 406.14 T
(remove element with this key) 197.42 406.14 T
(removeKey:IfAbsent:) 71.42 392.14 T
(remove element with this key) 197.42 392.14 T
(, evaluating block if absent) 338.55 392.14 T
(removeAll) 71.42 378.14 T
(remove all elements) 197.42 378.14 T
71.42 346.15 539.42 354.14 C
71.42 352.13 539.42 352.13 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(List-speci\336c) 71.42 358.14 T
4 F
(addFirst:) 71.42 336.15 T
(add element to head of list) 197.42 336.15 T
(addLast:) 71.42 322.15 T
(add element to tail of list) 197.42 322.15 T
(removeFirst) 71.42 308.15 T
(remove \336rst element) 197.42 308.15 T
(removeLast) 71.42 294.15 T
(remove last element) 197.42 294.15 T
(removeAll) 71.42 280.15 T
(remove all elements) 197.42 280.15 T
(removeAllOccurences:) 71.42 266.15 T
(remove all occurrences of this element) 197.42 266.15 T
(reverseDo:) 71.42 252.15 T
(iterate backwards through list) 197.42 252.15 T
71.42 220.16 539.42 228.15 C
71.42 226.14 539.42 226.14 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Indexable-speci\336c) 71.42 232.15 T
4 F
(\336rst) 71.42 210.16 T
(return the \336rst element) 197.42 210.16 T
(last) 71.42 196.16 T
(return the last element) 197.42 196.16 T
(\336rstKey) 71.42 182.16 T
(return the \336rst key) 197.42 182.16 T
(lastKey) 71.42 168.16 T
(return the last key) 197.42 168.16 T
(loopFrom:Do:) 71.42 154.16 T
(circularly iterate, starting from element ) 197.42 154.16 T
3 F
(n) 388.61 154.16 T
4 F
(copyAddLast:) 71.42 140.16 T
(return a copy of this collection with element added to end) 197.42 140.16 T
(copyFrom:) 71.42 126.16 T
(return a copy of this collection from element ) 197.42 126.16 T
3 F
(n) 414.6 126.16 T
4 F
(copyFrom:UpT) 71.42 112.16 T
(o:) 145.21 112.16 T
(return a copy of this collection from element ) 197.42 112.16 T
3 F
(n) 414.6 112.16 T
4 F
( up to element ) 420.6 112.16 T
3 F
(m) 491.89 112.16 T
4 F
(copyW) 71.42 98.16 T
(ithoutLast) 105.58 98.16 T
(return a copy of this collection without the last element) 197.42 98.16 T
FMENDPAGE
%%EndPage: "27" 85
%%Page: "28" 85
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-28) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
71.42 696.12 539.42 704.11 C
71.42 702.1 539.42 702.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(V) 71.42 708.11 T
(ector) 77.42 708.11 T
(-speci\336c) 101.83 708.11 T
4 F
(,) 71.42 686.12 T
(concatenation \050useful for string concatenation\051) 197.42 686.12 T
(copySize:) 71.42 672.12 T
(copy vector with size ) 197.42 672.12 T
3 F
(n) 302.68 672.12 T
4 F
(copySize:FillingW) 71.42 658.12 T
(ith:) 161.57 658.12 T
(copy vector with size ) 197.42 658.12 T
3 F
(n) 302.68 658.12 T
4 F
(, \336lling in any extra elements with second ar) 308.67 658.12 T
(g) 521.32 658.12 T
(\336rst:) 71.42 644.12 T
(change \336rst element) 197.42 644.12 T
(last:) 71.42 630.12 T
(change last element) 197.42 630.12 T
(\337atten) 71.42 616.12 T
(return a \337at vector \050\337attens ) 197.42 616.12 T
12 F
(consVector) 330.32 616.12 T
4 F
(s to a regular vector\051) 396.24 616.12 T
(sort) 71.42 602.12 T
(sort in place) 197.42 602.12 T
71.42 570.13 539.42 578.12 C
71.42 576.1 539.42 576.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(String-speci\336c) 71.42 582.12 T
4 F
(at:PutByte:) 71.42 560.13 T
(change element ) 197.42 560.13 T
3 F
(n) 275.36 560.13 T
4 F
( \050using byte version\051) 281.35 560.13 T
(at:PutByte:IfAbsent:) 71.42 546.13 T
(change element ) 197.42 546.13 T
3 F
(n) 275.36 546.13 T
4 F
( \050using byte version\051; evaluating block if absent) 281.35 546.13 T
(byteAt:) 71.42 532.13 T
(return byte version of element ) 197.42 532.13 T
3 F
(n) 344.98 532.13 T
4 F
(byteAt:IfAbsent) 71.42 518.13 T
(return byte version of element ) 197.42 518.13 T
3 F
(n) 344.98 518.13 T
4 F
(; evaluating block if absent) 350.98 518.13 T
(\336rstByte) 71.42 504.13 T
(return byte version of \336rst character) 197.42 504.13 T
(lastByte) 71.42 490.13 T
(return byte version of last character) 197.42 490.13 T
(\336rstByte:) 71.42 476.13 T
(change \336rst character \050using byte version\051) 197.42 476.13 T
(lastByte:) 71.42 462.13 T
(change last character \050using byte version\051) 197.42 462.13 T
(isCapitalized) 71.42 448.13 T
(test if capitalized) 197.42 448.13 T
(isUncapitalized) 71.42 434.13 T
(test if not capitalized) 197.42 434.13 T
(capitalize) 71.42 420.13 T
(return capitalized form of receiver) 197.42 420.13 T
(uncapitalize) 71.42 406.13 T
(return uncapitalized form of receiver) 197.42 406.13 T
(asInteger) 71.42 392.13 T
(return the integer that the string represents) 197.42 392.13 T
71.42 356.14 539.42 364.13 C
71.42 362.11 539.42 362.11 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Indir) 71.42 368.13 T
(ect sends) 97.87 368.13 T
71.42 328.14 539.42 336.14 C
71.42 334.12 539.42 334.12 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Indir) 71.42 340.14 T
(ect send pr) 94.97 340.14 T
(otocol ) 147.15 340.14 T
4 F
(\050like Smalltalk ) 180.13 340.14 T
12 F
(perform) 254.1 340.14 T
4 F
(\051) 300.24 340.14 T
(sendT) 71.42 318.14 T
(o:{W) 99.9 318.14 T
(ith:}) 125.83 318.14 T
(send receiver string as a message) 332.42 318.14 T
(sendT) 71.42 304.14 T
(o:DelegatingT) 99.9 304.14 T
(o:{W) 168.34 304.14 T
(ith:}) 194.27 304.14 T
(indirect delegated send) 332.42 304.14 T
(sendT) 71.42 290.14 T
(o:DelegatingT) 99.9 290.14 T
(o:W) 168.34 290.14 T
(ithAr) 188.52 290.14 T
(guments:) 213.62 290.14 T
(indirect delegated send with ar) 332.42 290.14 T
(g vector) 479.43 290.14 T
(sendT) 71.42 276.14 T
(o:W) 99.9 276.14 T
(ithAr) 120.07 276.14 T
(guments:) 145.17 276.14 T
(indirect send with ar) 332.42 276.14 T
(guments in a vector) 430.47 276.14 T
(resendT) 71.42 262.14 T
(o:{W) 109.21 262.14 T
(ith:}) 135.15 262.14 T
(indirect resend) 332.42 262.14 T
(resendT) 71.42 248.14 T
(o:W) 109.21 248.14 T
(ithAr) 129.39 248.14 T
(guments:) 154.49 248.14 T
(indirect resend with ar) 332.42 248.14 T
(guments in a vector) 439.79 248.14 T
71.42 216.15 539.42 224.14 C
71.42 222.13 539.42 222.13 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Message pr) 71.42 228.14 T
(otocol) 126.61 228.14 T
4 F
(send) 71.42 206.15 T
(evaluate a message object \050perform the send\051) 233.42 206.15 T
(receiver:) 71.42 192.15 T
(set receiver of the message object) 233.42 192.15 T
(selector:) 71.42 178.15 T
(set selector of the message object) 233.42 178.15 T
(methodHolder:) 71.42 164.15 T
(set method holder of the message object) 233.42 164.15 T
(delegatee:) 71.42 150.15 T
(set delegatee of the message object) 233.42 150.15 T
(ar) 71.42 136.15 T
(guments:) 80.53 136.15 T
(set ar) 233.42 136.15 T
(guments \050packaged in a vector\051 of the message object) 258.85 136.15 T
(receiver:Selector:) 71.42 122.15 T
(set receiver and selector of the message object) 233.42 122.15 T
(receiver:Selector:Ar) 71.42 108.15 T
(guments:) 168.45 108.15 T
(set receiver) 233.42 108.15 T
(, selector) 287.89 108.15 T
(, and ar) 330.7 108.15 T
(guments of the message object) 366.12 108.15 T
(receiver:Selector:T) 71.42 94.15 T
(ype:Delegatee:MethodHolder:Ar) 162.5 94.15 T
(guments:) 320.83 94.15 T
(set all components of the message object) 233.42 80.15 T
FMENDPAGE
%%EndPage: "28" 86
%%Page: "29" 86
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-29) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
71.42 696.12 539.42 704.11 C
71.42 702.1 539.42 702.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Re\337ection) 71.42 708.11 T
4 F
(re\337ect:) 71.42 686.12 T
(returns a mirror on the ar) 197.42 686.12 T
(gument) 317.44 686.12 T
(re\337ectee) 71.42 672.12 T
(returns the object the mirror receiver re\337ects) 197.42 672.12 T
(nameAt:) 71.42 658.12 T
(returns the name \050a string\051 of slot ) 197.42 658.12 T
3 F
(n) 360.31 658.12 T
4 F
(contentsAt:) 71.42 644.12 T
(returns a mirror on the contents of slot ) 197.42 644.12 T
3 F
(n) 384.63 644.12 T
4 F
(isAssignableAt:) 71.42 630.12 T
(tests if slot ) 197.42 630.12 T
3 F
(n) 252.4 630.12 T
4 F
( is an assignable slot) 258.4 630.12 T
(isParentAt:) 71.42 616.12 T
(tests if slot ) 197.42 616.12 T
3 F
(n) 252.4 616.12 T
4 F
( is a parent slot) 258.4 616.12 T
(isAr) 71.42 602.12 T
(gumentAt:) 91.86 602.12 T
(tests if slot ) 197.42 602.12 T
3 F
(n) 252.4 602.12 T
4 F
( is an ar) 258.4 602.12 T
(gument slot) 295.82 602.12 T
(parentPriorityAt:) 71.42 588.12 T
(returns the parent priority of slot ) 197.42 588.12 T
3 F
(n) 356.65 588.12 T
4 F
(slotAt:) 71.42 574.12 T
(returns a slot object representing slot ) 197.42 574.12 T
3 F
(n) 377.3 574.12 T
4 F
(visibilityAt:) 71.42 560.12 T
(returns a visibility object representing visibility of slot ) 197.42 560.12 T
3 F
(n) 461.28 560.12 T
4 F
(all) 71.42 546.12 T
(returns a vector of mirrors on all objects in the system) 197.42 546.12 T
(references) 71.42 532.12 T
(returns a vector of ) 197.42 532.12 T
(all references to the mirror receiver) 288.01 532.12 T
(implementors) 71.42 518.12 T
(all objects that implement slot named by receiver) 197.42 518.12 T
(\325) 434.04 518.12 T
(s re\337ectee \050a string\051) 437.38 518.12 T
71.42 482.13 539.42 490.12 C
71.42 488.1 539.42 488.1 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Memory) 71.42 494.12 T
4 F
(garbageCollect) 71.42 472.13 T
(force a full garbage collection) 197.42 472.13 T
(scavenge) 71.42 458.13 T
(force a scavenge) 197.42 458.13 T
71.42 422.14 539.42 430.13 C
71.42 428.11 539.42 428.11 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(Pr) 71.42 434.13 T
(ocesses) 83.86 434.13 T
4 F
(abort) 71.42 412.14 T
(quit from executing S) 197.42 412.14 T
6 F
(ELF) 301.7 412.14 T
4 F
( code \050abnormal completion\051) 321.23 412.14 T
(terminate) 71.42 398.14 T
(quit from executing S) 197.42 398.14 T
6 F
(ELF) 301.7 398.14 T
4 F
( code \050normal completion\051) 321.23 398.14 T
(stackT) 71.42 384.14 T
(race) 102.98 384.14 T
(print current S) 197.42 384.14 T
6 F
(ELF) 266.71 384.14 T
4 F
( stack) 286.24 384.14 T
(abortSelf) 71.42 370.14 T
(dump stack and quit from S) 197.42 370.14 T
6 F
(ELF) 330.35 370.14 T
4 F
( code) 349.88 370.14 T
71.42 334.14 539.42 342.14 C
71.42 340.12 539.42 340.12 2 L
0.5 H
0 Z
0 X
0 K
N
0 0 612 792 C
2 F
0 X
0 K
(V) 71.42 346.14 T
(irtual machine-generated messages) 79.64 346.14 T
71.42 306.15 539.42 314.14 C
71.42 312.13 539.42 312.13 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Lookup err) 71.42 318.14 T
(ors) 124.61 318.14 T
4 F
(ambiguousSelector:T) 71.42 296.15 T
(ype:Delegatee:MethodHolder:Ar) 173.19 296.15 T
(guments:) 331.51 296.15 T
(lookup found more than one matching slot) 197.42 282.15 T
(mismatchedAr) 71.42 268.15 T
(gumentCountSelector:T) 141.82 268.15 T
(ype:Delegatee:MethodHolder:Ar) 256.25 268.15 T
(guments:) 414.58 268.15 T
-0.5 (number of ar) 197.42 254.15 P
-0.5 (gs supplied to ) 258.16 254.15 P
12 F
-1.1 (_Perform) 326.29 254.15 P
4 F
-0.5 ( primitive does not match selector) 379.03 254.15 P
(missingDelegatee:T) 71.42 240.15 T
(ype:Delegatee:MethodHolder:Ar) 166.52 240.15 T
(guments:) 324.85 240.15 T
(parent slot through which resend was delegated was not found) 197.42 226.15 T
(noPublicSelector:T) 71.42 212.15 T
(ype:Delegatee:MethodHolder:Ar) 163.2 212.15 T
(guments:) 321.52 212.15 T
-0.24 (lookup found no matching accessible slot \050but found a matching private) 197.42 198.15 P
(slot\051) 197.42 184.15 T
(performT) 71.42 170.15 T
(ypeErrorSelector:T) 116.54 170.15 T
(ype:Delegatee:MethodHolder:Ar) 208.29 170.15 T
(guments:) 366.62 170.15 T
(\336rst ar) 197.42 156.15 T
(gument to the ) 228.19 156.15 T
12 F
(_Perform) 297.15 156.15 T
4 F
( primitive was not a canonical string) 349.88 156.15 T
(primitive:FailedW) 71.42 142.15 T
(ith:) 159.56 142.15 T
(the named primitive failed \050with error given by second ar) 197.42 142.15 T
(gument\051) 472 142.15 T
(unde\336nedSelector:T) 71.42 128.15 T
(ype:Delegatee:MethodHolder:Ar) 167.85 128.15 T
(guments:) 326.18 128.15 T
(lookup found no matching slot) 197.42 114.15 T
FMENDPAGE
%%EndPage: "29" 87
%%Page: "30" 87
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-30) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(Selector glossary) 470.86 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
71.42 696.12 539.42 704.11 C
71.42 702.1 539.42 702.1 2 L
0.1 H
0 Z
0 X
0 K
N
0 0 612 792 C
3 F
0 X
0 K
(Other system-trigger) 71.42 708.11 T
(ed messages) 171.24 708.11 T
4 F
(preRead) 71.42 686.12 T
(slot to evaluate before reading a snapshot) 197.42 686.12 T
(postRead) 71.42 672.12 T
(slot to evaluate after reading a snapshot) 197.42 672.12 T
(preW) 71.42 658.12 T
(rite) 97.58 658.12 T
(slot to evaluate before writing a snapshot) 197.42 658.12 T
(postW) 71.42 644.12 T
(rite) 102.26 644.12 T
(slot to evaluate after writing a snapshot) 197.42 644.12 T
FMENDPAGE
%%EndPage: "30" 88
%%Page: "31" 88
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(II-31) 296.01 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(The S) 71.43 749.62 T
1 F
(ELF) 95.02 749.62 T
0 F
( World) 111 749.62 T
(References) 495.03 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Acknowledgment) 71.42 705.45 T
4 F
(Joseph Pallas co-authored the sections detailing the collection hierarchy) 71.42 678.11 T
(.) 415.73 678.11 T
9 F
(Refer) 71.42 637.45 T
(ences) 109.31 637.45 T
4 F
([CU90]) 71.42 610.11 T
0.71 (Bay-W) 143.42 610.11 P
0.71 (ei Chang and David Ungar) 177.1 610.11 P
0.71 (. ) 307.84 610.11 P
0.71 (Experiencing S) 314.54 610.11 P
6 F
0.65 (ELF) 388.86 610.11 P
4 F
0.71 ( Objects: An Object-Based) 408.4 610.11 P
(Artificial Reality.) 143.42 596.11 T
( Unpublished manuscript, 1990.) 228.04 596.11 T
([UCC91]) 71.42 570.11 T
0.51 (David Ungar) 143.42 570.11 P
0.51 (, Craig Chambers, Bay-W) 205.73 570.11 P
0.51 (ei Chang, and Urs H\232lzle. ) 331.2 570.11 P
0.51 (Organizing Pro-) 461.31 570.11 P
1.1 (gram Without Classe) 143.42 556.11 P
1.1 (s. T) 246.89 556.11 P
1.1 (o be published in ) 265.14 556.11 P
3 F
1.1 (Lisp and Symbolic Computation 4\0503\051) 354.8 556.11 P
4 F
1.1 (,) 536.42 556.11 P
(June, 1991.) 143.42 542.11 T
FMENDPAGE
%%EndPage: "31" 89
%%Page: "1" 89
612 792 0 FMBEGINPAGE
72 63 540 747.36 R
7 X
0 K
V
7 F
0 X
(Part III) 271.7 641.36 T
(S) 139.13 591.36 T
8 F
(ELF) 152.47 591.36 T
7 F
( Language Reference Manual) 189.8 591.36 T
FMENDPAGE
%%EndPage: "1" 90
%%Page: "2" 90
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
71.42 742.9 539.42 742.9 2 L
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 F
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Table of Contents) 467.8 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(T) 71.42 708.11 T
(able of Contents) 78.32 708.11 T
4 F
(1) 71.42 674.11 T
(Introduction) 107.42 674.11 T
0 F
(.............................................................................................................................................) 167.41 674.11 T
(III-1) 521.11 674.11 T
4 F
(2) 71.42 646.11 T
(Objects) 107.42 646.11 T
0 F
(......................................................................................................................................................) 144.92 646.11 T
(III-2) 521.11 646.11 T
(2.1) 107.42 631.45 T
(Syntax) 143.42 631.45 T
(...........................................................................................................................................) 172.4 631.45 T
(III-2) 521.11 631.45 T
(2.2) 107.42 617.45 T
(Data objects) 143.42 617.45 T
(..................................................................................................................................) 194.89 617.45 T
(III-2) 521.11 617.45 T
(2.3) 107.42 603.45 T
(The assignment primitive) 143.42 603.45 T
(.............................................................................................................) 247.36 603.45 T
(III-2) 521.11 603.45 T
(2.4) 107.42 589.45 T
(Method objects) 143.42 589.45 T
(.............................................................................................................................) 207.39 589.45 T
(III-3) 521.11 589.45 T
(2.5) 107.42 575.45 T
(Construction of object literals) 143.42 575.45 T
(......................................................................................................) 264.85 575.45 T
(III-5) 521.11 575.45 T
4 F
(3) 71.42 550.11 T
(Slot descriptors) 107.42 550.11 T
0 F
(.......................................................................................................................................) 182.4 550.11 T
(III-7) 521.11 550.11 T
(3.1) 107.42 535.45 T
(Slot privacy) 143.42 535.45 T
(...................................................................................................................................) 192.39 535.45 T
(III-7) 521.11 535.45 T
(3.2) 107.42 521.45 T
(Read-only slots) 143.42 521.45 T
(.............................................................................................................................) 207.39 521.45 T
(III-7) 521.11 521.45 T
(3.3) 107.42 507.45 T
(Read/write slots) 143.42 507.45 T
(............................................................................................................................) 209.88 507.45 T
(III-8) 521.11 507.45 T
(3.4) 107.42 493.45 T
(Slots containing methods) 143.42 493.45 T
(..............................................................................................................) 244.87 493.45 T
(III-9) 521.11 493.45 T
(3.5) 107.42 479.45 T
(Parent slots) 143.42 479.45 T
(..................................................................................................................................) 189.9 479.45 T
(III-10) 516.12 479.45 T
4 F
(4) 71.42 454.11 T
(Expressions) 107.42 454.11 T
0 F
(...........................................................................................................................................) 167.41 454.11 T
(III-1) 516.49 454.11 T
(1) 534.43 454.11 T
(4.1) 107.42 439.45 T
(Unary messages) 143.42 439.45 T
(..........................................................................................................................) 209.88 439.45 T
(III-1) 516.49 439.45 T
(1) 534.43 439.45 T
(4.2) 107.42 425.45 T
(Binary messages) 143.42 425.45 T
(.........................................................................................................................) 212.38 425.45 T
(III-12) 516.12 425.45 T
(4.3) 107.42 411.45 T
(Keyword messages) 143.42 411.45 T
(.....................................................................................................................) 222.38 411.45 T
(III-12) 516.12 411.45 T
(4.4) 107.42 397.45 T
(Implicit-receiver messages) 143.42 397.45 T
(.........................................................................................................) 252.36 397.45 T
(III-13) 516.12 397.45 T
(4.5) 107.42 383.45 T
(Resending messages) 143.42 383.45 T
(...................................................................................................................) 227.38 383.45 T
(III-14) 516.12 383.45 T
4 F
(5) 71.42 358.11 T
(Message lookup semantics) 107.42 358.11 T
0 F
(...............................................................................................................) 237.37 358.11 T
(III-15) 516.12 358.11 T
(5.1) 107.42 343.45 T
(Message send) 143.42 343.45 T
(..............................................................................................................................) 199.89 343.45 T
(III-15) 516.12 343.45 T
(5.2) 107.42 329.45 T
(The lookup algorithm) 143.42 329.45 T
(.................................................................................................................) 232.37 329.45 T
(III-16) 516.12 329.45 T
(5.3) 107.42 315.45 T
(The sender path tiebreaker) 143.42 315.45 T
(..........................................................................................................) 249.86 315.45 T
(III-17) 516.12 315.45 T
(5.4) 107.42 301.45 T
(Privacy) 143.42 301.45 T
(........................................................................................................................................) 174.9 301.45 T
(III-17) 516.12 301.45 T
(5.5) 107.42 287.45 T
(Resend) 143.42 287.45 T
(........................................................................................................................................) 174.9 287.45 T
(III-18) 516.12 287.45 T
4 F
(6) 71.42 262.11 T
(Lexical elements) 107.42 262.11 T
0 F
(..................................................................................................................................) 189.9 262.11 T
(III-21) 516.12 262.11 T
(6.1) 107.42 247.45 T
(Character set) 143.42 247.45 T
(...............................................................................................................................) 197.39 247.45 T
(III-21) 516.12 247.45 T
(6.2) 107.42 233.45 T
(Identi\336ers) 143.42 233.45 T
(....................................................................................................................................) 184.9 233.45 T
(III-21) 516.12 233.45 T
(6.3) 107.42 219.45 T
(Keywords) 143.42 219.45 T
(....................................................................................................................................) 184.9 219.45 T
(III-21) 516.12 219.45 T
(6.4) 107.42 205.45 T
(Ar) 143.42 205.45 T
(guments) 153.79 205.45 T
(..................................................................................................................................) 189.9 205.45 T
(III-22) 516.12 205.45 T
(6.5) 107.42 191.45 T
(Operators) 143.42 191.45 T
(....................................................................................................................................) 184.9 191.45 T
(III-22) 516.12 191.45 T
(6.6) 107.42 177.45 T
(Numbers) 143.42 177.45 T
(.....................................................................................................................................) 182.4 177.45 T
(III-22) 516.12 177.45 T
(6.7) 107.42 163.45 T
(Strings) 143.42 163.45 T
(.........................................................................................................................................) 172.4 163.45 T
(III-23) 516.12 163.45 T
(6.8) 107.42 149.45 T
(Comments) 143.42 149.45 T
(...................................................................................................................................) 187.4 149.45 T
(III-24) 516.12 149.45 T
4 F
(Appendix A) 71.42 116.11 T
(Glossary) 143.42 116.11 T
0 F
(...................................................................................................................................) 187.4 116.11 T
(III-25) 516.12 116.11 T
4 F
(Appendix B) 71.42 102.11 T
(Lexical overview) 143.42 102.11 T
0 F
(...................................................................................................................) 227.38 102.11 T
(III-28) 516.12 102.11 T
4 F
(Appendix C) 71.42 88.11 T
(Syntax overview) 143.42 88.11 T
0 F
(....................................................................................................................) 224.88 88.11 T
(III-29) 516.12 88.11 T
4 F
(Appendix D) 71.42 74.11 T
(Built-in types) 143.42 74.11 T
0 F
(..........................................................................................................................) 209.88 74.11 T
(III-31) 516.12 74.11 T
FMENDPAGE
%%EndPage: "2" 91
7 12 /Courier FMDEFINEFONT
%%Page: "1" 91
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-1) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Introduction) 490.01 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(1 Intr) 71.42 705.45 T
(oduction) 114.66 705.45 T
4 F
-0.3 (This document speci\336es S) 71.42 682.11 P
6 F
-0.28 (ELF) 196.11 682.11 P
4 F
-0.3 (\325) 215.65 682.11 P
-0.3 (s syntax and semantics. An early version of the syntax was present-) 218.98 682.11 P
-0.23 (ed in the original S) 71.42 668.11 P
6 F
-0.21 (ELF) 161.78 668.11 P
4 F
-0.23 ( paper by Ungar and Smith [US87]; this document incorporates subsequent) 181.31 668.11 P
0.34 (changes to the language. The presentation assumes a basic understanding of object-oriented con-) 71.42 654.11 P
(cepts.) 71.42 640.11 T
0.12 (The syntax is described using Extended Backus-Naur Form \050EBNF\051. T) 71.42 620.11 P
0.12 (erminal symbols appear in) 412.14 620.11 P
7 F
0.15 (Courier) 71.42 606.11 P
4 F
0.06 ( and are enclosed in single quotes; they should appear in code as written \050not including) 121.8 606.11 P
0.75 (the single quotes\051. Non-terminal symbols are italicized. The following table describes the meta-) 71.42 592.11 P
(symbols:) 71.42 578.11 T
(A glossary of terms used in this document can be found in Appendix A.) 71.42 392.11 T
71.42 55.44 539.42 716.11 C
82.37 408.11 528.48 574.11 C
82.37 408.11 528.48 574.11 R
7 X
0 K
V
98.48 415.11 530.48 546.11 R
V
0 F
0 X
(M) 107.48 539.45 T
11 F
(ETA-) 116.36 539.45 T
0 F
(S) 134.57 539.45 T
11 F
(YMBOL) 140.13 539.45 T
0 F
(F) 204.48 539.45 T
11 F
(UNCTION) 210.04 539.45 T
0 F
(D) 294.48 539.45 T
11 F
(ESCRIPTION) 301.7 539.45 T
0 F
(\050 and \051) 107.48 519.45 T
(grouping) 204.48 519.45 T
(used to group syntactic constructions) 294.48 519.45 T
([ and ]) 107.48 499.45 T
(option) 204.48 499.45 T
(encloses an optional construction) 294.48 499.45 T
({ and }) 107.48 479.45 T
(repetition) 204.48 479.45 T
(encloses a construction that may be repeated zero or) 294.48 479.45 T
(more times) 294.48 467.45 T
(|) 107.48 447.45 T
(alternative) 204.48 447.45 T
(separates alternative constructions) 294.48 447.45 T
18 F
(\256) 107.48 427.45 T
0 F
(production) 204.48 427.45 T
(separates the left and right hand sides of a production) 294.48 427.45 T
185.72 554.22 185.72 418.22 2 L
0.5 H
2 Z
N
95.69 552.22 521.48 552.22 2 L
N
95.69 554.11 521.48 554.11 2 L
N
95.75 418.22 521.64 418.22 2 L
N
95.69 532.11 521.48 532.11 2 L
N
95.69 534.11 521.48 534.11 2 L
N
95.76 553.88 95.76 418.34 2 L
N
521.79 554.17 521.79 418.09 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "1" 92
%%Page: "2" 92
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-2) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Objects) 508.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(2 Objects) 71.42 705.45 T
3 F
-0.46 (Objects) 71.42 682.11 P
4 F
-0.46 ( are the fundamental entities in S) 108.06 682.11 P
6 F
-0.43 (ELF) 263.17 682.11 P
4 F
-0.46 (; every entity in a S) 282.71 682.11 P
6 F
-0.43 (ELF) 373.99 682.11 P
4 F
-0.46 ( program is represented by one) 393.53 682.11 P
0.1 (or more objects. ) 71.42 668.11 P
0.1 (Even control is handled by objects: ) 152.32 668.11 P
3 F
0.1 (blocks) 324.8 668.11 P
4 F
0.1 ( \050\244III-2.4.4\051 are ) 355.44 668.11 P
0.1 (S) 433.32 668.11 P
6 F
0.09 (ELF) 439.99 668.11 P
4 F
0.1 ( closures used to) 459.52 668.11 P
-0.57 (implement user-defined control structures. A) 71.42 654.11 P
-0.57 (n object is co) 284.64 654.11 P
-0.57 (mposed of a \050possibly empty\051 set of ) 346.55 654.11 P
3 F
-0.57 (slots) 517.43 654.11 P
4 F
-0.15 (and, optionally, ) 71.42 640.11 P
3 F
-0.15 (code) 149.07 640.11 P
4 F
-0.15 ( \050\244III-2.4.1\051. A slot is a name-value pair; slots contain references to other ob-) 171.72 640.11 P
(jects. When a slot is found during a ) 71.42 626.11 T
3 F
(message lookup) 244.31 626.11 T
4 F
( \050\244III-5\051 the object in the slot is evaluated.) 320.59 626.11 T
0.09 (Although everything is an object in S) 71.42 606.11 P
6 F
0.08 (ELF) 251.17 606.11 P
4 F
0.09 (, not all objects serve the same purpose; certain kinds of) 269.75 606.11 P
-0.28 (objects occur frequently enough in specialized roles to merit distinct terminology and syntax. This) 71.42 592.11 P
0.29 (chapter introduces these kinds of objects, namely data objects \050\322plain\323 objects\051 and the three dif-) 71.42 578.11 P
(ferent kinds of methods.) 71.42 564.11 T
10 F
(2.1 Syntax) 71.42 530.78 T
3 F
0.79 (Object literals) 71.42 510.11 P
4 F
0.79 ( are delimited by parentheses \050\324) 141.18 510.11 P
7 F
1.9 (\050) 296.02 510.11 P
4 F
0.79 (\325 and \324) 303.22 510.11 P
7 F
1.9 (\051) 336.1 510.11 P
4 F
0.79 (\325\051. W) 343.3 510.11 P
0.79 (ithin the parentheses, an object de-) 368.92 510.11 P
0.1 (scription consists of a list of slots, delimited by vertical bars \050\324) 71.42 496.11 P
7 F
0.24 (|) 371.66 496.11 P
4 F
0.1 (\325\051, followed by the code to be ex-) 378.86 496.11 P
(ecuted when the object is evaluated. Both slot list and code are optional. ) 71.42 482.11 T
-0.12 (Blocks) 71.42 462.11 P
-0.12 ( are written like other objects, except that square brackets \050\324) 104.74 462.11 P
7 F
-0.28 ([) 390.32 462.11 P
4 F
-0.12 (\325 and \324) 397.52 462.11 P
7 F
-0.28 (]) 428.58 462.11 P
4 F
-0.12 (\325\051 are used in place of) 435.78 462.11 P
(parentheses.) 71.42 448.11 T
-0.58 (A ) 71.42 428.11 P
3 F
-0.58 (slot list ) 82.5 428.11 P
4 F
-0.58 (consists of a \050possibly empty\051 sequence of ) 119.34 428.11 P
3 F
-0.58 (slot descriptors) 321.48 428.11 P
4 F
-0.58 ( \050\244III-3\051, separated by periods.) 395.2 428.11 P
(A period at the end of the slot list is optional.) 71.42 414.11 T
0.05 (The ) 71.42 394.11 P
0.05 (code) 93.12 394.11 P
0.05 ( for an object is a sequence of ) 115.76 394.11 P
3 F
0.05 (expr) 262.04 394.11 P
0.05 (essions) 282.91 394.11 P
4 F
0.05 ( \050\244III-4\051, each separated by a period; a trailing) 317.56 394.11 P
0.06 (period is optional. Each expression consists of a series of ) 71.42 380.11 P
3 F
0.06 (message sends) 348.85 380.11 P
4 F
0.06 ( and ) 419.19 380.11 P
3 F
0.06 (literals) 442.63 380.11 P
4 F
0.06 (. The last ex-) 476.62 380.11 P
(pression in a code body may be preceded with a \324) 71.42 366.11 T
7 F
(^) 308.57 366.11 T
4 F
(\325 operator \050\244III-2.4.1\051.) 315.77 366.11 T
10 F
(2.2 Data objects) 71.42 332.78 T
3 F
-0.25 (Data objects) 71.42 312.11 P
4 F
-0.25 ( are objects without code. The simplest object is ) 132.13 312.11 P
7 F
-0.61 (\050\051) 363.69 312.11 P
4 F
-0.25 (, an empty object. In general, data) 378.08 312.11 P
-0.26 (objects can have any number of slots. For example, the object ) 71.42 298.11 P
7 F
-0.62 (\050 | x = 17. y = 18 | \051) 368.01 298.11 P
4 F
-0.26 ( has) 520.7 298.11 P
(two slots, ) 71.42 284.11 T
7 F
(x) 120.4 284.11 T
4 F
( and ) 127.6 284.11 T
7 F
(y) 150.92 284.11 T
4 F
(. ) 157.33 284.11 T
(A data object returns itself when evaluated.) 71.42 206.86 T
10 F
(2.3 The assignment primitive) 71.42 173.53 T
4 F
-0.36 (A slot may contain the assignment primitive \050i.e., the slot is an ) 71.42 152.86 P
3 F
-0.36 (assignment slot) 370.64 152.86 P
4 F
-0.36 (, \244III-3.3) 444.58 152.86 P
-0.36 (\051. When an) 487.19 152.86 P
0.12 (assignment slot is evaluated, the ar) 71.42 138.86 P
0.12 (gument to the message is stored in the corresponding ) 239.05 138.86 P
3 F
0.12 (data slot) 497.65 138.86 P
4 F
-0.02 (\050\244III-3\051 in the same object \050the slot whose name is the assignment slot\325) 71.42 124.86 P
-0.02 (s name without the trailing) 410.92 124.86 P
(colon\051, and the ) 71.42 110.86 T
3 F
(r) 146.04 110.86 T
(eceiver) 150.26 110.86 T
4 F
( \050\244III-4\051 is returned as the result.) 184.88 110.86 T
71.42 55.44 539.42 716.11 C
84.44 222.86 526.41 280.11 C
84.44 222.86 526.41 280.11 R
7 X
0 K
V
271.65 235.12 385.65 268.18 R
3 X
V
268.65 238.12 382.65 271.18 R
7 X
V
1 H
2 Z
0 X
N
23 F
(y) 293.9 242.99 T
269.65 254.62 382.65 254.62 2 L
0.5 H
N
324.6 270.86 324.6 238.12 2 L
N
(x) 294.9 259.56 T
(17) 346.55 259.56 T
(18) 346.55 243.12 T
(slots) 186.02 250.99 T
252.94 263.13 261.9 262.26 253.84 258.25 253.39 260.69 4 Y
V
212.8 253.33 254.38 260.87 2 L
N
253.84 248.41 261.9 244.4 252.94 243.53 253.39 245.97 4 Y
V
212.8 253.33 254.38 245.78 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "2" 93
%%Page: "3" 93
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-3) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Objects) 508.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(2.4 Method objects) 71.42 706.78 T
4 F
-0.11 (The feature that distinguishes a ) 71.42 686.11 P
3 F
-0.11 (method object) 223.76 686.11 P
4 F
-0.11 ( from a data object is that it has code, while the data) 291.27 686.11 P
-0.31 (object does not. Evaluating a method object does not simply return the object itself, as with simple) 71.42 672.11 P
-0.49 (data objects; instead, its code is executed, and that result is returned. There are three kinds of meth-) 71.42 658.11 P
(ods: outer methods, inner methods, and block methods. ) 71.42 644.11 T
2 F
(2.4.1 Code) 71.42 612.11 T
3 F
0.17 (Code) 71.42 592.11 P
4 F
0.17 ( is a sequence of ) 96.74 592.11 P
3 F
0.17 (expressions) 179.85 592.11 P
4 F
0.17 ( \050\244III-4\051. The expressions are evaluated in order) 235.81 592.11 P
0.17 (, and all results) 466.3 592.11 P
-0.37 (are discarded except for the result of the last expression evaluated, which becomes the result of the) 71.42 578.11 P
(code\325) 71.42 564.11 T
(s evaluation.) 97.4 564.11 T
-0.32 (The actual ar) 71.42 544.11 P
-0.32 (guments in a message send are evaluated from left to right before the message is sent.) 133.18 544.11 P
(For instance, in the message send) 71.42 530.11 T
7 F
(1 to: 5 * i By: 2 * j Do: [|:k | k print ]) 143.42 510.11 T
2.51 (1) 71.42 490.11 P
4 F
1.05 ( is evaluated \336rst, then ) 78.62 490.11 P
7 F
2.51 (5 * i) 195.12 490.11 P
4 F
1.05 (, then ) 236.13 490.11 P
7 F
2.51 (2 * j) 267.87 490.11 P
4 F
1.05 (, and then ) 308.88 490.11 P
7 F
2.51 ([|:k | k print]) 361.99 490.11 P
4 F
1.05 (. Finally) 477.47 490.11 P
1.05 (, the) 517.72 490.11 P
7 F
(to:By:Do:) 71.42 476.11 T
4 F
( message is sent.) 136.19 476.11 T
0.61 (The \324) 71.42 456.11 P
7 F
1.45 (^) 97.67 456.11 P
4 F
0.61 (\325 operator returns from the activation of the method\325) 104.87 456.11 P
0.61 (s ) 360.19 456.11 P
3 F
0.61 (home) 368.46 456.11 P
4 F
0.61 ( \050the lexically enclosing outer) 394.44 456.11 P
-0.24 (method, if the method is not already an outer method\051, not just from the method itself; this implies) 71.42 442.11 P
1.09 (a forced return from all intervening activations. Such returns are called ) 71.42 428.11 P
3 F
1.09 (non-local r) 426.43 428.11 P
1.09 (eturns) 480.71 428.11 P
4 F
1.09 ( since) 510.69 428.11 P
0.5 (they may \322return through\323 several methods \050e.g., from within a block\051. In this case, the result of) 71.42 414.11 P
(the home\325) 71.42 400.11 T
(s invocation is the value returned by the \324) 119.06 400.11 T
7 F
(^) 317.59 400.11 T
4 F
(\325 operator) 324.79 400.11 T
(.) 371.08 400.11 T
2 F
(2.4.2 Outer method objects) 71.42 368.11 T
3 F
-0.22 (Outer methods) 71.42 348.11 P
4 F
-0.22 ( are methods that are not embedded in other code. For example, ) 142.15 348.11 P
7 F
-0.54 (\0503.7 sqrt\051) 447.91 348.11 P
4 F
-0.22 ( and) 519.33 348.11 P
7 F
-0.22 (\050 | x = 17. y = 18 | x + y \051) 71.42 334.11 P
4 F
-0.09 ( are outer methods. An outer method can have ) 270.24 334.11 P
3 F
-0.09 (ar) 493.9 334.11 P
-0.09 (gument) 504.11 334.11 P
-0.43 (slots) 71.42 320.11 P
4 F
-0.43 ( \050\244III-3.4\051) 93.42 320.11 P
-0.43 (, and it always has an implicit ) 140.94 320.11 P
3 F
-0.43 (par) 283.82 320.11 P
-0.43 (ent) 300.04 320.11 P
4 F
-0.43 ( \050\244III-3.5\051 ar) 314.69 320.11 P
-0.43 (gument slot named ) 373.88 320.11 P
7 F
-1.04 (self) 466.86 320.11 P
4 F
-0.43 ( with pri-) 495.65 320.11 P
0.45 (ority one \050the highest possible ) 71.42 306.11 P
3 F
0.45 (par) 221.26 306.11 P
0.45 (ent priority) 237.47 306.11 P
4 F
0.45 (, \244III-3.5) 292.23 306.11 P
0.45 (\051. Outer methods are S) 335.64 306.11 P
6 F
0.41 (ELF) 445.7 306.11 P
4 F
0.45 (\325) 465.23 306.11 P
0.45 (s equivalent to) 468.56 306.11 P
0.66 (Smalltalk\325) 71.42 292.11 P
0.66 (s methods. Sometimes, the term \322method\323 is used to mean \322outer method\323 for conve-) 120.74 292.11 P
(nience; in this manual, however) 71.42 278.11 T
(, \322method\323 always means \322any kind of method.\323) 223.84 278.11 T
-0.02 (If a slot contains an outer method, the following steps are performed when the slot is evaluated as) 71.42 258.11 P
(the result of a message send:) 71.42 244.11 T
(\245) 84.96 224.11 T
0.87 (The method object is ) 98.42 224.11 P
3 F
0.87 (cloned) 205.83 224.11 P
4 F
0.87 (, creating a new ) 237.81 224.11 P
3 F
0.87 (method activation object) 320.21 224.11 P
4 F
0.87 ( containing the slots) 440.54 224.11 P
(for the method\325s arguments and locals.) 98.42 210.11 T
(\245) 84.96 190.11 T
(The clone\325s ) 98.42 190.11 T
7 F
(self) 157.71 190.11 T
4 F
( slot is initialized to the receiver of the message.) 186.49 190.11 T
(\245) 84.96 170.11 T
0.48 (The clone\325s argument slots \050if any\051 are initialized to the values of the corresponding actual) 98.42 170.11 P
(arguments.) 98.42 156.11 T
(\245) 84.96 136.11 T
(The code of the method is executed in the context of the new activation object. ) 98.42 136.11 T
(The value returned by a method is the result of the evaluation of the method\325) 71.42 116.11 T
(s code. ) 439.17 116.11 T
FMENDPAGE
%%EndPage: "3" 94
%%Page: "4" 94
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-4) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Objects) 508.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(For example, consider the outer method ) 71.42 708.11 T
7 F
(\050 | :arg | arg * arg ) 265.62 708.11 T
4 F
(\051:) 416.74 708.11 T
-0.36 (This outer method has an ar) 71.42 609.01 P
-0.36 (gument slot ) 202.96 609.01 P
7 F
-0.87 (arg) 261.55 609.01 P
4 F
-0.36 ( and returns the square of its ar) 283.13 609.01 P
-0.36 (gument. \050The syntax of) 428.59 609.01 P
(slots and objects is explained in \244III-3.\051 ) 71.42 595.01 T
2 F
(2.4.3 Inner method objects) 71.42 563.01 T
3 F
1 (Inner methods) 71.42 543.01 P
4 F
1 ( look like outer methods, but they are embedded in code. For example, the outer) 141.37 543.01 P
-0.24 (method ) 71.42 529.01 P
7 F
-0.57 (\0503 * \0504 + 5\051\051) 110.17 529.01 P
4 F
-0.24 ( contains the inner method ) 201.43 529.01 P
7 F
-0.57 (\0504 + 5\051) 330.49 529.01 P
4 F
-0.24 (. Like outer methods, inner meth-) 379.72 529.01 P
-0.42 (ods can have slots, but they cannot have ar) 71.42 515.01 P
-0.42 (gument slots, and they do not have a ) 272.68 515.01 P
7 F
-1.01 (self) 447.52 515.01 P
4 F
-0.42 ( slot. Instead,) 476.31 515.01 P
0.02 (they have an anonymous parent slot pointing to the enclosing method\325) 71.42 501.01 P
0.02 (s activation object. As a re-) 408.09 501.01 P
0.55 (sult,) 71.42 487.01 P
3 F
0.55 ( implicit-r) 91.75 487.01 P
0.55 (eceiver messages) 140.17 487.01 P
4 F
0.55 ( \050\244III-4.4\051 sent within an inner method are scoped lexically) 223.63 487.01 P
0.55 (. Like) 510.9 487.01 P
-0.26 (the ) 71.42 473.01 P
7 F
-0.62 (self) 88.82 473.01 P
4 F
-0.26 ( slot in an outer method, the anonymous parent slot has the highest possible parent prior-) 117.6 473.01 P
(ity) 71.42 459.01 T
(.) 83.31 459.01 T
-0.02 (Inner method evaluation follows the same steps as outer method evaluation does, except it sets its) 71.42 439.01 P
-0.58 (anonymous parent slot to the current \050enclosing\051 activation object, and ) 71.42 425.01 P
3 F
-0.58 (inherits) 407.03 425.01 P
4 F
-0.58 ( ) 443.68 425.01 P
7 F
-1.4 (self) 446.1 425.01 P
4 F
-0.58 ( from that ob-) 474.88 425.01 P
(ject.) 71.42 411.01 T
(For example, executing the inner method ) 71.42 391.01 T
7 F
(\0504 + 5\051) 271.62 391.01 T
4 F
( produces:) 321.99 391.01 T
(The anonymous parent slot is invisible at the S) 71.42 260.98 T
6 F
(ELF) 295.96 260.98 T
4 F
( level, and it cannot be accessed explicitly) 315.5 260.98 T
(.) 516.57 260.98 T
2 F
(2.4.4 Block method objects) 71.42 228.98 T
3 F
0.05 (Blocks) 71.42 208.98 P
4 F
0.05 ( are S) 103.4 208.98 P
6 F
0.05 (ELF) 130.81 208.98 P
4 F
0.05 ( closures; they are used to implement user) 150.34 208.98 P
0.05 (-de\336ned control structures. A block lit-) 351.97 208.98 P
0.64 (eral \050delimited by square brackets\051 de\336nes a ) 71.42 194.98 P
3 F
0.64 (pair) 290.76 194.98 P
4 F
0.64 (of objects: the ) 313.76 194.98 P
3 F
0.64 (block data object) 386.64 194.98 P
4 F
0.64 ( and the ) 470.54 194.98 P
3 F
0.64 (block) 513.45 194.98 P
0.52 (method) 71.42 180.98 P
4 F
0.52 (. The block data object contains a parent pointer and a slot pointing to the block method.) 106.73 180.98 P
-0.3 (The block method contains the block\325) 71.42 166.98 P
-0.3 (s code. A block method is similar to an inner method: it does) 250.82 166.98 P
-0.37 (not contain a ) 71.42 152.98 P
7 F
-0.88 (self) 135.28 152.98 P
4 F
-0.37 ( slot but instead contains an anonymous parent slot pointing to the lexically en-) 164.07 152.98 P
1.02 (closing activation object. Thus, a block can be viewed as a \322deferred inner method\323 that is not) 71.42 138.98 P
(evaluated until explicitly invoked and that can have ar) 71.42 124.98 T
(gument slots.) 331.02 124.98 T
71.42 55.44 539.42 716.11 C
89.42 625.01 521.42 704.11 C
89.42 625.01 521.42 704.11 R
7 X
0 K
V
290.83 633.92 408.83 694.06 R
3 X
V
287.83 636.92 405.83 697.06 R
7 X
V
1 H
0 Z
0 X
N
287.83 661.49 405.83 661.49 2 L
2 Z
N
346.83 697.06 346.83 661.49 2 L
0.5 H
N
23 F
(:arg) 310.37 666.99 T
5 F
(arg * arg) 325.77 646.87 T
288.83 680.12 404.83 680.12 2 L
N
23 F
(:self*) 307.62 683.93 T
(slots) 205.49 674.99 T
272.41 687.13 281.37 686.26 273.31 682.25 272.86 684.69 4 Y
V
232.27 677.33 273.85 684.87 2 L
N
273.31 672.41 281.37 668.4 272.41 667.53 272.86 669.96 4 Y
V
232.27 677.33 273.85 669.78 2 L
N
(code) 205.49 648.2 T
272.73 653.03 281.38 650.54 272.73 648.06 272.73 650.54 4 Y
V
232.27 650.54 273.73 650.54 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
71.42 55.44 539.42 716.11 C
89.42 276.98 521.42 387.01 C
89.42 276.98 521.42 387.01 R
7 X
0 K
V
246.73 342.52 360.73 374.85 R
3 X
V
246.73 282.83 360.73 315.17 R
V
243.73 285.83 357.73 318.17 R
7 X
V
1 H
2 Z
0 X
N
23 F
(4 + 5) 283.11 292.05 T
244.73 303.89 357.73 303.89 2 L
0.5 H
N
299.68 318.4 299.68 303.51 2 L
N
(\050parent*\051) 251.36 307.77 T
326.04 336.86 328.52 345.52 331 336.86 328.52 336.86 4 Y
V
328.52 311.01 328.52 337.86 2 L
N
90 450 1.5 1.34 328.52 310.68 G
90 450 1.5 1.34 328.52 310.68 A
243.73 345.52 357.73 377.85 R
7 X
V
1 H
0 X
N
(3 * \0504 + 5\051) 271.21 351.73 T
244.73 363.58 357.73 363.58 2 L
0.5 H
N
299.68 378.08 299.68 363.19 2 L
N
(:self*) 260.52 367.45 T
404.64 373.12 413.3 370.64 404.64 368.16 404.64 370.64 4 Y
V
328.48 370.64 405.64 370.64 2 L
N
(receiver) 417.26 367.64 T
14 F
(activation object ) 122.12 366.33 T
(of outer method) 122.12 355.33 T
(activation object ) 122.12 306.45 T
(of inner method) 122.12 295.45 T
232.55 367.17 241.2 364.69 232.55 362.21 232.55 364.69 4 Y
V
196.56 364.69 233.55 364.69 2 L
N
232.55 304.67 241.2 302.19 232.55 299.71 232.55 302.19 4 Y
V
196.56 302.19 233.55 302.19 2 L
N
90 450 1.5 1.51 328.52 370.64 G
90 450 1.5 1.51 328.52 370.64 A
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "4" 95
%%Page: "5" 95
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-5) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Objects) 508.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(For example, the block ) 71.42 708.11 T
7 F
([ 3 + 4 ]) 185.01 708.11 T
4 F
( looks like:) 249.78 708.11 T
0 F
(\240) 303.09 712.91 T
4 F
0.43 (The block method\325) 71.42 534.66 P
0.43 (s selector has the form ) 162.9 534.66 P
7 F
1.03 (value) 275.97 534.66 P
4 F
0.43 ([) 311.95 534.66 P
7 F
1.03 (:) 315.94 534.66 P
4 F
0.43 ( {) 323.14 534.66 P
7 F
1.03 (With:) 332.32 534.66 P
4 F
0.43 (}], with the exact name determined) 368.3 534.66 P
-0.3 (by the number of ar) 71.42 520.66 P
-0.3 (guments. For example, the slot containing the block method of a block without) 164.6 520.66 P
0.25 (ar) 71.42 506.66 P
0.25 (guments has the name ) 80.53 506.66 P
7 F
0.6 (value) 190.79 506.66 P
4 F
0.25 (, and the slot of a block with two ar) 226.77 506.66 P
0.25 (guments is named ) 398.69 506.66 P
7 F
0.6 (value:-) 489.05 506.66 P
(With:) 71.42 492.66 T
4 F
(.) 107.4 492.66 T
0.16 (Since blocks are \322deferred inner methods,\323 their evaluation has two phases. In the \336rst phase, the) 71.42 472.66 P
-0.27 (block is created because it is evaluated, e.g. when it is used as an ar) 71.42 458.66 P
-0.27 (gument to a message send. The) 390.87 458.66 P
-0.19 (block is cloned and given a pointer to its enclosing scope, the current activation record. In the sec-) 71.42 444.66 P
-0.04 (ond phase, its block method is evaluated because the block was sent the appropriate variant of the) 71.42 430.66 P
7 F
-0.03 (value) 71.42 416.66 P
4 F
-0.01 ( message. The block method is evaluated by cloning it, \336lling in the ar) 107.4 416.66 P
-0.01 (gument slots \050in the) 444.51 416.66 P
-0.29 (clone\051, and initializing \050the clone\325) 71.42 402.66 P
-0.29 (s\051 anonymous parent slot from the scope pointer in the block ob-) 232.49 402.66 P
(ject.) 71.42 388.66 T
-0.12 (It is an error to evaluate a block method if its home \050lexically-enclosing scope\051 has returned. Such) 71.42 368.66 P
-0.58 (a block is called a ) 71.42 354.66 P
3 F
-0.58 (non-lifo block) 157.46 354.66 P
4 F
-0.58 ( \050because returning from it would violate last-in \336rst-out semantics) 223.84 354.66 P
(of activation object invocation\051.) 71.42 340.66 T
10 F
(2.5 Construction of object literals) 71.42 307.32 T
4 F
-0.36 (Object literals are constructed during parsing\321the parser converts objects in textual form into real) 71.42 286.66 P
(S) 71.42 272.66 T
6 F
(ELF) 78.09 272.66 T
4 F
( objects. An object literal is constructed as follows:) 97.63 272.66 T
(\245) 84.96 252.66 T
-0.26 (First, the slot initializers of every slot are evaluated from left to right. If a slot initializer con-) 98.42 252.66 P
1.38 (tains another object literal, this literal is constructed before the initializer containing it is) 98.42 238.66 P
(evaluated. If the initializer is an expression, its code is evaluated in the root context.) 98.42 224.66 T
(\245) 84.96 204.66 T
0.55 (Second, the object is created, and its slots are initialized with the results of the evaluations) 98.42 204.66 P
(performed in the first step.) 98.42 190.66 T
0.67 (Slot initializers are ) 71.42 170.66 P
3 F
0.67 (not) 167.03 170.66 P
4 F
0.67 ( evaluated in the lexical context, since none exists at parse time; they are) 182.36 170.66 P
-0.6 (evaluated in the root context, i.e. with the ) 71.42 156.66 P
3 F
-0.6 (lobby) 268.83 156.66 P
0 F
-0.5 (\340) 295.48 161.46 P
4 F
-0.6 ( as the receiver) 300.48 156.66 P
-0.6 (. The two-phase object construction) 370.28 156.66 P
0.26 (process implies that slot initializers may not refer to any other slots within the constructed object) 71.42 142.66 P
71.42 116.44 539.42 136.53 C
71.42 124.43 203.4 124.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 113.77 T
0 F
(The block traits object is a prede\336ned object shared by all blocks.) 79.42 109.77 T
11 F
1.17 (\340 ) 71.42 99.77 P
0 F
1.46 (The root context object is called \322the lobby\323 because it is the starting point from which other objects can be) 81.75 95.77 P
-0.05 (reached. The lobby is sometimes called \322the root object,\323 but this term is slightly misleading because the lobby is not) 71.42 84.77 P
0.45 (the \322root\323 of the inheritance graph. Inheritance relationships in S) 71.42 73.77 P
1 F
0.41 (ELF) 334.76 73.77 P
0 F
0.45 ( can form arbitrary \050possibly disconnected\051 di-) 350.73 73.77 P
(rected graphs, not just a single tree.) 71.42 62.77 T
71.42 55.44 539.42 716.11 C
89.42 550.66 521.42 704.11 C
89.42 550.66 521.42 704.11 R
7 X
0 K
V
173.68 584.31 287.68 632.81 R
3 X
V
170.68 587.31 284.68 635.81 R
7 X
V
1 H
2 Z
0 X
N
23 F
(\050scope\051) 180.36 607.62 T
171.68 619.24 284.68 619.24 2 L
0.5 H
N
226.63 635.49 226.63 587.31 2 L
N
(parent*) 181.97 624.19 T
171.68 602.66 284.68 602.66 2 L
N
(value) 185.55 591.71 T
90 450 1.5 1.51 255.84 627.51 G
90 450 1.5 1.51 255.84 627.51 A
230.32 661.6 292.32 679.6 R
3 X
V
336.81 656.94 440.21 691.9 R
V
326.54 583.72 440.54 616.05 R
V
314.11 597.9 322.77 595.42 314.11 592.94 314.11 595.42 4 Y
0 X
V
255.81 595.42 315.11 595.42 2 L
1 H
N
323.54 586.72 437.54 619.05 R
7 X
V
0 X
N
(3 + 4) 362.92 592.93 T
324.54 604.78 437.54 604.78 2 L
0.5 H
N
379.5 619.29 379.5 604.4 2 L
N
(\050parent*\051) 331.18 608.65 T
333.81 659.94 437.21 694.9 R
7 X
V
0 Z
0 X
N
(activation object) 347.79 669.06 T
(enclosing method\325) 340.04 681.8 T
(s) 428.38 681.8 T
405.74 651.29 408.22 659.94 410.7 651.29 408.22 651.29 4 Y
V
408.22 612.46 408.22 652.29 2 L
1 H
2 Z
N
227.32 664.6 289.32 682.6 R
7 X
V
0.5 H
0 Z
0 X
N
(block traits) 233.07 670.33 T
325.18 657.38 333.8 659.94 327.85 653.2 326.51 655.29 4 Y
V
255.81 610.66 327.36 655.82 2 L
1 H
2 Z
N
253.44 655.97 255.99 664.6 258.4 655.93 255.92 655.95 4 Y
V
255.68 627.13 255.93 656.95 2 L
N
90 450 1.5 1.51 255.84 611.43 G
0.5 H
90 450 1.5 1.51 255.84 611.43 A
90 450 1.5 1.51 255.84 595.42 G
90 450 1.5 1.51 255.84 595.42 A
90 450 1.5 1.51 408.22 612.42 G
90 450 1.5 1.51 408.22 612.42 A
169.24 576.88 M
171.25 573.88 171.25 573.88 172.98 572.88 D
174.7 571.88 174.7 571.88 179.01 571.12 D
183.33 570.38 183.33 570.38 187.81 570.28 D
192.3 570.19 192.3 570.19 196.49 570.41 D
200.68 570.63 200.68 570.63 205.22 571.3 D
209.76 571.97 209.76 571.97 212.73 572.42 D
215.7 572.86 215.7 572.86 217.97 572.64 D
220.24 572.42 220.24 572.42 223.3 571.41 D
226.36 570.41 226.36 570.41 227.23 569.74 D
N
285.3 576.88 M
283.29 573.88 283.29 573.88 281.56 572.88 D
279.84 571.88 279.84 571.88 275.53 571.12 D
271.21 570.38 271.21 570.38 266.73 570.28 D
262.24 570.19 262.24 570.19 258.05 570.41 D
253.86 570.63 253.86 570.63 249.32 571.3 D
244.78 571.97 244.78 571.97 241.81 572.42 D
238.84 572.86 238.84 572.86 236.57 572.64 D
234.3 572.42 234.3 572.42 231.24 571.41 D
228.18 570.41 228.18 570.41 227.31 569.74 D
N
322.48 576.88 M
324.49 573.88 324.49 573.88 326.22 572.88 D
327.94 571.88 327.94 571.88 332.26 571.12 D
336.57 570.38 336.57 570.38 341.05 570.28 D
345.54 570.19 345.54 570.19 349.73 570.41 D
353.92 570.63 353.92 570.63 358.46 571.3 D
363 571.97 363 571.97 365.97 572.42 D
368.94 572.86 368.94 572.86 371.21 572.64 D
373.48 572.42 373.48 572.42 376.54 571.41 D
379.6 570.41 379.6 570.41 380.47 569.74 D
N
438.54 576.88 M
436.53 573.88 436.53 573.88 434.8 572.88 D
433.08 571.88 433.08 571.88 428.77 571.12 D
424.45 570.38 424.45 570.38 419.97 570.28 D
415.48 570.19 415.48 570.19 411.29 570.41 D
407.1 570.63 407.1 570.63 402.56 571.3 D
398.02 571.97 398.02 571.97 395.05 572.42 D
392.08 572.86 392.08 572.86 389.81 572.64 D
387.54 572.42 387.54 572.42 384.48 571.41 D
381.42 570.41 381.42 570.41 380.55 569.74 D
N
171.47 551.88 283.07 565.28 R
7 X
V
5 F
0 X
(block) 214.45 557.94 T
324.71 551.88 436.31 565.28 R
7 X
V
0 X
(block method) 347.85 557.94 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "5" 96
%%Page: "6" 96
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-6) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Objects) 508.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.1 (\050as with Scheme\325) 71.42 708.11 P
0.1 (s ) 154.23 708.11 P
7 F
0.23 (let*) 161.99 708.11 P
4 F
0.1 ( and ) 190.77 708.11 P
7 F
0.23 (letrec) 214.28 708.11 P
4 F
0.1 ( forms\051, and more generally) 257.45 708.11 P
0.1 (, a slot initializer may not refer) 390.62 708.11 P
(to any textually-enclosing object literal, since these haven\325) 71.42 694.11 T
(t been created yet.) 353.01 694.11 T
FMENDPAGE
%%EndPage: "6" 97
%%Page: "7" 97
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-7) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Slot descriptors) 476.96 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(3 Slot descriptors) 71.42 705.45 T
4 F
-0.32 (An object can have any number of slots. Slots can contain data \050) 71.42 682.11 P
3 F
-0.32 (data slots) 375.74 682.11 P
4 F
-0.32 (\051 or methods. Some slots) 421.75 682.11 P
0.71 (have special roles: ) 71.42 668.11 P
3 F
0.71 (ar) 165.15 668.11 P
0.71 (gument slots) 175.37 668.11 P
4 F
0.71 ( are \336lled in with the actual ar) 236.38 668.11 P
0.71 (guments during a message send) 384.69 668.11 P
(\050\244III-4.3\051, and ) 71.42 654.11 T
3 F
(par) 142.69 654.11 T
(ent slots) 158.9 654.11 T
4 F
( specify inheritance relationships \050\244III-5.2\051.) 198.55 654.11 T
0.55 (A ) 71.42 634.11 P
3 F
0.55 (slot descriptor) 83.63 634.11 P
4 F
0.55 ( consists of an optional privacy speci\336cation, followed by the slot name and an) 153.82 634.11 P
(optional initializer) 71.42 620.11 T
(.) 159.05 620.11 T
10 F
(3.1 Slot privacy) 71.42 586.78 T
3 F
-0.42 (Slot privacy) 71.42 566.11 P
4 F
-0.42 ( delimits the public and private interfaces to an object. Public slots may be accessed by) 128.63 566.11 P
-0.2 (message sends anywhere in the system, while private slots are accessible only within the same ab-) 71.42 552.11 P
3.69 (straction. \050The semantics of privacy declarations are de\336ned in \244III-5.4 and explained in) 71.42 538.11 P
-0.26 ([CUC91].\051 Slots without explicitly declared privacy are treated as public slots. This permits priva-) 71.42 524.11 P
-0.17 (cy declarations to be omitted during exploratory development phases and added later when the in-) 71.42 510.11 P
-0.51 (terfaces have become more stable.) 71.42 496.11 P
0 F
-0.43 (\240) 234.22 500.91 P
4 F
-0.51 ( Slot privacy syntax is summarized in the table below; \324) 239.21 496.11 P
7 F
-1.23 (^_) 501.23 496.11 P
4 F
-0.51 (\325 and) 515.63 496.11 P
0.35 (\324) 71.42 482.11 P
7 F
0.84 (_^) 75.42 482.11 P
4 F
0.35 (\325 can only be used for assignable slots. \050Slots names may not begin with an underscore \050\324_\325\051;) 89.81 482.11 P
(see \244III-6.2.\051) 71.42 468.11 T
10 F
(3.2 Read-only slots) 71.42 302.87 T
4 F
-0.52 (A slot name followed by an equals sign \050\324) 71.42 282.21 P
7 F
-1.26 (=) 267.75 282.21 P
4 F
-0.52 (\325\051 and an expression represents a ) 274.95 282.21 P
3 F
-0.52 (r) 431.66 282.21 P
-0.52 (ead-only variable) 435.88 282.21 P
4 F
-0.52 ( ini-) 520.29 282.21 P
(tialized to the result of evaluating the expression in the root context. ) 71.42 268.21 T
(For example, a constant point might be de\336ned as:) 71.42 248.21 T
7 F
(\050 | ) 93.02 228.21 T
(parent* = traits point.) 143.42 228.21 T
(x = 3 + 4.) 143.42 214.21 T
(y = 5.) 143.42 200.21 T
(| \051) 93.02 186.21 T
71.42 91.44 539.42 111.53 C
71.42 99.43 203.4 99.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
-0.18 (\240 ) 71.42 88.77 P
0 F
-0.23 (For slots that are not part of the public interface but cannot be made private due to the semantics for slot privacy) 79.05 84.77 P
-0.23 (, the) 522.44 84.77 P
-0.24 (convention is to leave the slot formally unmarked \050so that it behaves as a public slot\051, but decorated with the comment) 71.42 73.77 P
(\324) 71.42 62.77 T
20 F
("_") 74.75 62.77 T
0 F
(\325 as an indication that it is not intended to be part of the public interface.) 92.74 62.77 T
71.42 55.44 539.42 716.11 C
134.97 332.21 475.88 464.11 C
134.97 332.21 475.88 464.11 R
7 X
0 K
V
11 F
0 X
(SYNTAX) 205.89 438.09 T
(DATA) 266.78 438.09 T
(SLOT) 290.98 438.09 T
(ASSIGNMENT) 331.53 438.09 T
( SLOT) 385.06 438.09 T
(none) 211.75 420.09 T
(public) 278.88 420.09 T
(public) 359.3 420.09 T
(^) 217.65 402.09 T
(public) 278.88 402.09 T
(public) 359.3 402.09 T
(_) 217.52 384.09 T
(private) 277.77 384.09 T
(private) 358.19 384.09 T
(^_) 215.65 366.09 T
(public) 278.88 366.09 T
(private) 358.19 366.09 T
(_^) 215.65 348.09 T
(private) 277.77 348.09 T
(public) 359.3 348.09 T
193.01 341.62 411.74 448.76 R
0.5 H
2 Z
N
193.01 430.9 411.74 430.9 2 L
N
251.04 448.76 251.04 341.62 2 L
N
326.92 448.76 326.92 341.62 2 L
N
193.01 341.62 411.74 450.72 R
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "7" 98
8 12 /Symbol FMDEFINEFONT
%%Page: "8" 98
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-8) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Slot descriptors) 476.96 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(The resulting point contains three initialized read-only slots:) 71.42 708.11 T
10 F
(3.3 Read/write slots) 71.42 580.87 T
4 F
-0.07 (There is no separate assignment operation in S) 71.42 560.21 P
6 F
-0.06 (ELF) 294.47 560.21 P
4 F
-0.07 (. Instead, assignments to data slots are message) 313.04 560.21 P
0.16 (sends that invoke the assignment primitive. For example, a data slot ) 71.42 546.21 P
7 F
0.39 (x) 402 546.21 P
4 F
0.16 ( is assignable if and only if) 409.2 546.21 P
-0.37 (there is a slot in the same object with the same name appended with a colon \050in this case, ) 71.42 532.21 P
7 F
-0.89 (x:) 494.1 532.21 P
4 F
-0.37 (\051, con-) 508.49 532.21 P
-0.52 (taining the assignment primitive. Therefore, assigning ) 71.42 518.21 P
7 F
-1.25 (17) 330.79 518.21 P
4 F
-0.52 ( to slot ) 345.18 518.21 P
7 F
-1.25 (x) 379.27 518.21 P
4 F
-0.52 ( ) 386.47 518.21 P
-0.52 (consists of sending the message) 388.95 518.21 P
7 F
0.08 (x: 17) 71.42 504.21 P
4 F
0.04 (.) 107.49 504.21 P
0.04 ( Since this is indistinguishable from a message send that invokes a method, clients do not) 110.49 504.21 P
(need to know if ) 71.42 490.21 T
7 F
(x) 149.37 490.21 T
4 F
( and ) 156.57 490.21 T
7 F
(x:) 179.88 490.21 T
4 F
( comprise data slot accesses or method invocations.) 194.27 490.21 T
0.27 (An identi\336er followed by a left arrow \050the characters \324) 71.42 470.21 P
7 F
0.64 (<) 333.93 470.21 P
4 F
0.27 (\325 and \324) 341.13 470.21 P
7 F
0.64 (-) 372.97 470.21 P
4 F
0.27 (\325 concatenated to form \324) 380.16 470.21 P
7 F
0.64 (<-) 496.46 470.21 P
4 F
0.27 (\325\051 and) 510.85 470.21 P
0.59 (an expression represents an initialized ) 71.42 456.21 P
3 F
0.59 (r) 259.91 456.21 P
0.59 (ead/write variable) 264.13 456.21 P
4 F
0.59 ( \050assignable data slot\051. The object will) 353 456.21 P
-0.1 (contain both a data slot of that name and a corresponding assignment slot whose name is obtained) 71.42 442.21 P
-0.45 (by appending a colon to the data slot name. The initializing expression is evaluated in the root con-) 71.42 428.21 P
(text and the result stored into the data slot at parse time.) 71.42 414.21 T
(For example, an initialized mutable point might be de\336ned as:) 71.42 394.21 T
7 F
(\050 | ) 93.02 374.21 T
(parent* = traits point.) 143.42 374.21 T
(x <- 3 + 4.) 143.42 360.21 T
(y <- 5. ) 143.42 346.21 T
(| \051) 93.02 332.21 T
4 F
-0.54 (producing an object with two data slots \050) 71.42 312.21 P
7 F
-1.3 (x) 263.16 312.21 P
4 F
-0.54 ( and ) 270.36 312.21 P
7 F
-1.3 (y) 292.59 312.21 P
4 F
-0.54 (\051 and two assignment slots \050) 299.79 312.21 P
7 F
-1.3 (x:) 431.33 312.21 P
4 F
-0.54 ( and ) 445.72 312.21 P
7 F
-1.3 (y:) 467.95 312.21 P
4 F
-0.54 (\051 containing) 482.34 312.21 P
(the assignment primitive \050depicted with ) 71.42 298.21 T
(\051:) 278.37 298.21 T
-0.07 (An identi\336er by itself speci\336es an assignable data slot initialized to ) 71.42 147.82 P
3 F
-0.07 (nil.) 394.79 147.82 P
0 F
-0.06 (\240) 410.45 152.62 P
4 F
-0.07 ( Thus, the slot declaration) 415.45 147.82 P
7 F
(x) 71.42 133.82 T
4 F
( is a shorthand notation for ) 78.62 133.82 T
7 F
(x <- nil) 210.54 133.82 T
4 F
(.) 268.1 133.82 T
(For example, a simple mutable point might be de\336ned as:) 71.42 113.82 T
7 F
(\050 | x. y. | \051) 143.42 93.82 T
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(Nil is a prede\336ned object provided by the implementation. It is intended to indicate \322not a useful object.\323) 79.42 62.77 T
71.42 55.44 539.42 716.11 C
89.42 610.21 521.42 704.11 C
89.42 610.21 521.42 704.11 R
7 X
0 K
V
280.42 680.18 342.42 697.31 R
3 X
V
228.42 614.84 342.42 664.41 R
V
372.42 617.84 387.42 628.36 R
V
372.42 635.12 387.42 646.39 R
V
277.42 683.18 339.42 700.31 R
7 X
V
0.5 H
0 Z
0 X
N
225.42 617.84 339.42 667.41 R
7 X
V
1 H
2 Z
0 X
N
23 F
(x) 250.68 638.92 T
226.42 651.64 339.42 651.64 2 L
0.5 H
N
226.42 635.11 339.42 635.11 2 L
N
282.42 667.41 282.42 618.59 2 L
N
(y) 250.68 622.4 T
(parent*) 236.71 653.95 T
357.77 645.48 366.42 643 357.77 640.52 357.77 643 4 Y
V
311.42 643 358.77 643 2 L
1 H
N
307.44 674.54 309.92 683.19 312.4 674.54 309.92 674.54 4 Y
V
309.92 659.15 309.92 675.54 2 L
N
357.77 628.96 366.42 626.48 357.77 624 357.77 626.48 4 Y
V
311.42 626.48 358.77 626.48 2 L
N
(point traits) 284.08 688.5 T
369.42 638.12 384.42 649.39 R
7 X
V
0.5 H
0 X
N
(7) 373.37 639.68 T
369.42 620.84 384.42 631.36 R
7 X
V
0 X
N
(5) 373.37 622.4 T
90 450 1.5 1.51 309.92 626.48 G
90 450 1.5 1.51 309.92 626.48 A
90 450 1.5 1.51 309.92 643 G
90 450 1.5 1.51 309.92 643 A
90 450 1.5 1.51 309.92 659.92 G
90 450 1.5 1.51 309.92 659.92 A
71.42 55.44 539.42 716.11 C
0 0 612 792 C
264.97 294.21 278.37 307.6 C
264.97 294.21 278.37 307.6 R
7 X
0 K
V
8 F
0 X
(\254) 266 298.82 T
0 0 612 792 C
71.42 55.44 539.42 716.11 C
89.42 163.82 521.42 294.21 C
89.42 163.82 521.42 294.21 R
7 X
0 K
V
228.42 169.13 342.42 250.77 R
3 X
V
280.42 267.34 342.42 284.08 R
V
277.42 270.34 339.42 287.08 R
7 X
V
0.5 H
0 Z
0 X
N
225.42 172.13 339.42 253.77 R
7 X
V
1 H
0 X
N
23 F
(x) 250.68 226.63 T
226.42 237.9 339.42 237.9 2 L
0.5 H
2 Z
N
226.42 222.02 339.42 222.02 2 L
N
282.42 253.77 282.42 173.64 2 L
N
(y) 250.68 193.37 T
(parent*) 237.71 242.51 T
357.77 232.06 366.42 229.58 357.77 227.1 357.77 229.58 4 Y
V
311.42 229.58 358.77 229.58 2 L
1 H
N
307.44 261 309.92 269.65 312.4 261 309.92 261 4 Y
V
309.92 245.46 309.92 262 2 L
N
226.42 204.64 339.42 204.64 2 L
0.5 H
N
226.42 188.01 339.42 188.01 2 L
N
(x:) 249.15 210 T
(y:) 249.15 177.49 T
357.77 198.8 366.42 196.32 357.77 193.84 357.77 196.32 4 Y
V
311.42 196.32 358.77 196.32 2 L
1 H
N
90 450 1.5 1.51 309.92 196.32 G
0.5 H
90 450 1.5 1.51 309.92 196.32 A
(point traits) 283.08 275.77 T
8 F
(\254) 304.51 208.68 T
(\254) 304.51 176.18 T
90 450 1.5 1.51 309.92 229.58 G
90 450 1.5 1.51 309.92 229.58 A
90 450 1.5 1.51 309.92 245.59 G
90 450 1.5 1.51 309.92 245.59 A
373.66 187.07 388.66 197.59 R
3 X
V
373.66 221.91 388.66 233.17 R
V
370.66 224.91 385.66 236.17 R
7 X
V
0 X
N
23 F
(7) 374.6 226.46 T
370.66 190.07 385.66 200.59 R
7 X
V
0 X
N
(5) 374.6 191.63 T
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "8" 99
%%Page: "9" 99
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-9) 296.85 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Slot descriptors) 476.96 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(producing:) 71.42 708.11 T
10 F
(3.4 Slots containing methods) 71.42 599.3 T
4 F
0.56 (If the initializing expression is a single object literal with code, that object is stored into the slot) 71.42 578.64 P
3 F
0.29 (without evaluating the code) 71.42 564.64 P
4 F
0.29 (. This allows a slot to be initialized to an outer method by storing the) 205.22 564.64 P
0.85 (outer method itself, rather than its result, in the slot.) 71.42 550.64 P
0 F
0.71 (\240) 327.6 555.44 P
4 F
0.85 ( Methods may only be stored in read-only) 332.6 550.64 P
-0.42 (slots. An outer method automatically receives a parent ar) 71.42 536.64 P
-0.42 (gument slot named ) 341.29 536.64 P
7 F
-1.01 (self) 434.3 536.64 P
4 F
-0.42 ( with parent pri-) 463.08 536.64 P
(ority one \050the highest possible priority\051. For example, a point addition method can be written as:) 71.42 522.64 T
7 F
(\050 |) 93.02 502.64 T
(+ = \050 | :arg | \050clone x: x + arg x\051 y: y + arg y \051.) 143.42 488.64 T
(| \051) 93.02 474.64 T
4 F
(producing:) 71.42 454.64 T
0.44 (A slot name beginning with a colon indicates an ) 71.42 355.54 P
3 F
0.44 (ar) 309.53 355.54 P
0.44 (gument slot) 319.75 355.54 P
4 F
0.44 (. The pre\336xed colon is not part of) 375.82 355.54 P
0.51 (the slot name and is ignored when matching the name against a message. Ar) 71.42 341.54 P
0.51 (gument slots are al-) 443.62 341.54 P
-0.31 (ways read-only) 71.42 327.54 P
-0.31 (, and no initializer may be speci\336ed for them. As a syntactic convenience, the ar) 143.94 327.54 P
-0.31 (gu-) 523.44 327.54 P
1.62 (ment name may also be written immediately after the slot name \050without the pre\336xed colon\051,) 71.42 313.54 P
0.12 (thereby implicitly declaring the ar) 71.42 299.54 P
0.12 (gument slot. Thus, the following yields exactly the same object) 234.89 299.54 P
(as above:) 71.42 285.54 T
7 F
(\050 |) 93.02 265.53 T
(+ arg = \050 \050clone x: x + arg x\051 y: y + arg y \051.) 143.42 251.53 T
(| \051) 93.02 237.53 T
4 F
0.33 (The ) 71.42 217.53 P
7 F
0.8 (+) 93.4 217.53 P
4 F
0.33 ( slot above is a ) 100.6 217.53 P
3 F
0.33 (binary slot) 176.55 217.53 P
4 F
0.33 ( \050\244III-4.2\051) 228.53 217.53 P
0.33 (, taking one ar) 276.82 217.53 P
0.33 (gument and having a name that consists) 346.21 217.53 P
-0.21 (of operator symbols. Slots like ) 71.42 203.53 P
7 F
-0.51 (x) 220.27 203.53 P
4 F
-0.21 ( or ) 227.47 203.53 P
7 F
-0.51 (y) 243.02 203.53 P
4 F
-0.21 ( in a point object are ) 250.22 203.53 P
3 F
-0.21 (unary slots) 350.2 203.53 P
4 F
-0.21 ( \050\244III-4.1\051, which take no ar-) 402.95 203.53 P
1.52 (guments and have simple identi\336ers for names. In addition, there are ) 71.42 189.53 P
3 F
1.52 (keywor) 420.25 189.53 P
1.52 (d slots) 454.44 189.53 P
4 F
1.52 ( \050\244III-4.3\051,) 486.95 189.53 P
-0.28 (which handle messages that require one or more ar) 71.42 175.53 P
-0.28 (guments. A keyword slot name is a sequence of) 312.8 175.53 P
(identi\336ers, each followed with a colon.) 71.42 161.53 T
-0.06 (The ar) 71.42 141.53 P
-0.06 (guments in keyword methods are handled analogously to those in binary methods: each co-) 102.12 141.53 P
-0.58 (lon-terminated identi\336er in a keyword slot name requires a corresponding ar) 71.42 127.53 P
-0.58 (gument slot in the key-) 431.14 127.53 P
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.02 (\240 ) 71.42 77.77 P
0 F
0.02 (Although blocks may be stored into slots, it is not useful to do so: evaluating the slot will result in an error because) 79.46 73.77 P
(the block\325) 71.42 62.77 T
(s home \050the context that created it\051 has returned; see \244III-2.4.4) 111.12 62.77 T
16 F
(.) 360.36 62.77 T
71.42 55.44 539.42 716.11 C
89.42 628.64 521.42 704.11 C
89.42 628.64 521.42 704.11 R
7 X
0 K
V
405.29 682.3 430.29 694.15 R
3 X
V
230.44 632.65 344.44 697.05 R
V
227.44 635.65 341.44 700.05 R
7 X
V
1 H
0 Z
0 X
N
23 F
(x) 252.44 688.96 T
228.44 683.77 341.44 683.77 2 L
0.5 H
2 Z
N
284.44 700.05 284.44 637.13 2 L
N
(y) 252.44 656.39 T
228.44 667.48 341.44 667.48 2 L
N
228.44 651.2 341.44 651.2 2 L
N
(x:) 252.44 671.93 T
(y:) 252.44 640.1 T
402.29 685.3 427.29 697.15 R
7 X
V
0 Z
0 X
N
(nil) 408.79 687.54 T
8 F
(\254) 306.52 671.4 T
(\254) 306.52 639.57 T
392.75 694.2 401.4 691.72 392.75 689.24 392.75 691.72 4 Y
V
312.12 691.72 393.75 691.72 2 L
2 Z
N
394.36 685.81 401.9 690.72 398.1 682.56 396.23 684.18 4 Y
V
312.62 659.47 M
370.39 659.47 374.76 659.47 396.24 684.15 D
0 Z
N
90 450 1.5 1.51 311.92 691.72 G
2 Z
90 450 1.5 1.51 311.92 691.72 A
90 450 1.5 1.51 311.92 659.48 G
90 450 1.5 1.51 311.92 659.48 A
71.42 55.44 539.42 716.11 C
0 0 612 792 C
71.42 55.44 539.42 716.11 C
89.42 371.54 521.42 450.64 C
89.42 371.54 521.42 450.64 R
7 X
0 K
V
316.42 379.2 434.42 439.34 R
3 X
V
170.74 399.06 271.8 421.77 R
V
313.42 382.2 431.42 442.34 R
7 X
V
1 H
0 Z
0 X
N
313.42 406.77 431.42 406.77 2 L
2 Z
N
372.42 442.34 372.42 406.77 2 L
0.5 H
N
23 F
(:arg) 335.96 412.27 T
5 F
(\050clone x: x + arg x\051) 327.09 395.33 T
314.42 425.4 430.42 425.4 2 L
N
23 F
(:self*) 333.21 429.21 T
5 F
(y: y + arg y) 345.4 386.86 T
167.74 402.06 268.8 424.77 R
7 X
V
1 H
0 X
N
217.34 424.55 217.34 402.06 2 L
0.5 H
N
23 F
(+) 189.54 411.01 T
303.97 416.16 312.62 413.68 303.97 411.2 303.97 413.68 4 Y
V
244.47 413.68 304.97 413.68 2 L
1 H
N
90 450 1.5 1.51 242.7 413.92 G
0.5 H
90 450 1.5 1.51 242.7 413.92 A
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "9" 100
%%Page: "10" 100
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-10) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Slot descriptors) 476.96 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
2.01 (word method object, and the ar) 71.42 708.11 P
2.01 (gument slots may be speci\336ed either all in the method or all) 230.48 708.11 P
(interspersed with the selector parts.) 71.42 694.11 T
(For example:) 71.42 674.11 T
7 F
(\050 |) 93.02 654.11 T
(ifTrue: False: = ) 107.42 640.11 T
(\050 | :trueBlock. :falseBlock |) 233.42 640.11 T
(trueBlock value \051.) 233.42 626.11 T
(| \051) 93.02 612.11 T
4 F
(and) 71.42 592.11 T
7 F
(\050 |) 93.02 572.11 T
(ifTrue: trueBlock False: falseBlock = \050 trueBlock value \051.) 107.42 558.11 T
(| \051) 93.02 544.11 T
4 F
(produce identical objects.) 71.42 524.11 T
10 F
(3.5 Par) 71.42 490.78 T
(ent slots) 117.42 490.78 T
4 F
-0.58 (A unary slot name followed by one or more asterisks denotes a ) 71.42 470.11 P
3 F
-0.58 (par) 369.55 470.11 P
-0.58 (ent slot) 385.77 470.11 P
4 F
-0.58 (. The number of asterisks) 420.17 470.11 P
0.41 (indicates the priority level of the parent, with one asterisk being the highest priority) 71.42 456.11 P
0.41 (. The trailing) 476.32 456.11 P
-0.21 (asterisks are not part of the slot name and are ignored when matching the name against a message.) 71.42 442.11 P
-0.26 (Except for their special meaning during the message lookup process \050\244III-5.2\051, parent slots are ex-) 71.42 428.11 P
-0.19 (actly like normal unary slots; in particular) 71.42 414.11 P
-0.19 (, they may be assignable, allowing ) 270.97 414.11 P
3 F
-0.19 (dynamic inheritance) 438.36 414.11 P
4 F
-0.19 (.) 536.42 414.11 P
(Ar) 71.42 400.11 T
(gument slots cannot be parent slots.) 83.86 400.11 T
FMENDPAGE
%%EndPage: "10" 101
%%Page: "11" 101
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-11) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Expressions) 491.12 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(4 Expr) 71.42 705.45 T
(essions) 121.78 705.45 T
3 F
0.07 (Expr) 71.42 682.11 P
0.07 (essions) 94.29 682.11 P
4 F
0.07 ( in S) 128.94 682.11 P
6 F
0.07 (ELF) 151.09 682.11 P
4 F
0.07 ( are ) 170.62 682.11 P
3 F
0.07 (messages) 191.41 682.11 P
4 F
0.07 ( sent to some object, the ) 236.71 682.11 P
3 F
0.07 (r) 356.08 682.11 P
0.07 (eceiver) 360.3 682.11 P
0.07 (. ) 393.59 682.11 P
4 F
0.07 (S) 399.66 682.11 P
6 F
0.07 (ELF) 406.33 682.11 P
4 F
0.07 ( message syntax is sim-) 425.86 682.11 P
0.03 (ilar to Smalltalk\325) 71.42 668.11 P
0.03 (s. S) 152.12 668.11 P
6 F
0.03 (ELF) 169.49 668.11 P
4 F
0.03 ( provides three basic kinds of messages: unary messages, binary messag-) 189.02 668.11 P
0.58 (es, and keyword messages. Each has its own syntax, associativity) 71.42 654.11 P
0.58 (, and precedence. Each type of) 389.66 654.11 P
(message can be sent either to an explicit or implicit ) 71.42 640.11 T
(receiver) 320.59 640.11 T
(.) 358.55 640.11 T
(Productions:) 71.42 620.11 T
0 F
(\240) 132.06 624.91 T
3 F
(expression) 107.42 600.11 T
8 F
(\256) 198 600.11 T
3 F
(constant) 216 600.11 T
4 F
( | ) 256.65 600.11 T
3 F
(unary-message) 265.04 600.11 T
4 F
( | ) 337.65 600.11 T
3 F
(binary-message) 346.05 600.11 T
4 F
( | ) 421.99 600.11 T
3 F
(keyword-message) 430.38 600.11 T
(constant) 107.42 576.11 T
8 F
(\256) 198 576.11 T
7 F
(self) 216 576.11 T
4 F
( | ) 244.78 576.11 T
3 F
(number) 253.18 576.11 T
4 F
( | ) 289.82 576.11 T
3 F
(string) 298.21 576.11 T
4 F
( | ) 326.21 576.11 T
3 F
(object) 334.6 576.11 T
(unary-message) 107.42 552.11 T
8 F
(\256) 198 552.11 T
3 F
(receiver unary-send) 216 552.11 T
4 F
( | ) 312.25 552.11 T
3 F
(resend) 320.64 552.11 T
4 F
( \324) 352.62 552.11 T
7 F
(.) 359.61 552.11 T
4 F
(\325) 366.8 552.11 T
3 F
( unary-send) 370.8 552.11 T
(unary-send) 107.42 528.11 T
8 F
(\256) 198 528.11 T
3 F
(identifier) 216 528.11 T
(binary-message) 107.42 504.11 T
8 F
(\256) 198 504.11 T
3 F
(receiver binary-send ) 216 504.11 T
4 F
(| ) 318.58 504.11 T
3 F
(resend ) 323.98 504.11 T
4 F
(\324) 358.95 504.11 T
7 F
(.) 362.94 504.11 T
4 F
(\325) 370.14 504.11 T
3 F
( binary-send) 374.13 504.11 T
(binary-send) 107.42 480.11 T
8 F
(\256) 198 480.11 T
3 F
(operator expression) 216 480.11 T
(keyword-message) 107.42 456.11 T
8 F
(\256) 198 456.11 T
3 F
(receiver keyword-send ) 216 456.11 T
4 F
( | ) 327.9 456.11 T
3 F
(resend) 336.29 456.11 T
4 F
( \324) 368.27 456.11 T
7 F
(.) 375.26 456.11 T
4 F
(\325) 382.46 456.11 T
3 F
( keyword-send) 386.45 456.11 T
(keyword-send) 107.42 432.11 T
8 F
(\256) 198 432.11 T
3 F
(small-keyword expression) 216 432.11 T
4 F
( { ) 340.91 432.11 T
3 F
(cap-keyword expression) 352.67 432.11 T
4 F
( }) 468.9 432.11 T
3 F
(receiver) 107.42 408.11 T
8 F
(\256) 198 408.11 T
4 F
([ ) 216 408.11 T
3 F
(expression ) 222.99 408.11 T
4 F
(]) 277.29 408.11 T
3 F
(resend) 107.42 384.11 T
8 F
(\256) 198 384.11 T
7 F
(resend) 216 384.11 T
4 F
( | ) 259.18 384.11 T
3 F
(identifier) 267.57 384.11 T
4 F
(The table below summarizes S) 71.42 360.11 T
6 F
(ELF) 218.65 360.11 T
4 F
(\325) 238.19 360.11 T
(s message syntax rules:) 241.52 360.11 T
10 F
(4.1 Unary messages) 71.42 186.2 T
4 F
0.07 (A ) 71.42 165.53 P
3 F
0.07 (unary message) 83.15 165.53 P
4 F
0.07 ( does not specify any ar) 154.84 165.53 P
0.07 (guments other than its receiver) 268.56 165.53 P
0.07 (. It is written as an identi-) 416.07 165.53 P
(\336er following the receiver) 71.42 151.53 T
(.) 195.66 151.53 T
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.06 (\240 ) 71.42 77.77 P
0 F
0.08 (In order to simplify the presentation, this grammar is ambiguous; precedence and associativity rules are used to re-) 79.54 73.77 P
(solve the ambiguities.) 71.42 62.77 T
71.42 55.44 539.42 716.11 C
82.82 215.54 528.03 356.11 C
82.82 215.54 528.03 356.11 R
7 X
0 K
V
93.25 217.73 520.9 331.51 R
V
0 F
0 X
(M) 100.25 324.84 T
11 F
(ESSAGE) 109.13 324.84 T
0 F
(A) 155.65 324.84 T
11 F
(RGUMENTS) 162.87 324.84 T
0 F
(P) 217.92 324.84 T
11 F
(RECEDENCE) 223.48 324.84 T
0 F
(A) 285.1 324.84 T
11 F
(SSOCIATIVITY) 292.32 324.84 T
0 F
(S) 416.48 324.84 T
11 F
(YNTAX) 422.04 324.84 T
0 F
(unary) 100.25 304.84 T
(0) 178.75 304.84 T
(highest) 229.81 304.84 T
(none) 306.53 304.84 T
([) 393.97 304.84 T
16 F
(receiver) 397.3 304.84 T
0 F
(]) 430.04 304.84 T
16 F
( identifier) 433.37 304.84 T
0 F
(binary) 100.23 290.84 T
(1) 178.75 290.84 T
(medium) 227.87 290.84 T
(none or) 301.12 290.84 T
([) 372.18 290.84 T
16 F
(receiver) 375.51 290.84 T
0 F
(]) 408.26 290.84 T
16 F
( operator expression) 411.58 290.84 T
0 F
(left-to-right *) 289.18 278.84 T
(keyword) 100.23 262.84 T
18 F
(\263) 174.75 262.84 T
0 F
( 1) 180.24 262.84 T
(lowest) 231.2 262.84 T
(right-to-left) 292.93 262.84 T
([) 360.25 262.84 T
16 F
(receiver) 363.58 262.84 T
0 F
(]) 396.32 262.84 T
16 F
( small-keyword) 399.65 262.84 T
0 F
( ) 461 262.84 T
16 F
(expression ) 463.49 262.84 T
0 F
({) 377.52 250.84 T
16 F
( cap-keyword expression) 382.31 250.84 T
0 F
( }) 481.68 250.84 T
1 F
(* Heterogeneous binary messages have no associativity; homogeneous binary messages associate left-to-right.) 100.25 224.51 T
520.42 335.36 92.92 335.36 2 L
0.5 H
2 Z
N
146.03 337.36 146.03 237.36 2 L
N
92.92 318.36 520.67 318.36 2 L
N
520.67 337.36 92.92 337.36 2 L
N
357.03 337.36 357.03 237.36 2 L
N
278.03 337.36 278.03 237.36 2 L
N
213.03 337.36 213.03 237.36 2 L
N
92.92 237.36 520.67 237.36 2 L
N
520.57 336.98 520.57 237.61 2 L
N
92.82 337.36 92.82 237.36 2 L
N
92.92 238.95 520.42 238.95 2 L
N
71.42 55.44 539.42 716.11 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "11" 102
%%Page: "12" 102
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-12) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Expressions) 491.12 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(Examples of unary messages sent to explicit receivers:) 71.42 708.11 T
7 F
(17 print) 143.42 688.11 T
(5 factorial) 143.42 674.11 T
3 F
0.67 (Associativity) 71.42 654.11 P
0.67 (. ) 132.06 654.11 P
4 F
0.67 (Unary messages compose from left to right. An expression to print 5 factorial, for) 138.73 654.11 P
(example, is written:) 71.42 640.11 T
7 F
(5 factorial print) 143.42 620.11 T
4 F
(and interpreted as:) 71.42 600.11 T
7 F
(\0505 factorial\051 print) 143.42 580.11 T
3 F
4.11 (Pr) 71.42 560.11 P
4.11 (ecedence. ) 82.97 560.11 P
4 F
4.11 (Unary messages have higher precedence than binary messages and keyword) 137.03 560.11 P
(messages.) 71.42 546.11 T
10 F
(4.2 Binary messages) 71.42 512.78 T
4 F
(A ) 71.42 492.11 T
3 F
(binary message) 83.08 492.11 T
4 F
( has a receiver and a single ar) 158.03 492.11 T
(gument, separated by a binary operator) 299.35 492.11 T
(.) 485.87 492.11 T
(Examples of binary messages:) 71.42 472.11 T
7 F
(3 + 4) 143.42 452.11 T
(7 <-> 8) 143.42 438.11 T
3 F
0.91 (Associativity) 71.42 418.11 P
0.91 (. ) 132.06 418.11 P
4 F
0.91 (Binary messages have no associativity) 138.97 418.11 P
0.91 (, except between identical operators \050which) 326.38 418.11 P
(associate from left to right\051. For example,) 71.42 404.11 T
7 F
(3 + 4 + 7) 143.42 384.11 T
4 F
(is interpreted as) 71.42 364.11 T
7 F
(\0503 + 4\051 + 7) 143.42 344.11 T
4 F
(But) 71.42 324.11 T
7 F
(3 + 4 * 7) 143.42 304.11 T
4 F
(is illegal: the associativity must be made explicit by writing either ) 71.42 284.11 T
7 F
(\0503 + 4\051 * 7 or 3 + \0504 * 7\051. ) 143.42 264.11 T
3 F
-0.54 (Pr) 71.42 244.11 P
-0.54 (ecedence. ) 82.97 244.11 P
4 F
-0.54 (The precedence of binary messages is lower than unary messages but higher than key-) 132.38 244.11 P
(word messages. All binary messages have the same precedence. For example,) 71.42 230.11 T
7 F
(3 factorial + pi sine) 143.42 210.11 T
4 F
(is interpreted as) 71.42 190.11 T
7 F
(\0503 factorial\051 + \050pi sine\051) 143.42 170.11 T
10 F
(4.3 Keyword messages) 71.42 136.78 T
4 F
-0.02 (A ) 71.42 116.11 P
3 F
-0.02 (keywor) 83.07 116.11 P
-0.02 (d message) 117.26 116.11 P
4 F
-0.02 ( has a receiver and one or more ar) 166.87 116.11 P
-0.02 (guments. It is written as a receiver followed) 329.03 116.11 P
-0.23 (by a sequence of one or more keyword-ar) 71.42 102.11 P
-0.23 (gument pairs. The \336rst keyword must begin with a lower) 269.05 102.11 P
-0.57 (case letter or underscore \050\324) 71.42 88.11 P
7 F
-1.38 (_) 197 88.11 P
4 F
-0.57 (\325\051; subsequent keywords must be capitalized. A keyword message con-) 204.19 88.11 P
-0.15 (sists of the longest possible sequence of such keyword-ar) 71.42 74.11 P
-0.15 (gument pairs; the message selector is the) 344.47 74.11 P
FMENDPAGE
%%EndPage: "12" 103
%%Page: "13" 103
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-13) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Expressions) 491.12 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.11 (concatenation of the keywords forming the message. Message selectors beginning with an under-) 71.42 708.11 P
(score are reserved for ) 71.42 694.11 T
3 F
(primitives) 177.97 694.11 T
4 F
( \050\244III-5.1\051.) 225.95 694.11 T
(Example:) 71.42 674.11 T
7 F
(5 min: 4 Max: 7) 143.42 654.11 T
4 F
(is the single message ) 71.42 634.11 T
7 F
(min:Max:) 175.36 634.11 T
4 F
( sent to ) 232.93 634.11 T
7 F
(5) 270.58 634.11 T
4 F
( with ar) 277.77 634.11 T
(guments ) 314.2 634.11 T
7 F
(4) 357.84 634.11 T
4 F
( and ) 365.04 634.11 T
7 F
(7) 388.35 634.11 T
4 F
(, whereas) 395.55 634.11 T
7 F
(5 min: 4 max: 7) 143.42 614.11 T
4 F
-0.4 (involves two messages: \336rst the message ) 71.42 594.11 P
7 F
-0.95 (max:) 268.25 594.11 P
4 F
-0.4 ( sent to 4 and taking ) 297.03 594.11 P
7 F
-0.95 (7) 394.59 594.11 P
4 F
-0.4 ( as its ar) 401.79 594.11 P
-0.4 (gument, and then the) 440.02 594.11 P
(message ) 71.42 580.11 T
7 F
(min:) 115.06 580.11 T
4 F
( sent to 5, taking the result of ) 143.84 580.11 T
7 F
(\0504 max: 7\051) 286.75 580.11 T
4 F
( as its ar) 358.71 580.11 T
(gument.) 398.14 580.11 T
3 F
(Associativity) 71.42 560.11 T
(. ) 132.06 560.11 T
4 F
(Keyword messages associate from right to left, so) 138.06 560.11 T
7 F
(5 min: 6 min: 7 Max: 8 Max: 9 min: 10 Max: 11) 143.42 540.11 T
4 F
(is interpreted as) 71.42 520.11 T
7 F
(5 min: \0506 min: 7 Max: 8 Max: \0509 min: 10 Max: 11\051\051) 143.42 500.11 T
4 F
-0.15 (The association order and capitalization requirements are intended to reduce the number of paren-) 71.42 480.11 P
-0.23 (theses necessary in S) 71.42 466.11 P
6 F
-0.22 (ELF) 171.65 466.11 P
4 F
-0.23 ( code. For example, taking the minimum of two slots ) 191.18 466.11 P
7 F
-0.56 (m) 446.02 466.11 P
4 F
-0.23 ( and ) 453.22 466.11 P
7 F
-0.56 (n) 476.06 466.11 P
4 F
-0.23 ( and storing) 483.26 466.11 P
(the result into a data slot ) 71.42 452.11 T
7 F
(i) 192.02 452.11 T
4 F
( may be written as) 199.21 452.11 T
7 F
(i: m min: n) 143.42 432.11 T
3 F
(Pr) 71.42 412.11 T
(ecedence. ) 82.97 412.11 T
4 F
(Keyword messages have the lowest precedence. For example,) 132.91 412.11 T
7 F
(i: 5 factorial + pi sine) 143.42 392.11 T
4 F
(is interpreted as) 71.42 372.11 T
7 F
(i: \050\0505 factorial\051 + \050pi sine\051\051) 143.42 352.11 T
10 F
(4.4 Implicit-r) 71.42 318.78 T
(eceiver messages) 153.95 318.78 T
4 F
1.3 (Unary) 71.42 298.11 P
1.3 (, binary) 100.62 298.11 P
1.3 (, and keyword messages are frequently written without an explicit receiver) 137.77 298.11 P
1.3 (. Such) 508.14 298.11 P
0.52 (messages use the current receiver \050) 71.42 284.11 P
7 F
1.24 (self) 241.52 284.11 P
4 F
0.52 (\051 as the implied receiver) 270.3 284.11 P
0.52 (. The method lookup, however) 387.61 284.11 P
0.52 (,) 536.42 284.11 P
0.56 (begins at the current activation object rather than the current receiver \050see \244III-2.4 for details on) 71.42 270.11 P
-0.46 (activation objects\051. Thus, a message sent explicitly to ) 71.42 256.11 P
7 F
-1.11 (self) 326.88 256.11 P
4 F
-0.46 ( is ) 355.66 256.11 P
3 F
-0.46 (not) 368.73 256.11 P
4 F
-0.46 ( equivalent to an implicit-receiv-) 384.06 256.11 P
-0.36 (er send because the former won\325) 71.42 242.11 P
-0.36 (t search local slots before searching the receiver) 225.59 242.11 P
-0.36 (. Sending messag-) 452.53 242.11 P
(es to explicit ) 71.42 228.11 T
7 F
(self) 135.72 228.11 T
4 F
( is considered bad style.) 164.51 228.11 T
(Examples:) 71.42 208.11 T
7 F
(factorial) 143.42 188.11 T
4 F
(\050implicit-receiver unary message\051) 287.42 188.11 T
7 F
(+ 3) 143.42 174.11 T
4 F
(\050implicit-receiver binary message\051) 287.42 174.11 T
7 F
(max: 5) 143.42 160.11 T
4 F
(\050implicit-receiver keyword message\051) 287.42 160.11 T
7 F
(1 + power: 3) 143.42 146.11 T
4 F
(\050parsed as ) 287.42 146.11 T
7 F
(1 + \050power: 3\051) 338.71 146.11 T
4 F
(\051) 439.45 146.11 T
-0.28 (Accesses to a local data slot are also message sends to ) 71.42 126.11 P
7 F
-0.67 (self) 331.17 126.11 P
4 F
-0.28 (. For an assignable data slot named ) 359.95 126.11 P
7 F
-0.67 (t) 529.23 126.11 P
4 F
-0.28 (,) 536.42 126.11 P
(the message ) 71.42 112.11 T
7 F
(t) 132.71 112.11 T
4 F
( returns the contents, and ) 139.91 112.11 T
7 F
(t: 17) 263.15 112.11 T
4 F
( puts ) 299.13 112.11 T
7 F
(17) 325.12 112.11 T
4 F
( into the slot.) 339.51 112.11 T
FMENDPAGE
%%EndPage: "13" 104
%%Page: "14" 104
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-14) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Expressions) 491.12 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(4.5 Resending messages) 71.42 706.78 T
4 F
0.12 (A ) 71.42 686.11 P
3 F
0.12 (r) 83.2 686.11 P
0.12 (esend) 87.42 686.11 P
4 F
0.12 ( allows a method to invoke the method that the \336rst method \050the one that invokes the re-) 114.73 686.11 P
-0.11 (send\051 is overriding. Directed resends allow ambiguities among overridden methods to be resolved) 71.42 672.11 P
0.51 (by constraining the lookup to search a single parent slot. Both resends and directed resends may) 71.42 658.11 P
-0.52 (change the name of the message being sent from the name of the current method, and may pass dif-) 71.42 644.11 P
0.57 (ferent ar) 71.42 630.11 P
0.57 (guments than the ar) 112.07 630.11 P
0.57 (guments passed to the current method. The receiver of a resend or a) 207.83 630.11 P
(directed resend must be the implicit receiver) 71.42 616.11 T
(.) 283.93 616.11 T
(Intuitively) 71.42 596.11 T
(, resend is similar to Smalltalk\325) 120.62 596.11 T
(s ) 269.88 596.11 T
7 F
(super) 277.54 596.11 T
4 F
( send and CLOS\325 ) 313.52 596.11 T
7 F
(call-next-method) 399.47 596.11 T
4 F
(.) 514.6 596.11 T
-0.3 (A resend is written as an implicit-receiver message with the reserved word ) 71.42 576.11 P
7 F
-0.72 (resend) 428.87 576.11 P
4 F
-0.3 (, a period, and) 472.05 576.11 P
(the message name. No whitespace may separate ) 71.42 562.11 T
7 F
(resend) 304.56 562.11 T
4 F
(, the period, and the message name.) 347.74 562.11 T
(Examples:) 71.42 542.11 T
7 F
(resend.display) 143.42 522.11 T
(resend.+ 5) 143.42 508.11 T
(resend.min: 17 Max: 23) 143.42 494.11 T
4 F
-0.19 (A ) 71.42 474.11 P
3 F
-0.19 (dir) 82.89 474.11 P
-0.19 (ected r) 96.44 474.11 P
-0.19 (esend) 128.77 474.11 P
4 F
-0.19 ( constrains the resend through a speci\336ed parent. It is written similar to a normal) 156.08 474.11 P
-0.51 (resend, but replaces ) 71.42 460.11 P
7 F
-1.23 (resend) 167.8 460.11 P
4 F
-0.51 ( with the name of the parent slot through which the resend is directed.) 210.98 460.11 P
(Examples:) 71.42 440.11 T
7 F
(listParent.height) 143.42 420.11 T
(intParent.min: 17 Max: 23) 143.42 406.11 T
4 F
(Only implicit-receiver messages may be delegated via a resend or a directed resend.) 71.42 386.11 T
0 F
(\240) 474.09 390.91 T
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.59 (\240 ) 71.42 77.77 P
0 F
0.73 (General delegation for explicit receiver messages is supported through primitives in the implementation \050see the) 80.59 73.77 P
(S) 71.42 62.77 T
1 F
(ELF) 76.98 62.77 T
0 F
( System Manual\051.) 92.96 62.77 T
FMENDPAGE
%%EndPage: "14" 105
5 14 /Symbol FMDEFINEFONT
%%Page: "15" 105
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-15) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Message lookup semantics) 432.27 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(5 Message lookup semantics) 71.42 705.45 T
4 F
-0.6 (This section describes the semantics of message lookups in S) 71.42 682.11 P
6 F
-0.55 (ELF) 359.53 682.11 P
4 F
-0.6 (. In addition to an informal textual) 378.11 682.11 P
(description, the lookup semantics are presented in pseudo-code using the following notation:) 71.42 668.11 T
3 F
(s.name) 71.42 648.11 T
4 F
(The name of slot ) 233.55 648.11 T
3 F
(s) 317.49 648.11 T
4 F
(.) 322.16 648.11 T
3 F
(s.contents) 71.42 628.11 T
4 F
(The object contained in slot ) 233.55 628.11 T
3 F
(s) 369.8 628.11 T
4 F
(.) 374.46 628.11 T
3 F
(s.isParent) 71.42 608.11 T
4 F
(True iff ) 233.55 608.11 T
3 F
(s) 273.51 608.11 T
4 F
( is a parent slot.) 278.18 608.11 T
3 F
(s.priority) 71.42 588.11 T
4 F
-0.51 (The parent slot priority of parent slot ) 233.55 588.11 P
3 F
-0.51 (s) 410.21 588.11 P
4 F
-0.51 ( \050equivalent to the number) 414.88 588.11 P
(of asterisks following the slot name\051.) 233.71 574.11 T
3 F
(s.holder) 71.42 554.11 T
4 F
(The object containing slot ) 233.55 554.11 T
3 F
(s) 361.47 554.11 T
4 F
(.) 366.14 554.11 T
3 F
(s.isPublic) 71.42 534.11 T
4 F
(True iff ) 233.55 534.11 T
3 F
(s) 273.51 534.11 T
4 F
( is a public slot or a slot with unspecified privacy.) 278.18 534.11 T
3 F
(h.sel) 71.42 514.11 T
4 F
-0.6 (The name of the slot holding the prototype of activation object ) 233.55 514.11 P
3 F
-0.6 (h) 530.43 514.11 P
4 F
-0.6 (.) 536.42 514.11 P
3 F
(h.holder) 71.42 494.11 T
4 F
(The object containing the prototype of activation object ) 233.55 494.11 T
3 F
(h) 503.37 494.11 T
4 F
(.) 509.36 494.11 T
3 F
(h.invokedByDirectedResend) 71.42 474.11 T
4 F
(True iff activation object ) 233.55 474.11 T
3 F
(h) 356.12 474.11 T
4 F
( was invoked by a directed resend.) 362.12 474.11 T
3 F
(h.delegatee) 71.42 454.11 T
4 F
-0.32 (The delegatee directed to if activation object ) 233.55 454.11 P
3 F
-0.32 (h) 448.12 454.11 P
4 F
-0.32 ( was invoked by a) 454.11 454.11 P
(directed resend.) 233.71 440.11 T
({s ) 71.42 420.11 T
8 F
(\316) 84.85 420.11 T
4 F
( ) 93.4 420.11 T
3 F
(obj) 96.39 420.11 T
4 F
( | ) 111.72 420.11 T
3 F
(pred) 120.12 420.11 T
4 F
(\050s\051}) 142.1 420.11 T
(The set of all slots of object ) 233.55 420.11 T
3 F
(obj) 369.8 420.11 T
4 F
( that satisfy predicate ) 385.12 420.11 T
3 F
(pred) 490.38 420.11 T
4 F
(.) 512.36 420.11 T
(| ) 71.42 400.11 T
3 F
(S) 76.82 400.11 T
4 F
( |) 82.82 400.11 T
(The cardinality of set ) 233.55 400.11 T
3 F
(S) 338.81 400.11 T
4 F
(.) 344.8 400.11 T
3 F
(o1) 71.42 380.11 T
(o2) 104.23 380.11 T
4 F
0.65 (True iff ) 233.55 380.11 P
3 F
0.65 (o2) 274.81 380.11 P
4 F
0.65 ( is \050possibly trivially\051 an ancestor of ) 286.8 380.11 P
3 F
0.65 (o1) 467.54 380.11 P
4 F
0.65 (, i.e. if there) 479.53 380.11 P
(exists at least one inheritance path from ) 233.71 366.11 T
3 F
(o1) 427.24 366.11 T
4 F
( to ) 439.23 366.11 T
3 F
(o2) 454.56 366.11 T
4 F
(, or if ) 466.55 366.11 T
3 F
(o1) 495.86 366.11 T
4 F
( = ) 507.86 366.11 T
3 F
(o2) 520.62 366.11 T
4 F
(.) 532.61 366.11 T
(The message sending semantics are decomposed into the following functions:) 71.42 346.11 T
3 F
(send\050rec, sel, smh, args\051) 71.42 326.11 T
4 F
(The message send function \050\244III-5.1\051.) 233.55 326.11 T
3 F
(lookup\050obj, rec, sel, smh, V\051) 71.42 306.11 T
4 F
(The lookup algorithm \050\244III-5.2\051.) 233.55 306.11 T
3 F
(tiebreak\050M, smh, rec\051) 71.42 286.11 T
4 F
(The sender path tiebreaker \050\244III-5.3\051) 233.55 286.11 T
3 F
(isVisible\050rec, smh, obj\051) 71.42 266.11 T
4 F
(The privacy function \050\244III-5.4\051.) 233.55 266.11 T
3 F
(resend\050...\051) 71.42 246.11 T
4 F
(The message resend function \050\244III-5.5\051.) 233.55 246.11 T
3 F
(resend_lookup\050...\051) 71.42 226.11 T
4 F
(The lookup algorithm for resends \050\244III-5.5\051.) 233.55 226.11 T
3 F
(eval\050rec, M, args\051) 71.42 206.11 T
4 F
-0.04 (The slot evaluation function as described informally throughout) 233.55 206.11 P
(\244III-2.) 233.71 192.11 T
(See [CUC91] for more background on S) 71.42 172.11 T
6 F
(ELF) 265.29 172.11 T
4 F
(\325) 284.82 172.11 T
(s inheritance semantics.) 288.15 172.11 T
10 F
(5.1 Message send) 71.42 138.78 T
4 F
0.73 (There are two kinds of message sends: a ) 71.42 118.11 P
3 F
0.73 (primitive send) 273.77 118.11 P
4 F
0.73 ( has a selector beginning with an under-) 342.79 118.11 P
1.24 (score \050\324_\325\051 and calls the corresponding primitive operation. Primitives are prede\336ned functions) 71.42 104.11 P
-0.32 (provided by the implementation. A ) 71.42 90.11 P
3 F
-0.32 (normal send) 241.04 90.11 P
4 F
-0.32 ( does a lookup to obtain the tar) 300.34 90.11 P
-0.32 (get slot; if the look-) 446.1 90.11 P
-0.11 (up was successful, the slot is subsequently evaluated. Otherwise, the lookup error is handled in an) 71.42 76.11 P
83.42 377.11 104.23 393.67 C
83.42 377.11 104.23 393.67 R
7 X
0 K
V
86.76 377.16 101.48 388.08 R
V
5 F
0 X
(\336) 86.76 380.08 T
4 F
(*) 89.48 382.99 T
0 0 612 792 C
FMENDPAGE
%%EndPage: "15" 106
%%Page: "16" 106
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-16) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Message lookup semantics) 432.27 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
0.05 (implementation-de\336ned manner; typically) 71.42 708.11 P
0.05 (, a message indicating the type of error is sent to the re-) 272.63 708.11 P
(ceiver of the original message.) 71.42 694.11 T
(The function ) 71.42 674.11 T
3 F
(send\050r) 136.04 674.11 T
(ec, sel, smh, ar) 166.24 674.11 T
(gs\051) 237.75 674.11 T
4 F
( is de\336ned as follows:) 252.4 674.11 T
2 F
(Input) 71.42 654.11 T
4 F
(:) 100.09 654.11 T
3 F
(r) 143.42 654.11 T
(ec) 147.65 654.11 T
4 F
(, ) 158.3 654.11 T
(the receiver of the message) 179.42 654.11 T
3 F
(sel) 143.42 640.11 T
4 F
(, ) 156.75 640.11 T
(the message selector) 179.42 640.11 T
3 F
(smh) 143.42 626.11 T
4 F
(, ) 162.74 626.11 T
(the sending method holder) 179.42 626.11 T
3 F
(ar) 143.42 612.11 T
(gs) 153.64 612.11 T
4 F
(,) 164.3 612.11 T
(the actual ar) 179.42 612.11 T
(guments) 237.82 612.11 T
2 F
(Output) 71.42 592.11 T
4 F
(:) 108.75 592.11 T
3 F
(r) 143.42 592.11 T
(es) 147.65 592.11 T
4 F
(, ) 157.64 592.11 T
(the result object) 179.42 592.11 T
2 F
(Algorithm) 71.42 572.11 T
4 F
(:) 124.72 572.11 T
2 F
(if) 98.42 552.11 T
4 F
( begins_with_underscore\050sel\051) 105.75 552.11 T
2 F
(then) 98.42 538.11 T
4 F
(invoke_primitive\050rec, smh, sel, ar) 125.42 538.11 T
(gs\051) 287.1 538.11 T
0 F
(\322primitive call\323) 395.42 538.11 T
2 F
(else) 98.42 524.11 T
3 F
(M) 125.42 524.11 T
4 F
( ) 135.41 524.11 T
5 F
(\254) 138.41 524.11 T
4 F
( lookup\050rec, rec, sel, smh, ) 152.22 524.11 T
8 F
(\306) 279.13 524.11 T
4 F
(\051) 289 524.11 T
0 F
(\322do the lookup\323) 395.42 524.11 T
2 F
(if) 125.42 510.11 T
4 F
( | ) 132.75 510.11 T
3 F
(M) 141.15 510.11 T
4 F
( | > 1 ) 151.14 510.11 T
2 F
(then) 178.29 510.11 T
3 F
( M) 200.95 510.11 T
4 F
( ) 213.93 510.11 T
5 F
(\254) 216.93 510.11 T
4 F
( tiebreak\050) 230.74 510.11 T
3 F
(M) 276.37 510.11 T
4 F
(, smh, rec\051 ) 286.36 510.11 T
2 F
(end) 339.98 510.11 T
(case) 125.42 496.11 T
4 F
( ) 146.74 496.11 T
(| ) 161.42 482.11 T
3 F
(M) 166.82 482.11 T
4 F
( | = 0:) 176.81 482.11 T
3 F
(err) 215.42 482.11 T
(or: message not understood) 229.64 482.11 T
4 F
(| ) 161.42 468.11 T
3 F
(M) 166.82 468.11 T
4 F
( | = 1: ) 176.81 468.11 T
(res ) 215.42 468.11 T
5 F
(\254) 232.41 468.11 T
4 F
( eval\050rec,) 246.22 468.11 T
3 F
( M) 290.83 468.11 T
4 F
(, ar) 303.82 468.11 T
(gs\051) 318.92 468.11 T
0 F
(\322see \244III-2\323) 395.42 468.11 T
4 F
(| ) 161.42 454.11 T
3 F
(M) 166.82 454.11 T
4 F
( | > 1:) 176.81 454.11 T
3 F
(err) 215.42 454.11 T
(or: ambiguous message send) 229.64 454.11 T
2 F
(end) 125.42 440.11 T
(end) 98.42 426.11 T
(r) 98.42 412.11 T
(eturn) 103.75 412.11 T
22 F
( ) 131.73 412.11 T
3 F
(res) 134.73 412.11 T
10 F
(5.2 The lookup algorithm) 71.42 378.78 T
4 F
-0.07 (The lookup algorithm recursively traverses the inheritance graph, which can be an arbitrary graph) 71.42 358.11 P
0 (\050including cyclic graphs\051. No object is searched twice along any single path. The search begins in) 71.42 344.11 P
0.31 (the object itself and then continues to search every parent group \050every set of parent slots having) 71.42 330.11 P
-0.51 (the same priority\051 until the set of matching slots is non-empty or all parent slots have been exhaust-) 71.42 316.11 P
-0.33 (ed. Parent slots are not evaluated during the lookup. That is, if a parent slot contains an object with) 71.42 302.11 P
(code, the code will not be executed; the object will merely be searched for matching slots. ) 71.42 288.11 T
(The function ) 71.42 268.11 T
3 F
(lookup\050obj, rec, sel, smh, V\051) 136.04 268.11 T
4 F
( is defined as follows:) 271.28 268.11 T
2 F
(Input) 71.42 248.11 T
4 F
(:) 100.09 248.11 T
3 F
(obj) 143.42 248.11 T
4 F
(, ) 158.75 248.11 T
(the object being searched for matching slots) 179.42 248.11 T
3 F
(r) 143.42 234.11 T
(ec) 147.65 234.11 T
4 F
(, ) 158.3 234.11 T
(the receiver of the message) 179.42 234.11 T
3 F
(sel) 143.42 220.11 T
4 F
(, ) 156.75 220.11 T
(the message selector) 179.42 220.11 T
3 F
(smh) 143.42 206.11 T
4 F
(, ) 162.74 206.11 T
(the sending method holder) 179.42 206.11 T
3 F
(V) 143.42 192.11 T
4 F
(, ) 149.21 192.11 T
(the set of objects already visited along this path) 179.42 192.11 T
2 F
(Output) 71.42 172.11 T
4 F
(:) 108.75 172.11 T
3 F
(M) 143.42 172.11 T
4 F
(, ) 153.41 172.11 T
(the set of matching slots of highest priority) 179.42 172.11 T
2 F
(Algorithm) 71.42 152.11 T
4 F
(:) 124.72 152.11 T
2 F
(if) 98.42 132.11 T
3 F
( ) 105.75 132.11 T
4 F
(obj) 108.75 132.11 T
( ) 124.08 132.11 T
8 F
(\316) 127.08 132.11 T
4 F
( ) 135.63 132.11 T
3 F
(V) 138.63 132.11 T
2 F
(then) 98.42 118.11 T
4 F
( ) 121.08 118.11 T
3 F
(M) 125.42 118.11 T
4 F
( ) 135.41 118.11 T
5 F
(\254) 138.41 118.11 T
4 F
( ) 152.22 118.11 T
8 F
(\306) 155.22 118.11 T
0 F
(\322cycle detection\323) 431.42 118.11 T
2 F
(else) 98.42 104.11 T
4 F
( ) 117.07 104.11 T
3 F
(M) 125.42 104.11 T
4 F
( ) 135.41 104.11 T
5 F
(\254) 138.41 104.11 T
4 F
( {s) 152.22 104.11 T
( ) 165.64 104.11 T
8 F
(\316) 168.64 104.11 T
4 F
( obj | ) 177.19 104.11 T
(s.name = sel ) 203.91 104.11 T
2 F
(and) 266.64 104.11 T
4 F
( isV) 285.97 104.11 T
(isible\050rec, smh, s\051}) 304.91 104.11 T
0 F
(\322try local slots\323) 431.42 104.11 T
2 F
(if) 125.42 90.11 T
3 F
( M) 132.75 90.11 T
4 F
( = ) 145.74 90.11 T
8 F
(\306) 158.5 90.11 T
4 F
( ) 168.37 90.11 T
2 F
(then) 171.37 90.11 T
4 F
( ) 194.03 90.11 T
3 F
(M) 197.02 90.11 T
4 F
( ) 207.01 90.11 T
5 F
(\254) 210.01 90.11 T
4 F
( parent_lookup\050obj, rec, sel, smh, V\051 ) 223.82 90.11 T
2 F
(end) 403.03 90.11 T
0 F
(\322try parent slots\323) 431.42 90.11 T
2 F
(end) 98.42 76.11 T
(r) 98.42 62.11 T
(eturn) 103.53 62.11 T
4 F
( ) 131.51 62.11 T
3 F
(M) 134.51 62.11 T
FMENDPAGE
%%EndPage: "16" 107
12 7 /Times-Italic FMDEFINEFONT
13 9 /Times-Italic FMDEFINEFONT
14 7 /Symbol FMDEFINEFONT
15 18 /Symbol FMDEFINEFONT
%%Page: "17" 107
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-17) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Message lookup semantics) 432.27 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(Where ) 71.42 708.11 T
3 F
(par) 106.39 708.11 T
(ent_lookup\050obj,) 122.6 708.11 T
4 F
( ) 198.22 708.11 T
3 F
(r) 201.22 708.11 T
(ec, sel, smh, V\051) 205.44 708.11 T
4 F
( is de\336ned as follows:) 278.05 708.11 T
3 F
(M) 98.42 688.11 T
4 F
( ) 108.42 688.11 T
5 F
(\254) 111.41 688.11 T
4 F
( ) 125.22 688.11 T
8 F
(\306) 128.22 688.11 T
4 F
(prio) 98.42 674.11 T
5 F
( \254) 117.75 674.11 T
4 F
( 1) 135.05 674.11 T
3 F
(V) 98.42 660.11 T
4 F
( ) 105.75 660.11 T
5 F
(\254) 108.75 660.11 T
4 F
( ) 122.56 660.11 T
3 F
(V) 125.56 660.11 T
4 F
( ) 132.89 660.11 T
5 F
(\310) 135.88 660.11 T
4 F
( {obj}) 146.63 660.11 T
2 F
(while) 98.42 646.11 T
4 F
( ) 125.75 646.11 T
3 F
(M) 128.74 646.11 T
4 F
( = ) 138.73 646.11 T
8 F
(\306) 151.49 646.11 T
4 F
( ) 161.37 646.11 T
2 F
(and) 164.36 646.11 T
4 F
( {s) 183.7 646.11 T
( ) 197.12 646.11 T
8 F
(\316) 200.12 646.11 T
4 F
( obj | ) 208.67 646.11 T
(s.isParent ) 235.39 646.11 T
2 F
(and) 284.69 646.11 T
4 F
( s.priority ) 304.03 646.11 T
8 F
(\263) 353.67 646.11 T
4 F
( prio} ) 360.25 646.11 T
8 F
(\271) 391.33 646.11 T
4 F
( ) 397.91 646.11 T
8 F
(\306) 400.91 646.11 T
4 F
( ) 410.78 646.11 T
2 F
(do) 413.78 646.11 T
3 F
(P) 125.42 632.11 T
4 F
( ) 132.75 632.11 T
5 F
(\254) 135.75 632.11 T
4 F
( {s) 149.56 632.11 T
( ) 162.98 632.11 T
8 F
(\316) 165.98 632.11 T
4 F
( obj |) 174.53 632.11 T
( s.priority = prio}) 198.25 632.11 T
0 F
(\322parent group\323) 395.42 632.11 T
3 F
(M) 125.42 618.11 T
4 F
( ) 135.41 618.11 T
5 F
(\254) 138.41 618.11 T
4 F
(lookup\050s.contents, rec, sel, smh, ) 174.09 618.11 T
3 F
(V) 330.99 618.11 T
4 F
(\051) 338.32 618.11 T
0 F
(\322recursively search parents\323) 395.42 618.11 T
4 F
(prio ) 125.42 598.11 T
5 F
(\254) 147.74 598.11 T
4 F
( prio + 1) 161.55 598.11 T
2 F
(end) 98.42 584.11 T
(r) 98.42 570.11 T
(eturn) 103.53 570.11 T
3 F
( M) 131.51 570.11 T
10 F
(5.3 The sender path tiebr) 71.42 536.78 T
(eaker) 225.09 536.78 T
4 F
-0.12 (If two or more slots with the same name are de\336ned in equal priority ancestors of the receiver) 71.42 516.11 P
-0.12 (, but) 518.22 516.11 P
-0.05 (only one of the ancestors is on the) 71.42 502.11 P
3 F
-0.05 ( sender path) 234.66 502.11 P
4 F
-0.05 (, then that ancestor) 293.87 502.11 P
-0.05 (\325) 384.78 502.11 P
-0.05 (s slot takes precedence over the) 388.11 502.11 P
0 (other ancestors\325 slots. The sender path ) 71.42 488.11 P
3 F
0 (S) 258.29 488.11 P
4 F
0 ( consists of all objects between the receiver and the send-) 264.29 488.11 P
(ing method holder and all ancestors of the sending method holder) 71.42 474.11 T
(.) 385.22 474.11 T
(Thus, the function ) 71.42 454.11 T
3 F
(tiebr) 162.03 454.11 T
(eak\050M, smh, r) 184.25 454.11 T
(ec\051) 250.41 454.11 T
4 F
( is de\336ned as follows:) 265.06 454.11 T
2 F
(Input) 71.42 434.11 T
4 F
(:) 100.09 434.11 T
3 F
(M) 143.42 434.11 T
4 F
(,) 153.41 434.11 T
(as computed by ) 179.42 434.11 T
3 F
(lookup) 257.7 434.11 T
(smh) 143.42 420.11 T
4 F
(, ) 162.74 420.11 T
(the sending method holder) 179.42 420.11 T
3 F
(r) 143.42 406.11 T
(ec) 147.65 406.11 T
4 F
(, ) 158.3 406.11 T
(the receiver of the message) 179.42 406.11 T
2 F
(Output) 71.42 386.11 T
4 F
(:) 108.75 386.11 T
3 F
(M) 143.42 386.11 T
4 F
( with any sender path disambiguation performed) 153.41 386.11 T
2 F
(Algorithm) 71.42 366.11 T
4 F
(:) 124.72 366.11 T
3 F
(S) 98.42 346.11 T
4 F
( ) 104.42 346.11 T
5 F
(\254) 107.42 346.11 T
4 F
( {obj) 121.23 346.11 T
( |) 145.31 346.11 T
( \050rec) 150.71 346.11 T
(obj ) 191.16 346.11 T
2 F
(and) 209.49 346.11 T
4 F
( obj) 228.82 346.11 T
(smh\051 ) 265.96 346.11 T
2 F
(or) 292.95 346.11 T
4 F
( smh) 304.27 346.11 T
(obj}) 348.07 346.11 T
3 F
(M) 98.42 332.11 T
8 F
(\242) 108.42 332.11 T
4 F
( ) 111.38 332.11 T
5 F
(\254) 114.38 332.11 T
4 F
( ) 128.19 332.11 T
3 F
(S) 131.18 332.11 T
4 F
( ) 137.18 332.11 T
5 F
(\307) 140.18 332.11 T
3 F
( M) 150.93 332.11 T
2 F
(if) 98.42 318.11 T
4 F
( ) 105.75 318.11 T
3 F
(M) 108.75 318.11 T
8 F
(\242) 118.74 318.11 T
4 F
( ) 121.7 318.11 T
8 F
(\271) 124.7 318.11 T
4 F
( ) 131.29 318.11 T
8 F
(\306) 134.28 318.11 T
4 F
( ) 144.15 318.11 T
2 F
(then) 147.15 318.11 T
4 F
( ) 169.81 318.11 T
3 F
(M) 172.81 318.11 T
4 F
( ) 182.8 318.11 T
5 F
(\254) 185.8 318.11 T
4 F
( ) 199.61 318.11 T
3 F
(M) 202.6 318.11 T
8 F
(\242) 212.6 318.11 T
4 F
( ) 215.56 318.11 T
2 F
(end) 218.56 318.11 T
(r) 98.42 304.11 T
(eturn) 103.53 304.11 T
4 F
( ) 131.51 304.11 T
3 F
(M) 134.51 304.11 T
10 F
(5.4 Privacy) 71.42 270.78 T
4 F
-0.31 (A ) 71.42 250.11 P
3 F
-0.31 (private slot) 82.77 250.11 P
4 F
-0.31 ( is accessible if both the sending method holder and the private slot holder are ances-) 136.76 250.11 P
0.95 (tors of the receiver) 71.42 236.11 P
0.95 (. Inaccessible private slots are ignored during the lookup. Thus, the function) 163.87 236.11 P
3 F
(isV) 71.42 222.11 T
(isible\050r) 85.86 222.11 T
(ec, smh, s\051) 120.07 222.11 T
4 F
( is de\336ned as follows:) 170.69 222.11 T
2 F
(Input) 71.42 202.11 T
4 F
(:) 100.09 202.11 T
3 F
(r) 143.42 202.11 T
(ec) 147.65 202.11 T
4 F
(, ) 158.3 202.11 T
(the receiver of the message) 179.42 202.11 T
3 F
(smh) 143.42 188.11 T
4 F
(, ) 162.74 188.11 T
(the sending method holder) 179.42 188.11 T
3 F
(s) 143.42 174.11 T
4 F
(, ) 148.09 174.11 T
(a matching slot) 179.42 174.11 T
2 F
(Output) 71.42 154.11 T
4 F
(:) 108.75 154.11 T
(T) 143.42 154.11 T
(rue if) 150.33 154.11 T
(f ) 175.76 154.11 T
3 F
(s) 182.75 154.11 T
4 F
( is visible.) 187.42 154.11 T
2 F
(Algorithm) 71.42 134.11 T
4 F
(:) 124.72 134.11 T
2 F
(r) 98.42 114.11 T
(eturn) 103.53 114.11 T
4 F
( s.isPublic ) 131.51 114.11 T
2 F
(or) 183.83 114.11 T
4 F
( \050rec) 195.15 114.11 T
(smh ) 235.6 114.11 T
2 F
(and) 258.6 114.11 T
4 F
( rec) 277.93 114.11 T
(s.holder\051) 314.39 114.11 T
152.22 602.32 174.09 627.52 C
12 F
0 X
0 K
(s) 155.66 608.21 T
13 F
(P) 166.86 608.21 T
14 F
(\316) 160.13 608.21 T
15 F
(\310) 157.1 615.67 T
0 0 612 792 C
172.35 343.11 191.16 359.67 C
172.35 343.11 191.16 359.67 R
7 X
0 K
V
175.69 343.16 190.41 354.08 R
V
5 F
0 X
(\336) 175.69 346.08 T
4 F
(*) 178.41 348.99 T
0 0 612 792 C
247.15 343.11 265.96 359.67 C
247.15 343.11 265.96 359.67 R
7 X
0 K
V
250.49 343.16 265.21 354.08 R
V
5 F
0 X
(\336) 250.49 346.08 T
4 F
(*) 253.21 348.99 T
0 0 612 792 C
327.26 343.11 348.07 359.67 C
327.26 343.11 348.07 359.67 R
7 X
0 K
V
330.61 343.16 345.33 354.08 R
V
5 F
0 X
(\336) 330.61 346.08 T
4 F
(*) 333.32 348.99 T
0 0 612 792 C
216.79 111.11 235.6 127.67 C
216.79 111.11 235.6 127.67 R
7 X
0 K
V
220.13 111.16 234.85 122.08 R
V
5 F
0 X
(\336) 220.13 114.08 T
4 F
(*) 222.85 116.99 T
0 0 612 792 C
295.57 111.11 314.39 127.67 C
295.57 111.11 314.39 127.67 R
7 X
0 K
V
298.91 111.16 313.63 122.08 R
V
4 F
0 X
(\336) 325.91 114.08 T
(*) 301.63 116.99 T
295.57 111.11 314.39 127.67 R
7 X
V
298.91 111.16 313.63 122.08 R
V
5 F
0 X
(\336) 298.91 114.08 T
4 F
(*) 301.63 116.99 T
0 0 612 792 C
FMENDPAGE
%%EndPage: "17" 108
%%Page: "18" 108
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-18) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Message lookup semantics) 432.27 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
10 F
0 X
(5.5 Resend) 71.42 706.78 T
4 F
0.33 (A resend consists of \322redoing\323 the lookup, beginning with the most recent non-resend lookup on) 71.42 686.11 P
-0.07 (the call stack, skipping over lookup matches up to and including the match containing the method) 71.42 672.11 P
0.15 (performing the resend, and returning the next matching slot as the result of the resend. This com-) 71.42 658.11 P
0.21 (plexity and \322history-sensitivity\323 is caused by the interactions among resends, prioritized multiple) 71.42 644.11 P
(inheritance, and dynamic inheritance.) 71.42 630.11 T
0 F
(\240) 251.61 634.91 T
4 F
-0.58 (The ) 71.42 610.11 P
3 F
-0.58 (activation call stack) 92.49 610.11 P
4 F
-0.58 ( is the ordered list of suspended activation objects, beginning with the cur-) 188.94 610.11 P
0.11 (rent activation object and ) 71.42 596.11 P
0.11 (continuing with the current activation object\325) 196.44 596.11 P
0.11 (s calling activation object,) 413.18 596.11 P
(and so on.) 71.42 582.11 T
-0.55 (The ) 71.42 562.11 P
3 F
-0.55 (r) 92.52 562.11 P
-0.55 (esend call chain) 96.74 562.11 P
4 F
-0.55 ( is the pre\336x of the activation call stack up to and including the \336rst activation) 173.59 562.11 P
0.48 (object that was not invoked by a resend or a directed resend; this non-resend activation object is) 71.42 548.11 P
(called the ) 71.42 534.11 T
3 F
(base activation object) 120.72 534.11 T
4 F
(.) 225.98 534.11 T
-0.44 (A resend or directed resend begins by performing the same lookup that invoked the base activation) 71.42 514.11 P
0.41 (object; thus, the sending method holder and the receiver of the resend is the same as the sending) 71.42 500.11 P
-0.29 (method holder and the receiver used to invoke the base activation object. The normal ) 71.42 486.11 P
3 F
-0.29 (lookup) 478.76 486.11 P
4 F
-0.29 ( func-) 511.41 486.11 P
0.26 (tion is extended to return a list of sets of matching slots, such that elements of one set \322override\323) 71.42 472.11 P
(elements of successive sets.) 71.42 458.11 T
(The function ) 71.42 438.11 T
3 F
(r) 136.04 438.11 T
(esend\050r) 140.27 438.11 T
(ec, sel, smh, ar) 175.79 438.11 T
(gs, isDir) 247.29 438.11 T
(, del, A\051) 287.28 438.11 T
4 F
( is de\336ned as follows:) 325.25 438.11 T
2 F
(Input) 71.42 418.11 T
4 F
(:) 100.09 418.11 T
3 F
(r) 143.42 418.11 T
(ec) 147.65 418.11 T
4 F
(, ) 158.3 418.11 T
(the receiver of the message) 179.42 418.11 T
3 F
(sel) 143.42 404.11 T
4 F
(, ) 156.75 404.11 T
(the message selector) 179.42 404.11 T
3 F
(isDir) 143.42 390.11 T
4 F
(,) 168.08 390.11 T
(true if this is a ) 179.42 390.11 T
3 F
(directed) 251.05 390.11 T
4 F
( resend) 290.35 390.11 T
3 F
(del) 143.42 376.11 T
4 F
(,) 158.08 376.11 T
(the parent to which the resend is directed \050the delegatee\051) 179.42 376.11 T
3 F
(smh) 143.42 362.11 T
4 F
(, ) 162.74 362.11 T
(the sending method holder) 179.42 362.11 T
3 F
(ar) 143.42 348.11 T
(gs) 153.64 348.11 T
4 F
(,) 164.3 348.11 T
(the actual ar) 179.42 348.11 T
(guments) 237.82 348.11 T
3 F
(A) 143.42 334.11 T
4 F
(,) 150.75 334.11 T
(the list of current activation objects) 179.42 334.11 T
2 F
(Output) 71.42 314.11 T
4 F
(:) 108.75 314.11 T
3 F
(r) 143.42 314.11 T
(es) 147.65 314.11 T
4 F
(, ) 157.64 314.11 T
(the result object) 179.42 314.11 T
2 F
(Algorithm) 71.42 294.11 T
4 F
(:) 124.72 294.11 T
3 F
(H) 98.42 274.11 T
4 F
( ) 107.08 274.11 T
5 F
(\254) 110.08 274.11 T
4 F
( resend_call_chain_pre\336x\050) 123.89 274.11 T
3 F
(A) 251.45 274.11 T
4 F
(\051) 258.78 274.11 T
0 F
(\322resend call chain\323) 431.42 274.11 T
4 F
(base ) 98.42 260.11 T
5 F
(\254) 122.74 260.11 T
3 F
( ) 136.54 260.11 T
4 F
(last_element\050) 139.54 260.11 T
3 F
(H) 204.16 260.11 T
4 F
(\051) 212.82 260.11 T
0 F
(\322base activation object\323) 431.42 260.11 T
3 F
(M) 98.42 246.11 T
4 F
( ) 108.42 246.11 T
5 F
(\254) 111.41 246.11 T
4 F
( resend_lookup\050rec, rec, base.sel, sel, isDir) 125.22 246.11 T
(, del, base.holder) 330.57 246.11 T
(, ) 411.7 246.11 T
8 F
(\306) 417.7 246.11 T
4 F
(, ) 427.57 246.11 T
3 F
(H) 433.56 246.11 T
4 F
(\051) 442.22 246.11 T
( ) 467.42 246.11 T
0 F
(\322do the lookup\323) 470.42 246.11 T
3 F
(M) 98.42 232.11 T
8 F
(\242) 108.42 232.11 T
4 F
( ) 111.38 232.11 T
5 F
(\254) 114.38 232.11 T
4 F
(\050) 151.11 232.11 T
2 F
(if) 155.1 232.11 T
4 F
( | ) 162.43 232.11 T
3 F
(m) 170.83 232.11 T
4 F
( | > 1 ) 179.49 232.11 T
2 F
(then ) 206.64 232.11 T
4 F
(tiebreak\050) 232.29 232.11 T
3 F
(m) 274.92 232.11 T
4 F
(, smh, rec\051 ) 283.58 232.11 T
2 F
(else) 337.2 232.11 T
4 F
( ) 355.85 232.11 T
3 F
(m) 358.85 232.11 T
4 F
(\051) 367.51 232.11 T
3 F
(m) 98.42 212.11 T
4 F
( ) 107.08 212.11 T
5 F
(\254) 110.08 212.11 T
2 F
( ) 123.89 212.11 T
4 F
(first) 126.89 212.11 T
2 F
(_) 146.21 212.11 T
4 F
(element\050) 152.21 212.11 T
3 F
(M) 194.17 212.11 T
8 F
(\242) 204.16 212.11 T
4 F
(\051) 207.13 212.11 T
2 F
(while) 98.42 198.11 T
4 F
( | ) 125.75 198.11 T
3 F
(m) 134.14 198.11 T
4 F
( | ) 142.8 198.11 T
8 F
(\271) 151.2 198.11 T
4 F
( 0 ) 157.78 198.11 T
2 F
(do) 169.77 198.11 T
(if ) 125.42 184.11 T
4 F
(| ) 135.75 184.11 T
3 F
(m) 141.15 184.11 T
4 F
( | >) 149.81 184.11 T
( ) 164.97 184.11 T
(1) 167.96 184.11 T
2 F
(then) 125.42 170.11 T
3 F
(err) 161.42 170.11 T
(or: ambiguous message send) 175.64 170.11 T
2 F
( end) 314.54 170.11 T
(if) 125.42 156.11 T
4 F
( | ) 132.75 156.11 T
3 F
(m) 141.15 156.11 T
4 F
( | = 1 ) 149.81 156.11 T
2 F
(and) 176.96 156.11 T
4 F
( \050) 196.29 156.11 T
3 F
(m) 203.29 156.11 T
4 F
(.holder = smh ) 211.95 156.11 T
2 F
(and) 281.34 156.11 T
4 F
( ) 300.67 156.11 T
3 F
(m) 303.67 156.11 T
4 F
(.name = sel\051) 312.33 156.11 T
0 F
(\322where m = first_element\050m\051\323) 395.42 156.11 T
2 F
(then) 125.42 142.11 T
3 F
(f ) 161.42 142.11 T
5 F
(\254) 167.76 142.11 T
2 F
( ) 181.57 142.11 T
4 F
(following\050) 184.57 142.11 T
3 F
(M) 235.2 142.11 T
8 F
(\242) 245.19 142.11 T
4 F
(, ) 248.15 142.11 T
3 F
(m) 254.15 142.11 T
4 F
(\051) 262.81 142.11 T
2 F
(case) 161.42 128.11 T
4 F
(| ) 188.42 114.11 T
3 F
(f) 193.82 114.11 T
4 F
( | = 0:) 197.15 114.11 T
3 F
(error: message not understood) 242.42 114.11 T
4 F
( ) 390.66 114.11 T
(| ) 188.42 100.11 T
3 F
(f) 193.82 100.11 T
4 F
( | > 1:) 197.15 100.11 T
3 F
(error: ambiguous message send) 242.42 100.11 T
4 F
( ) 395.99 100.11 T
71.42 69.44 539.42 89.53 C
71.42 77.43 203.4 77.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
(\240 ) 71.42 66.77 T
0 F
(The semantics of resend will be simpli\336ed in the future.) 79.42 62.77 T
128.19 216.32 151.11 241.52 C
12 F
0 X
0 K
(m) 129.46 222.22 T
13 F
(M) 142.99 222.22 T
14 F
(\316) 136.26 222.22 T
15 F
(\310) 133.06 229.67 T
0 0 612 792 C
FMENDPAGE
%%EndPage: "18" 109
%%Page: "19" 109
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-19) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Message lookup semantics) 432.27 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(| ) 188.42 708.11 T
3 F
(f) 193.82 708.11 T
4 F
( | = 1: ) 197.15 708.11 T
(res ) 242.42 708.11 T
5 F
(\254) 259.41 708.11 T
4 F
( eval\050rec,) 273.22 708.11 T
3 F
( f) 317.83 708.11 T
4 F
(, ar) 324.17 708.11 T
(gs\051; ) 339.27 708.11 T
2 F
(r) 360.25 708.11 T
(eturn) 365.36 708.11 T
22 F
( ) 393.34 708.11 T
4 F
(res) 396.34 708.11 T
0 F
(\322see \244III-2\323) 467.42 708.11 T
2 F
(end) 161.42 694.11 T
(end) 125.42 680.11 T
3 F
(m ) 125.42 666.11 T
5 F
(\254) 137.08 666.11 T
2 F
( ) 150.89 666.11 T
4 F
(following\050) 153.89 666.11 T
3 F
(M) 204.53 666.11 T
8 F
(\242) 214.52 666.11 T
4 F
(, ) 217.48 666.11 T
3 F
(m) 223.48 666.11 T
4 F
(\051) 232.13 666.11 T
2 F
(end) 98.42 652.11 T
3 F
(error: resending method not found) 98.42 638.11 T
4 F
(The function ) 71.42 618.11 T
3 F
(resend_lookup\050obj, rec, sel, sel) 136.04 618.11 T
16 F
(c) 285.94 615.11 T
3 F
(, isDir) 290.38 618.11 T
16 F
(c) 321.03 615.11 T
3 F
(, del) 325.47 618.11 T
16 F
(c) 346.12 615.11 T
3 F
(, smh, V, H\051) 350.56 618.11 T
4 F
( is defined as follows:) 407.85 618.11 T
2 F
(Input) 71.42 598.11 T
4 F
(:) 100.09 598.11 T
3 F
(obj) 143.42 598.11 T
4 F
(, ) 158.75 598.11 T
(the object being searched for matching slots) 179.42 598.11 T
3 F
(r) 143.42 584.11 T
(ec) 147.65 584.11 T
4 F
(, ) 158.3 584.11 T
(the receiver of the message) 179.42 584.11 T
3 F
(sel) 143.42 570.11 T
4 F
(, ) 156.75 570.11 T
(the message selector) 179.42 570.11 T
3 F
(sel) 143.42 556.11 T
16 F
(c) 156.75 553.11 T
4 F
(,) 161.19 556.11 T
(the selector being resent) 179.42 556.11 T
3 F
(isDir) 143.42 542.11 T
16 F
(c) 167.71 539.11 T
3 F
(,) 172.15 542.11 T
4 F
(true if it is a directed resend) 179.42 542.11 T
3 F
(del) 143.42 528.11 T
16 F
(c) 158.08 525.11 T
4 F
(,) 162.52 528.11 T
(the parent to which the resend is directed \050the delegatee\051) 179.42 528.11 T
3 F
(smh) 143.42 514.11 T
4 F
(, ) 162.74 514.11 T
(the sending method holder \050from the base activation object\051) 179.42 514.11 T
3 F
(V) 143.42 500.11 T
4 F
(, ) 149.21 500.11 T
(the set of all objects already visited along this path) 179.42 500.11 T
3 F
(H) 143.42 486.11 T
4 F
(, ) 152.08 486.11 T
(the set of activation objects in the resend call chain) 179.42 486.11 T
2 F
(Output) 71.42 466.11 T
4 F
(:) 108.75 466.11 T
3 F
(M) 143.42 466.11 T
4 F
(, ) 153.41 466.11 T
(the list of sets of matching slots) 179.42 466.11 T
2 F
(Algorithm) 71.42 446.11 T
4 F
(:) 124.72 446.11 T
2 F
(if) 98.42 425.11 T
3 F
( ) 105.75 425.11 T
4 F
(obj) 108.75 425.11 T
( ) 124.08 425.11 T
8 F
(\316) 127.08 425.11 T
4 F
( ) 135.63 425.11 T
3 F
(V) 138.63 425.11 T
2 F
(then) 98.42 411.11 T
4 F
( ) 121.08 411.11 T
3 F
(M) 125.42 411.11 T
4 F
( ) 135.41 411.11 T
5 F
(\254) 138.41 411.11 T
4 F
( ) 152.22 411.11 T
8 F
(\306) 155.22 411.11 T
0 F
(\322cycle detection\323) 431.42 411.11 T
2 F
(else) 98.42 397.11 T
4 F
( ) 117.07 397.11 T
3 F
(M) 125.42 397.11 T
0 F
(local) 135.41 394.11 T
4 F
( ) 154.84 397.11 T
5 F
(\254) 157.84 397.11 T
4 F
( {s) 171.65 397.11 T
( ) 185.07 397.11 T
8 F
(\316) 188.07 397.11 T
4 F
( obj | ) 196.62 397.11 T
(s.name = sel ) 223.34 397.11 T
2 F
(and) 286.07 397.11 T
4 F
( isV) 305.4 397.11 T
(isible\050rec, smh, s\051}) 324.34 397.11 T
0 F
(\322local matches\323) 431.42 397.11 T
3 F
(M) 125.42 383.11 T
0 F
(parent) 135.41 380.11 T
4 F
( ) 160.39 383.11 T
5 F
(\254) 163.39 383.11 T
4 F
( ) 177.2 383.11 T
8 F
(\306) 180.2 383.11 T
4 F
(prio) 125.42 369.11 T
5 F
( \254) 144.74 369.11 T
4 F
( 1) 162.05 369.11 T
3 F
(V) 125.42 355.11 T
4 F
( ) 132.75 355.11 T
5 F
(\254) 135.75 355.11 T
4 F
( ) 149.56 355.11 T
3 F
(V) 152.56 355.11 T
4 F
( ) 159.89 355.11 T
5 F
(\310) 162.88 355.11 T
4 F
( {obj}) 173.63 355.11 T
2 F
(while) 125.42 341.11 T
4 F
( {s) 152.74 341.11 T
( ) 166.17 341.11 T
8 F
(\316) 169.16 341.11 T
4 F
( obj | ) 177.71 341.11 T
(s.isParent ) 204.44 341.11 T
2 F
(and) 253.74 341.11 T
4 F
( s.priority ) 273.08 341.11 T
8 F
(\263) 322.72 341.11 T
4 F
( prio} ) 329.3 341.11 T
8 F
(\271) 360.38 341.11 T
4 F
( ) 366.96 341.11 T
8 F
(\306) 369.96 341.11 T
4 F
( ) 379.83 341.11 T
2 F
(do) 382.83 341.11 T
3 F
(P) 161.42 327.11 T
4 F
( ) 168.75 327.11 T
5 F
(\254) 171.75 327.11 T
4 F
( {s) 185.56 327.11 T
( ) 198.98 327.11 T
8 F
(\316) 201.98 327.11 T
4 F
( obj |) 210.53 327.11 T
( s.isParent ) 234.25 327.11 T
2 F
(and) 286.56 327.11 T
4 F
( s.priority = prio}) 305.89 327.11 T
2 F
(if) 161.42 313.11 T
4 F
( {h) 168.75 313.11 T
( ) 183.5 313.11 T
8 F
(\316 ) 186.5 313.11 T
3 F
(H) 198.05 313.11 T
4 F
( | h.holder = obj ) 206.71 313.11 T
2 F
(and) 285.83 313.11 T
4 F
( h.sel = sel) 305.17 313.11 T
(} ) 356.57 313.11 T
8 F
(\271) 365.32 313.11 T
4 F
( ) 371.91 313.11 T
8 F
(\306) 374.91 313.11 T
0 F
(\322a resend done before\323) 431.42 313.11 T
2 F
(then) 161.42 299.11 T
4 F
(cur ) 188.42 299.11 T
5 F
(\254) 206.74 299.11 T
4 F
( \050) 220.55 299.11 T
(h) 227.54 299.11 T
( ) 233.54 299.11 T
8 F
(\316 ) 236.54 299.11 T
3 F
(H) 248.09 299.11 T
4 F
( | h.holder = obj) 256.74 299.11 T
( ) 332.87 299.11 T
2 F
(and) 335.86 299.11 T
4 F
( h.sel = sel\051) 355.2 299.11 T
0 F
-0.18 (\322a single activation object\323) 431.42 299.11 P
2 F
(if) 188.42 285.11 T
4 F
( cur ) 195.75 285.11 T
8 F
(\271) 217.06 285.11 T
4 F
( first_element\050) 223.65 285.11 T
3 F
(H) 293.93 285.11 T
4 F
(\051) 302.59 285.11 T
2 F
(then) 188.42 271.11 T
4 F
(callee ) 215.42 271.11 T
5 F
(\254) 246.39 271.11 T
4 F
( preceding\050) 260.2 271.11 T
3 F
(H) 314.48 271.11 T
4 F
(, cur\051) 323.14 271.11 T
0 F
(\322callee is called by cur\323) 431.42 271.11 T
4 F
(sel ) 215.42 257.11 T
5 F
(\254) 231.75 257.11 T
4 F
( callee.sel) 245.56 257.11 T
2 F
(if) 215.42 243.11 T
4 F
( callee.invokedByDirectedResend) 222.75 243.11 T
2 F
(then) 215.42 229.11 T
3 F
(P) 242.42 229.11 T
4 F
( ) 249.75 229.11 T
5 F
(\254) 252.75 229.11 T
4 F
( {s) 266.56 229.11 T
( ) 279.98 229.11 T
8 F
(\316) 282.98 229.11 T
4 F
( ) 291.53 229.11 T
3 F
(P) 294.53 229.11 T
4 F
( |) 301.86 229.11 T
( s = callee.delegatee}) 307.25 229.11 T
2 F
( end ) 409.69 229.11 T
0 F
(\322directed resend\323) 449.42 229.11 T
2 F
(if) 215.42 215.11 T
4 F
( ) 222.75 215.11 T
(| ) 225.75 215.11 T
3 F
(P) 231.15 215.11 T
4 F
( | = 0 ) 238.48 215.11 T
2 F
(then) 265.63 215.11 T
4 F
( ) 288.28 215.11 T
3 F
(error: delegatee not found ) 291.28 215.11 T
2 F
(end) 421.2 215.11 T
(else) 188.42 201.11 T
4 F
(sel ) 215.42 201.11 T
5 F
(\254) 231.75 201.11 T
4 F
( sel) 245.56 201.11 T
0 F
(c) 261.88 198.11 T
2 F
(if) 215.42 187.11 T
4 F
( isDir) 222.75 187.11 T
0 F
(c) 249.74 184.11 T
4 F
( ) 254.18 187.11 T
2 F
(then) 257.17 187.11 T
4 F
( ) 279.83 187.11 T
3 F
(P) 282.83 187.11 T
4 F
( ) 290.15 187.11 T
5 F
(\254) 293.15 187.11 T
4 F
( {s) 306.96 187.11 T
( ) 320.38 187.11 T
8 F
(\316) 323.38 187.11 T
4 F
( ) 331.93 187.11 T
3 F
(P) 334.93 187.11 T
4 F
( |) 342.26 187.11 T
( s = del) 347.66 187.11 T
0 F
(c) 382.74 184.11 T
4 F
(}) 387.18 187.11 T
2 F
( end ) 392.93 187.11 T
0 F
(\322directed resend\323) 449.42 187.11 T
2 F
(if) 215.42 173.11 T
4 F
( ) 222.75 173.11 T
(| ) 225.75 173.11 T
3 F
(P) 231.15 173.11 T
4 F
( | = 0 ) 238.48 173.11 T
2 F
(then) 265.63 173.11 T
4 F
( ) 288.28 173.11 T
3 F
(error: delegatee not found ) 291.28 173.11 T
2 F
(end) 421.2 173.11 T
(end) 188.42 159.11 T
(end) 161.42 145.11 T
3 F
(M) 161.42 131.11 T
0 F
(parent) 171.41 128.11 T
4 F
( ) 196.39 131.11 T
5 F
(\254) 199.39 131.11 T
4 F
(resend_lookup\050s.contents, rec, sel, sel) 234.6 131.11 T
0 F
(c) 416.13 128.11 T
4 F
(, isDir) 420.57 131.11 T
0 F
(c) 450.55 128.11 T
4 F
(, del) 454.99 131.11 T
0 F
(c) 475.64 128.11 T
4 F
(, smh, ) 480.08 131.11 T
3 F
(V) 512.07 131.11 T
4 F
(, ) 517.85 131.11 T
3 F
(H) 523.84 131.11 T
4 F
(\051) 532.5 131.11 T
(prio ) 161.42 110.11 T
5 F
(\254) 183.74 110.11 T
4 F
( prio + 1) 197.55 110.11 T
2 F
(end) 125.42 96.11 T
(if ) 125.42 82.11 T
3 F
(M) 135.75 82.11 T
0 F
(local) 145.74 79.11 T
4 F
( = ) 165.17 82.11 T
8 F
(\306) 177.93 82.11 T
2 F
(then ) 125.42 68.11 T
3 F
(M) 151.08 68.11 T
4 F
( ) 161.07 68.11 T
5 F
(\254) 164.07 68.11 T
4 F
( ) 177.88 68.11 T
3 F
(M) 180.88 68.11 T
0 F
(parent) 190.87 65.11 T
213.2 115.32 234.6 140.52 C
12 F
0 X
0 K
(s) 216.64 121.22 T
13 F
(P) 227.84 121.22 T
14 F
(\316) 221.11 121.22 T
15 F
(\310) 218.08 128.67 T
0 0 612 792 C
FMENDPAGE
%%EndPage: "19" 110
%%Page: "20" 110
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-20) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Message lookup semantics) 432.27 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
2 F
0 X
(else ) 125.42 708.11 T
3 F
(M) 147.07 708.11 T
4 F
( ) 157.06 708.11 T
5 F
(\254) 160.06 708.11 T
4 F
( ) 173.87 708.11 T
3 F
(M) 176.87 708.11 T
0 F
(local) 186.86 705.11 T
2 F
( || ) 206.29 708.11 T
3 F
(M) 217.56 708.11 T
0 F
(parent) 227.55 705.11 T
2 F
( ) 252.53 708.11 T
0 F
(\322concatenation of set onto list of sets\323) 359.42 708.11 T
2 F
(end) 125.42 694.11 T
(end) 98.42 680.11 T
(r) 98.42 666.11 T
(eturn) 103.53 666.11 T
4 F
( ) 131.51 666.11 T
3 F
(M) 134.51 666.11 T
4 F
0.54 (The union operator over lists of sets of matching slots is de\336ned to return the list of the element) 71.42 646.11 P
(sets.) 71.42 632.11 T
0.41 (The algorithm is similar to the regular lookup algorithm, except it does not stop the lookup once) 71.42 612.11 P
-0.05 (the highest priority matching slots are found. Instead, it recursively searches each object\325) 71.42 598.11 P
-0.05 (s parents) 497.17 598.11 P
0.31 (in priority order \050beginning with the base activation object\325) 71.42 584.11 P
0.31 (s method holder\051 to construct a list of) 357.71 584.11 P
-0.1 (sets of matching slots. This list represents the order of slots in ancestors of the receiver that match) 71.42 570.11 P
-0.37 (the message ) 71.42 556.11 P
3 F
-0.37 (at the time of the) 131.98 556.11 P
4 F
-0.37 ( ) 211.14 556.11 P
3 F
-0.37 (sending of the r) 213.77 556.11 P
-0.37 (esend that is being handled) 287.2 556.11 P
4 F
-0.37 ( \050the presence of dynamic) 416.99 556.11 P
0.73 (inheritance means that this order may change from message send to message send\051. Slots in the) 71.42 542.11 P
(same set are of equal order) 71.42 528.11 T
(.) 199.65 528.11 T
-0.6 (During this process, the algorithm prunes searches through parents that are not delegated to at plac-) 71.42 508.11 P
-0.1 (es in the resend chain where directed resends were performed. In addition, if resends along the re-) 71.42 494.11 P
0.38 (send chain changed the selector name, the new selector name is searched for instead. In essence,) 71.42 480.11 P
0.17 (the resend lookup algorithm mimics the chain of resend lookups as best it can. Resends that have) 71.42 466.11 P
1.1 (been spliced out of the chain by inheritance graph changes are ignored. Objects with matching) 71.42 452.11 P
-0.05 (slots that have been inserted into the path of the resend chain are assumed to do a regular \050non-di-) 71.42 438.11 P
(rected, same selector\051 resend, and the lookup continues.) 71.42 424.11 T
-0.38 (Once the list of sets is computed, the sender path tiebreaker is applied to each set. Then the sets are) 71.42 404.11 P
-0.55 (searched in order for either a non-singleton set or the set containing the slot for the resending meth-) 71.42 390.11 P
(od. The following cases can occur:) 71.42 376.11 T
(\245) 84.96 356.11 T
1.33 (If a non-singleton set is found, then the resend results in an \322ambiguous message\323 error.) 98.42 356.11 P
0.17 (\050This may occur if dynamic inheritance changes the inheritance graph to introduce ambigu-) 98.42 342.11 P
(ity in the lookup of the message.\051) 98.42 328.11 T
(\245) 84.96 308.11 T
0.23 (If no set contains a matching slot for the resending method, then the resend results in a \322re-) 98.42 308.11 P
0.82 (sending method not found\323 error. \050This may occur if dynamic inheritance removes the re-) 98.42 294.11 P
(sending method holder from all possible lookup paths.\051) 98.42 280.11 T
(\245) 84.96 260.11 T
0.29 (Otherwise, the resending method is found, and the result of the resend is determined by the) 98.42 260.11 P
-0.13 (set following the one in which the resending method is found. There are three possible cases) 98.42 246.11 P
(at this point:) 98.42 232.11 T
(\245) 98.42 212.11 T
-0.06 (If the following set is empty \050the set containing the resending method is the last set in the) 112.39 212.11 P
(sequence\051, then the resend results in a \322message not understood\323 error. ) 112.42 198.11 T
(\245) 98.42 178.11 T
0.46 (If the following set is non-singleton, then the resend results in an \322ambiguous message\323) 112.39 178.11 P
(error. ) 112.42 164.11 T
(\245) 98.42 144.11 T
(Otherwise, the resend is successful, and the slot contained in the following set is evaluat-) 112.39 144.11 T
(ed to compute the result of the resend.) 112.42 130.11 T
FMENDPAGE
%%EndPage: "20" 111
%%Page: "21" 111
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-21) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Lexical elements) 471.42 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(6 Lexical elements) 71.42 705.45 T
4 F
0.96 (This chapter describes the lexical structure of S) 71.42 682.11 P
6 F
0.88 (ELF) 305.61 682.11 P
4 F
0.96 ( programs\321how sequences of characters in) 325.15 682.11 P
0.46 (S) 71.42 668.11 P
6 F
0.42 (ELF) 78.09 668.11 P
4 F
0.46 ( source code are grouped into lexical tokens. In contrast to syntactic elements described by) 97.63 668.11 P
-0.58 (productions in the rest of this document, the elements of lexical EBNF productions may not be sep-) 71.42 654.11 P
0.32 (arated by whitespace, i.e. there may not be whitespace within a lexical token. T) 71.42 640.11 P
0.32 (okens are formed) 455.52 640.11 P
0.9 (from the longest sequence of characters possible. Whitespace may separate any two tokens and) 71.42 626.11 P
(must separate tokens that would be treated as one token otherwise. ) 71.42 612.11 T
10 F
(6.1 Character set) 71.42 578.78 T
4 F
(S) 71.42 558.11 T
6 F
(ELF) 78.09 558.11 T
4 F
( programs are written using the following characters:) 97.63 558.11 T
(\245) 84.96 538.11 T
3 F
(Letters. ) 98.42 538.11 T
4 F
(The fifty-two upper and lower case letters:) 137.74 538.11 T
7 F
(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz) 98.42 524.11 T
4 F
(\245) 84.96 504.11 T
3 F
(Digits. ) 98.42 504.11 T
4 F
(The ten numeric digits: ) 133.74 504.11 T
7 F
(0123456789) 248.34 504.11 T
4 F
(\245) 84.96 484.11 T
3 F
1.53 (Whitespace. ) 98.42 484.11 P
4 F
1.53 (The formatting characters: space, horizontal tab \050ASCII HT\051, newline \050NL\051,) 161.24 484.11 P
-0.08 (carriage return \050CR\051, vertical tab \050VT\051, backspace \050BS\051, and form feed \050FF\051. \050Comments are) 98.42 470.11 P
(also treated as whitespace.\051) 98.42 456.11 T
(\245) 84.96 436.11 T
3 F
(Graphic characters. ) 98.42 436.11 T
4 F
(The 32 non-alphanumeric characters: ) 198.69 436.11 T
7 F
(!@#$%^&*\050\051_-+=|\134~\324{}[]:;"\325<>,.?/) 98.42 422.11 T
10 F
(6.2 Identi\336ers) 71.42 388.78 T
4 F
-0.03 (An ) 71.42 368.11 P
3 F
-0.03 (identi\336er) 89.04 368.11 P
4 F
-0.03 ( is a sequence of letters, digits, and underscores \050\324) 132.35 368.11 P
7 F
-0.08 (_) 370.86 368.11 P
4 F
-0.03 (\325\051 beginning with a lowercase let-) 378.05 368.11 P
(ter or an underscore. Case is signi\336cant: ) 71.42 354.11 T
7 F
(apoint) 266.62 354.11 T
4 F
( is not the same as ) 309.79 354.11 T
7 F
(aPoint) 400.4 354.11 T
4 F
(.) 443.58 354.11 T
(Productions:) 71.42 334.11 T
3 F
(small-letter) 107.42 314.11 T
8 F
(\256) 179.42 314.11 T
4 F
( ) 191.26 314.11 T
(\324) 197.42 314.11 T
7 F
(a) 201.42 314.11 T
4 F
(\325 | \324) 208.61 314.11 T
7 F
(b) 225 314.11 T
4 F
(\325 | ... | \324) 232.19 314.11 T
7 F
(z) 265.97 314.11 T
4 F
(\325) 273.16 314.11 T
3 F
(cap-letter) 107.42 290.11 T
8 F
(\256) 179.42 290.11 T
4 F
( ) 191.26 290.11 T
(\324) 197.42 290.11 T
7 F
(A) 201.42 290.11 T
4 F
(\325 | \324) 208.61 290.11 T
7 F
(B) 225 290.11 T
4 F
(\325 | ... | \324) 232.19 290.11 T
7 F
(Z) 265.97 290.11 T
4 F
(\325) 273.16 290.11 T
3 F
(letter) 107.42 266.11 T
8 F
(\256) 179.42 266.11 T
4 F
( ) 191.26 266.11 T
3 F
(small-letter) 197.42 266.11 T
4 F
( | ) 252.73 266.11 T
3 F
(cap-letter) 261.12 266.11 T
(identifier) 107.42 242.11 T
8 F
(\256) 179.42 242.11 T
4 F
( ) 191.26 242.11 T
(\050) 197.42 242.11 T
3 F
(small-letter) 201.42 242.11 T
4 F
( | \324) 256.72 242.11 T
7 F
(_) 269.11 242.11 T
4 F
(\325\051 {) 276.3 242.11 T
3 F
(letter) 293.05 242.11 T
4 F
( | ) 318.37 242.11 T
3 F
(digit) 326.76 242.11 T
4 F
( | \324) 348.76 242.11 T
7 F
(_) 361.15 242.11 T
4 F
(\325}) 368.34 242.11 T
(Examples:) 71.42 218.11 T
7 F
(i) 143.42 218.11 T
(_IntAdd) 215.42 218.11 T
(cloud9) 287.42 218.11 T
(m) 359.42 218.11 T
(a_point) 431.42 218.11 T
4 F
(The two identi\336ers ) 71.42 198.11 T
7 F
-1.51 (self) 165.03 198.11 P
4 F
-0.63 ( and ) 193.82 198.11 P
7 F
-1.51 (resend) 215.87 198.11 P
4 F
-0.63 ( are reserved. Identi\336ers beginning with underscores are re-) 259.05 198.11 P
(served for primitives.) 71.42 184.11 T
10 F
(6.3 Keywords) 71.42 150.78 T
3 F
-0.03 (Keywor) 71.42 130.11 P
-0.03 (ds) 108.29 130.11 P
4 F
-0.03 ( are used as slot names and as message names. They consist of an identi\336er or a capital-) 118.95 130.11 P
(ized identi\336er followed by a colon \050\324) 71.42 116.11 T
7 F
(:) 247.29 116.11 T
4 F
(\325\051.) 254.49 116.11 T
(Productions:) 71.42 96.11 T
3 F
(small-keyword) 107.42 76.11 T
8 F
(\256) 179.42 76.11 T
3 F
(identifier) 197.42 76.11 T
4 F
( \324) 241.4 76.11 T
7 F
(:) 248.4 76.11 T
4 F
(\325) 255.59 76.11 T
FMENDPAGE
%%EndPage: "21" 112
%%Page: "22" 112
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-22) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Lexical elements) 471.42 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
3 F
0 X
(cap-keyword) 107.42 708.11 T
8 F
(\256) 179.42 708.11 T
3 F
(cap-letter) 197.42 708.11 T
4 F
( {) 244.05 708.11 T
3 F
(letter) 252.81 708.11 T
4 F
( | ) 278.13 708.11 T
3 F
(digit) 286.52 708.11 T
4 F
( | \324) 308.52 708.11 T
7 F
(_) 320.91 708.11 T
4 F
(\325} \324) 328.1 708.11 T
7 F
(:) 344.85 708.11 T
4 F
(\325) 352.04 708.11 T
(Examples:) 71.42 684.11 T
7 F
(at:) 143.42 684.11 T
(Put:) 215.42 684.11 T
(_IntAdd:) 287.42 684.11 T
10 F
(6.4 Arguments) 71.42 650.78 T
4 F
(A colon followed by an identi\336er denotes an ) 71.42 630.11 T
3 F
(ar) 287.94 630.11 T
(gument) 298.16 630.11 T
4 F
( slot name.) 333.47 630.11 T
(Production:) 71.42 610.11 T
3 F
(arg-name) 107.42 590.11 T
8 F
(\256) 179.42 590.11 T
4 F
(\324) 197.42 590.11 T
7 F
(:) 201.42 590.11 T
4 F
(\325 ) 208.61 590.11 T
3 F
(identifier) 215.61 590.11 T
4 F
(Example:) 71.42 566.11 T
7 F
(:name) 143.42 566.11 T
10 F
(6.5 Operators) 71.42 532.78 T
4 F
(An ) 71.42 512.11 T
3 F
(operator) 89.08 512.11 T
4 F
( consists of a sequence of one or more of the following characters:) 131.05 512.11 T
7 F
(! @ # $ % ^ & * - + = ~ / ? < > , ; | \324 \134 ) 143.42 492.11 T
4 F
(T) 71.42 472.11 T
(wo sequences are reserved and are not operators:) 77.91 472.11 T
(|) 143.42 452.11 T
(^) 179.42 452.11 T
(Productions:) 71.42 428.11 T
3 F
(op-char) 107.42 408.11 T
8 F
(\256) 179.42 408.11 T
4 F
(\324) 197.42 408.11 T
7 F
(!) 201.42 408.11 T
4 F
(\325 | \324) 208.61 408.11 T
7 F
(@) 225 408.11 T
4 F
(\325 | \324) 232.19 408.11 T
7 F
(#) 248.58 408.11 T
4 F
(\325 | \324) 255.77 408.11 T
7 F
($) 272.15 408.11 T
4 F
(\325 | \324) 279.35 408.11 T
7 F
(%) 295.73 408.11 T
4 F
(\325 | \324) 302.93 408.11 T
7 F
(^) 319.31 408.11 T
4 F
(\325 | \324) 326.51 408.11 T
7 F
(&) 342.89 408.11 T
4 F
(\325 | \324) 350.09 408.11 T
7 F
(*) 366.47 408.11 T
4 F
(\325 | \324) 373.67 408.11 T
7 F
(-) 390.05 408.11 T
4 F
(\325 | \324) 397.25 408.11 T
7 F
(+) 413.63 408.11 T
4 F
(\325 | \324) 420.83 408.11 T
7 F
(=) 437.21 408.11 T
4 F
(\325 | \324) 444.4 408.11 T
7 F
(~) 460.79 408.11 T
4 F
(\325 | \324) 467.98 408.11 T
7 F
(/) 484.37 408.11 T
4 F
(\325 | \324) 491.56 408.11 T
7 F
(?) 507.95 408.11 T
4 F
(\325 |) 515.14 408.11 T
(\324) 197.42 390.11 T
7 F
(<) 201.42 390.11 T
4 F
(\325 | \324) 208.61 390.11 T
7 F
(>) 225 390.11 T
4 F
(\325 | \324) 232.19 390.11 T
7 F
(,) 248.58 390.11 T
4 F
(\325 | \324) 255.77 390.11 T
7 F
(;) 272.15 390.11 T
4 F
(\325 | \324) 279.35 390.11 T
7 F
(|) 295.73 390.11 T
4 F
(\325 | \324) 302.93 390.11 T
7 F
(\324) 319.31 390.11 T
4 F
(\325 | \324) 326.51 390.11 T
7 F
(\134) 342.89 390.11 T
4 F
(\325) 350.09 390.11 T
3 F
(operator) 107.42 366.11 T
8 F
(\256) 179.42 366.11 T
3 F
(op-char) 197.42 366.11 T
4 F
( {) 235.4 366.11 T
3 F
(op-char) 244.15 366.11 T
4 F
(}) 282.12 366.11 T
(Examples: ) 71.42 342.11 T
7 F
(+) 143.42 342.11 T
(-) 215.42 342.11 T
(&&) 287.42 342.11 T
(||) 359.42 342.11 T
(<->) 431.42 342.11 T
(%#@^) 503.42 342.11 T
10 F
(6.6 Numbers) 71.42 308.78 T
4 F
0.37 (Integer literals are written as a sequence of digits, optionally pre\336xed with a minus sign and/or a) 71.42 288.11 P
-0.2 (base. No whitespace is allowed between a minus sign and the digit sequence.) 71.42 274.11 P
0 F
-0.17 (\240) 438.76 278.91 P
4 F
-0.2 ( Real constants may) 443.75 274.11 P
(be either written in \336xed-point or exponential form.) 71.42 260.11 T
0.83 (Integers may be written using bases from 2 to 36. For bases greater than ten, the characters \324) 71.42 240.11 P
7 F
2 (a) 528.23 240.11 P
4 F
0.83 (\325) 535.43 240.11 P
-0.08 (through \324) 71.42 226.11 P
7 F
-0.19 (z) 115.65 226.11 P
4 F
-0.08 (\325 \050case insensitive\051 represent digit values 10 through 35. The default base is decimal. A) 122.84 226.11 P
-0.6 (non-decimal number is pre\336xed by its base value, speci\336ed as a decimal number followed by either) 71.42 212.11 P
(\324) 71.42 198.11 T
7 F
(r) 75.42 198.11 T
4 F
(\325 or \324) 83.06 198.11 T
7 F
(R) 107.03 198.11 T
4 F
(\325.) 114.23 198.11 T
-0.15 (Real numbers may be written in decimal only) 71.42 178.11 P
-0.15 (. The exponent of a \337oating-point format number in-) 288.46 178.11 P
(dicates multiplication of the mantissa by 10 raised to the exponent power; i.e.,) 71.42 164.11 T
3 F
(nnnn) 242.62 144.11 T
4 F
(E) 266.6 144.11 T
3 F
(ddd) 273.93 144.11 T
4 F
( = ) 291.92 144.11 T
3 F
(nnnn) 304.68 144.11 T
4 F
( ) 328.67 144.11 T
8 F
(\264) 331.67 144.11 T
4 F
( 10) 338.25 144.11 T
16 F
(ddd) 353.24 148.91 T
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.09 (\240 ) 71.42 77.77 P
0 F
0.11 (In situations where parsing the minus sign as part of the number would cause a parse error \050for example, in the ex-) 79.6 73.77 P
(pression ) 71.42 62.77 T
20 F
(a-1) 107.23 62.77 T
0 F
(\051, the minus is interpreted as a binary message \050) 125.22 62.77 T
20 F
(a - 1) 315.64 62.77 T
0 F
(\051.) 345.62 62.77 T
FMENDPAGE
%%EndPage: "22" 113
%%Page: "23" 113
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-23) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Lexical elements) 471.42 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
-0.11 (A number with a digit that is not appropriate for the base will cause a lexical error) 71.42 708.11 P
-0.11 (, as will an inte-) 462.91 708.11 P
0.15 (ger constant that is too lar) 71.42 694.11 P
0.15 (ge to be represented. If the absolute value of a real constant is too lar) 196.19 694.11 P
0.15 (ge) 528.1 694.11 P
(or too small to be represented, the value of the constant will be ) 71.42 680.11 T
8 F
(\261 ) 375.88 680.11 T
4 F
(in\336nity or zero, respectively) 385.46 680.11 T
(.) 519.92 680.11 T
(Productions:) 71.42 660.11 T
3 F
(number) 107.42 640.11 T
8 F
(\256) 179.42 640.11 T
4 F
([ \324) 197.42 640.11 T
7 F
(-) 208.41 640.11 T
4 F
(\325 ] \050) 215.61 640.11 T
3 F
(integer) 233.58 640.11 T
4 F
( | ) 267.56 640.11 T
3 F
(real\051) 275.96 640.11 T
(integer) 107.42 616.11 T
8 F
(\256) 179.42 616.11 T
4 F
([) 197.42 616.11 T
3 F
(base) 201.42 616.11 T
4 F
(] ) 223.4 616.11 T
3 F
(general-digit) 230.39 616.11 T
4 F
( {) 293.02 616.11 T
3 F
(general-digit) 301.78 616.11 T
4 F
(}) 364.41 616.11 T
3 F
(real) 107.42 592.11 T
8 F
(\256) 179.42 592.11 T
3 F
(fixed-point) 197.42 592.11 T
4 F
( | ) 249.39 592.11 T
3 F
(float) 257.79 592.11 T
(fixed-point) 107.42 568.11 T
8 F
(\256) 179.42 568.11 T
3 F
(decimal) 197.42 568.11 T
4 F
( \324) 235.4 568.11 T
7 F
(.) 242.39 568.11 T
4 F
(\325 ) 249.58 568.11 T
3 F
(decimal) 256.58 568.11 T
(float) 107.42 544.11 T
8 F
(\256) 179.42 544.11 T
3 F
(decimal) 197.42 544.11 T
4 F
( [ \324) 235.4 544.11 T
7 F
(.) 249.38 544.11 T
4 F
(\325 ) 256.58 544.11 T
3 F
(decimal ) 263.57 544.11 T
4 F
(] \050\324) 304.54 544.11 T
7 F
(e) 319.52 544.11 T
4 F
(\325 | \324) 326.71 544.11 T
7 F
(E) 343.1 544.11 T
4 F
(\325\051 [ \324) 350.29 544.11 T
7 F
(+) 372.26 544.11 T
4 F
(\325 | \324) 379.46 544.11 T
7 F
(-) 395.84 544.11 T
4 F
(\325 ] ) 403.04 544.11 T
3 F
(decimal) 417.02 544.11 T
(general-digit) 107.42 520.11 T
8 F
(\256) 179.42 520.11 T
3 F
(digit) 197.42 520.11 T
4 F
( | ) 219.42 520.11 T
3 F
(letter) 227.82 520.11 T
(decimal) 107.42 496.11 T
8 F
(\256) 179.42 496.11 T
3 F
(digit) 197.42 496.11 T
4 F
( {) 219.42 496.11 T
3 F
(digit) 228.18 496.11 T
4 F
(}) 250.17 496.11 T
3 F
(base) 107.42 472.11 T
8 F
(\256) 179.42 472.11 T
3 F
(decimal) 197.42 472.11 T
4 F
( \050\324) 235.4 472.11 T
7 F
(r) 246.38 472.11 T
4 F
(\325 | \324) 253.58 472.11 T
7 F
(R) 269.96 472.11 T
4 F
(\325\051) 277.16 472.11 T
(Examples:) 71.42 448.11 T
7 F
(123) 143.42 448.11 T
(16r27fe) 206.42 448.11 T
(-1272.34e+15) 287.42 448.11 T
(1e10) 422.42 448.11 T
10 F
(6.7 Strings) 71.42 414.78 T
4 F
-0.41 (String constants are enclosed in single quotes \050\324) 71.42 394.11 P
7 F
-0.99 (\325) 297.4 394.11 P
4 F
-0.41 (\325\051. W) 303.7 394.11 P
-0.41 (ith the exception of single quotes and escape) 328.12 394.11 P
1.62 (sequences introduced by a backslash \050\324) 71.42 380.11 P
7 F
3.89 (\134) 266.38 380.11 P
4 F
1.62 (\325\051, all characters \050including formatting characters like) 273.57 380.11 P
(newline and carriage return\051 lying between the delimiting single quotes are included in the string.) 71.42 366.11 T
-0.19 (T) 71.42 346.11 P
-0.19 (o allow single quotes to appear in a string and to allow non-printing control characters in a string) 77.91 346.11 P
(to be indicated more visibly) 71.42 332.11 T
(, S) 204.56 332.11 T
6 F
(ELF) 217.23 332.11 T
4 F
( provides C-like escape sequences:) 236.76 332.11 T
7 F
(\134t) 143.42 312.11 T
4 F
(tab) 170.42 312.11 T
7 F
(\134b) 260.42 312.11 T
4 F
(backspace) 287.42 312.11 T
7 F
(\134n) 386.42 312.11 T
4 F
(newline) 413.42 312.11 T
7 F
(\134f) 143.42 298.11 T
4 F
(form feed) 170.42 298.11 T
7 F
(\134r) 260.42 298.11 T
4 F
(carriage return) 287.42 298.11 T
7 F
(\134v) 386.42 298.11 T
4 F
(vertical tab) 413.42 298.11 T
7 F
(\134a) 143.42 284.11 T
4 F
(alert \050bell\051) 170.42 284.11 T
7 F
(\1340) 260.42 284.11 T
4 F
(null character) 287.42 284.11 T
7 F
(\134\134) 386.42 284.11 T
4 F
(backslash) 413.42 284.11 T
7 F
(\134\325) 143.42 270.11 T
4 F
(single quote) 170.42 270.11 T
7 F
(\134) 260.42 270.11 T
4 F
(") 267.62 270.11 T
(double quote) 287.42 270.11 T
7 F
(\134?) 386.42 270.11 T
4 F
(question mark) 413.42 270.11 T
-0.24 (A backslash followed by an \324) 71.42 250.11 P
7 F
-0.57 (x) 210.46 250.11 P
4 F
-0.24 (\325, \324) 217.66 250.11 P
7 F
-0.57 (d) 231.41 250.11 P
4 F
-0.24 (\325, or \324) 238.6 250.11 P
7 F
-0.57 (o) 265.1 250.11 P
4 F
-0.24 (\325 speci\336es the character with the corresponding numeric) 272.3 250.11 P
(encoding in the ASCII character set: ) 71.42 236.11 T
7 F
(\134x) 143.42 216.11 T
3 F
(nn) 157.82 216.11 T
4 F
(hexadecimal escape) 215.42 216.11 T
7 F
(\134d) 143.42 202.11 T
3 F
(nnn) 157.82 202.11 T
4 F
(decimal escape) 215.42 202.11 T
7 F
(\134o) 143.42 188.11 T
3 F
(nnn) 157.82 188.11 T
4 F
(octal escape) 215.42 188.11 T
-0.58 (There must be exactly two hexadecimal digits for hexadecimal character escapes, and exactly three) 71.42 168.11 P
-0.3 (digits for decimal and octal character escapes. Illegal hexadecimal, decimal, and octal numbers, as) 71.42 154.11 P
(well as character escapes specifying ASCII values greater than 255 will cause a lexical error) 71.42 140.11 T
(.) 513.72 140.11 T
(For example, the following characters all denote the carriage return character \050ASCII code 13\051:) 71.42 120.11 T
7 F
(\134r) 143.42 100.11 T
(\134x0d) 215.42 100.11 T
(\134d013) 287.42 100.11 T
(\134o015) 359.42 100.11 T
4 F
-0.21 (A long string may be broken into multiple lines by preceding each newline with a backslash. Such) 71.42 80.11 P
(escaped newlines are ignored during formation of the string constant.) 71.42 66.11 T
FMENDPAGE
%%EndPage: "23" 114
%%Page: "24" 114
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-24) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Lexical elements) 471.42 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(A backslash followed by any other character than those listed above will cause a lexical error) 71.42 708.11 T
(.) 518.07 708.11 T
(Productions:) 71.42 688.11 T
3 F
(string) 107.42 668.11 T
8 F
(\256) 179.42 668.11 T
4 F
(\324) 197.42 668.11 T
7 F
(\325) 201.42 668.11 T
4 F
(\325 { ) 208.61 668.11 T
3 F
(normal-char) 224.36 668.11 T
4 F
( | ) 284.99 668.11 T
3 F
(escape-char) 293.38 668.11 T
4 F
( } \324) 351.99 668.11 T
7 F
(\325) 367.74 668.11 T
4 F
(\325) 374.94 668.11 T
3 F
(normal-char) 107.42 644.11 T
8 F
(\256) 179.42 644.11 T
4 F
(any character except \324) 197.42 644.11 T
7 F
(\134) 302.98 644.11 T
4 F
(\325 and \324) 310.17 644.11 T
7 F
(\325) 341.48 644.11 T
4 F
(\325) 348.67 644.11 T
3 F
(escape-char) 107.42 620.11 T
8 F
(\256) 179.42 620.11 T
4 F
(\324) 197.42 620.11 T
7 F
(\134t) 201.42 620.11 T
4 F
(\325 | \324) 215.81 620.11 T
7 F
(\134b) 232.19 620.11 T
4 F
(\325 | \324) 246.59 620.11 T
7 F
(\134n) 262.97 620.11 T
4 F
(\325 | \324) 277.36 620.11 T
7 F
(\134f) 293.74 620.11 T
4 F
(\325 | \324) 308.14 620.11 T
7 F
(\134r) 324.52 620.11 T
4 F
(\325 | \324) 338.91 620.11 T
7 F
(\134v) 355.29 620.11 T
4 F
(\325 | \324) 369.68 620.11 T
7 F
(\134a) 386.07 620.11 T
4 F
(\325 | \324) 400.46 620.11 T
7 F
(\1340) 416.84 620.11 T
4 F
(\325 | \324) 431.24 620.11 T
7 F
(\134\134) 447.62 620.11 T
4 F
(\325 | \324) 462.01 620.11 T
7 F
(\134\325) 478.39 620.11 T
4 F
(\325 | \324) 492.79 620.11 T
7 F
(\134) 509.17 620.11 T
4 F
("\325 |) 516.36 620.11 T
(\324) 197.42 602.11 T
7 F
(\134?) 201.42 602.11 T
4 F
(\325 |) 215.81 602.11 T
3 F
( numeric-escape) 225.2 602.11 T
(numeric-escape) 107.42 578.11 T
8 F
(\256) 183.35 578.11 T
4 F
(\324) 197.42 578.11 T
7 F
(\134x) 201.42 578.11 T
4 F
(\325 ) 215.81 578.11 T
3 F
(general-digit general-digit) 222.8 578.11 T
4 F
( | \050 \324) 351.06 578.11 T
7 F
(\134d) 370.44 578.11 T
4 F
(\325 | \324) 384.83 578.11 T
7 F
(\134o) 401.22 578.11 T
4 F
(\325 \051 ) 415.61 578.11 T
3 F
(digit digit digit) 429.59 578.11 T
10 F
(6.8 Comments) 71.42 540.78 T
4 F
-0.12 (Comments are delimited by double quotes \050\324) 71.42 520.11 P
7 F
-0.29 (") 284.57 520.11 P
4 F
-0.12 (\325\051. Double quotes may not themselves be embedded) 291.77 520.11 P
0.76 (in the body of a comment. All characters \050including formatting characters like newline and car-) 71.42 506.11 P
(riage return\051 are part of the body of a comment.) 71.42 492.11 T
(Productions:) 71.42 472.11 T
3 F
(comment) 107.42 452.11 T
8 F
(\256) 179.42 452.11 T
4 F
(\324"\325 { ) 197.42 452.11 T
3 F
(comment-char) 222.06 452.11 T
4 F
( } \324"\325) 291.33 452.11 T
3 F
(comment-char) 107.42 428.11 T
8 F
(\256) 179.42 428.11 T
4 F
(any character but \324"\325) 197.42 428.11 T
(Example:) 71.42 404.11 T
7 F
("this is a comment") 143.42 404.11 T
FMENDPAGE
%%EndPage: "24" 115
%%Page: "25" 115
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-25) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Glossary) 503.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix A) 71.42 705.45 T
(Glossary) 169.61 705.45 T
4 F
(\245) 71.42 682.11 T
(A ) 84.96 682.11 T
3 F
(slot) 96.62 682.11 T
4 F
( is a name-value pair. The value of a slot is often called its ) 113.95 682.11 T
3 F
(contents) 396.74 682.11 T
4 F
(.) 436.71 682.11 T
(\245) 71.42 662.11 T
-0.2 (An ) 84.96 662.11 P
3 F
-0.2 (object) 102.41 662.11 P
4 F
-0.2 ( is composed of a \050possibly empty\051 set of slots and, optionally, a series of expressions) 131.72 662.11 P
-0.01 (called ) 84.96 648.11 P
3 F
-0.01 (code) 116.59 648.11 P
4 F
-0.01 (. The ) 139.23 648.11 P
-0.01 (S) 166.86 648.11 P
6 F
-0.01 (ELF) 173.53 648.11 P
4 F
-0.01 ( implementation provides objects with indexable slots \050vectors\051 via a set) 193.06 648.11 P
(of primitives.) 84.96 634.11 T
(\245) 71.42 614.11 T
(A ) 84.96 614.11 T
3 F
(data object) 96.62 614.11 T
4 F
( is an object without code.) 150.25 614.11 T
(\245) 71.42 594.11 T
0.13 (A ) 84.96 594.11 P
3 F
0.13 (data slot) 96.75 594.11 P
4 F
0.13 ( is a slot holding a data object. Data slots may be assignable: an ) 138.54 594.11 P
3 F
0.13 (assignable slot) 448.54 594.11 P
4 F
0.13 ( has) 520.3 594.11 P
-0.15 (a corresponding slot in the same object, with the same name appended with a colon, containing) 84.96 580.11 P
-0.12 (the ) 84.96 566.11 P
3 F
-0.12 (assignment primitive) 102.49 566.11 P
4 F
-0.12 (. This slot is called an ) 202.64 566.11 P
3 F
-0.12 (assignment slot) 309.51 566.11 P
4 F
-0.12 (. When the assignment primitive) 383.68 566.11 P
(is invoked, its argument is put into the corresponding data slot.) 84.96 552.11 T
(\245) 71.42 532.11 T
(A ) 84.96 532.11 T
3 F
(method) 96.62 532.11 T
4 F
( is an object with code.) 131.93 532.11 T
(\245) 71.42 512.11 T
0.93 (An ) 84.96 512.11 P
3 F
0.93 (outer) 103.54 512.11 P
4 F
0.93 ( ) 128.86 512.11 P
3 F
0.93 (method) 132.79 512.11 P
4 F
0.93 ( is a method stored as the contents of a slot; the outer method\325s name \050also) 168.09 512.11 P
(called its ) 84.96 498.11 T
3 F
(selector) 130.93 498.11 T
4 F
(\051 is the name of the slot in which it is stored.) 168.9 498.11 T
(\245) 71.42 478.11 T
0.76 (An) 84.96 478.11 P
3 F
0.76 ( inner method ) 99.62 478.11 P
4 F
0.76 (is a method embedded in a ) 171.53 478.11 P
0.76 (S) 307.35 478.11 P
6 F
0.7 (ELF) 314.02 478.11 P
4 F
0.76 ( expression. It is similar to a parenthetical) 333.55 478.11 P
0.21 (expression in conventional languages, with the exception that it constitutes a nested scope and) 84.96 464.11 P
(may have local slots and multiple statements.) 84.96 450.11 T
(\245) 71.42 430.11 T
(A ) 84.96 430.11 T
3 F
(block) 96.62 430.11 T
4 F
( is an object representing a lexically-scoped closure \050similar to Smalltalk\325s blocks\051.) 122.6 430.11 T
(\245) 71.42 410.11 T
0.44 (A ) 84.96 410.11 P
3 F
0.44 (block method) 97.05 410.11 P
4 F
0.44 ( is the method executed when a block is invoked by sending it ) 161.77 410.11 P
7 F
1.04 (value) 468.23 410.11 P
4 F
0.44 (, ) 504.21 410.11 P
7 F
1.04 (val-) 510.64 410.11 P
(ue:) 84.96 396.11 T
4 F
(, ) 106.55 396.11 T
7 F
(value:With:) 112.54 396.11 T
4 F
(, etc.) 191.7 396.11 T
(\245) 71.42 376.11 T
-0.06 (An ) 84.96 376.11 P
3 F
-0.06 (activation object) 102.56 376.11 P
4 F
-0.06 ( is an executing outer method, block method, or inner method. It is a clone) 182.79 376.11 P
0.47 (of the method\325s prototype and holds the activation\325s arguments and local slots. Every invoca-) 84.96 362.11 P
(tion of an object with code creates a new activation object.) 84.96 348.11 T
(\245) 71.42 328.11 T
0.19 (A method\325s ) 84.96 328.11 P
3 F
0.19 (enclosing method) 144.63 328.11 P
4 F
0.19 ( is its lexically enclosing activation object \050either an outer meth-) 229.09 328.11 P
(od, block method, or inner method\051. Outer methods have no enclosing method.) 84.96 314.11 T
(\245) 71.42 294.11 T
1.72 (A method\325s ) 84.96 294.11 P
3 F
1.72 (home) 147.7 294.11 P
4 F
1.72 ( is its lexically enclosing outer method activation object, if any. In other) 173.67 294.11 P
0 (words, the home of an outer method is that method itself, while the home of a block method or) 84.96 280.11 P
(inner method is the enclosing method\325s home.) 84.96 266.11 T
(\245) 71.42 246.11 T
(A ) 84.96 246.11 T
3 F
(non-lifo block) 96.62 246.11 T
4 F
( is a block that is evaluated after its home has returned \050an error\051.) 163.58 246.11 T
(\245) 71.42 226.11 T
0.17 (A ) 84.96 226.11 P
3 F
0.17 (non-local return) 96.79 226.11 P
4 F
0.17 ( is the return from the activation of a method\325s home \050forcing a return from) 175.92 226.11 P
0.19 (all intervening activations\051 resulting from evaluating an expression preceded by the \324) 84.96 212.11 P
7 F
0.46 (^) 494.42 212.11 P
4 F
0.19 (\325 opera-) 501.61 212.11 P
(tor.) 84.96 198.11 T
(\245) 71.42 178.11 T
0.56 (The) 84.96 178.11 P
3 F
0.56 ( method holder) 103.61 178.11 P
4 F
0.56 ( of a method is the object containing the slot holding the prototype activa-) 177.35 178.11 P
(tion object for the method\325s home. ) 84.96 164.11 T
(\245) 71.42 144.11 T
0.17 (The ) 84.96 144.11 P
3 F
0.17 (sending method holder) 106.78 144.11 P
4 F
0.17 ( of a message is the method holder of the method sending the mes-) 217.06 144.11 P
(sage.) 84.96 130.11 T
(\245) 71.42 110.11 T
0.13 (A ) 84.96 110.11 P
3 F
0.13 (message) 96.74 110.11 P
4 F
0.13 ( is a request to an object to perform some operation. The object is called the ) 137.38 110.11 P
3 F
0.13 (receiv-) 506.13 110.11 P
(er) 84.96 96.11 T
4 F
(. A ) 94.95 96.11 T
3 F
(message send) 112.61 96.11 T
4 F
( is the action of sending a message to a receiver.) 178.22 96.11 T
(\245) 71.42 76.11 T
0.08 (A ) 84.96 76.11 P
3 F
0.08 (primitive send) 96.7 76.11 P
4 F
0.08 ( is a message handled by invoking a ) 165.07 76.11 P
3 F
0.08 (primitive) 341.59 76.11 P
4 F
0.08 (, a predefined function provided) 384.89 76.11 P
(by the S) 84.96 62.11 T
6 F
(ELF) 124.27 62.11 T
4 F
( implementation.) 143.81 62.11 T
FMENDPAGE
%%EndPage: "25" 116
%%Page: "26" 116
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-26) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Glossary) 503.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(\245) 71.42 708.11 T
0.83 (Messages that do not have an explicit receiver are known as ) 84.96 708.11 P
3 F
0.83 (implicit-receiver messages) 384.88 708.11 P
4 F
0.83 (. The) 513.95 708.11 P
(receiver is bound to ) 84.96 694.11 T
7 F
(self) 182.89 694.11 T
4 F
(.) 211.67 694.11 T
(\245) 71.42 674.11 T
-0.15 (A ) 84.96 674.11 P
3 F
-0.15 (unary message) 96.47 674.11 P
4 F
-0.15 ( is a message consisting of a single identifier sent to a receiver. A ) 167.93 674.11 P
3 F
-0.15 (binary mes-) 482.62 674.11 P
-0.23 (sage) 84.96 660.11 P
4 F
-0.23 ( is a message consisting of an operator and a single argument sent to a receiver. A ) 106.94 660.11 P
3 F
-0.23 (keyword) 498.79 660.11 P
0.27 (message) 84.96 646.11 P
4 F
0.27 ( is a message consisting of one or more identifiers with trailing colons, each followed) 125.59 646.11 P
(by an argument, sent to a receiver.) 84.96 632.11 T
(\245) 71.42 612.11 T
3 F
1.05 (Unary) 84.96 612.11 P
4 F
1.05 (, ) 115.6 612.11 P
3 F
1.05 (binary) 122.65 612.11 P
4 F
1.05 (, and ) 153.97 612.11 P
3 F
1.05 (keyword slots) 182.39 612.11 P
4 F
1.05 ( are slots with selectors that match unary, binary, and key-) 249.08 612.11 P
(word messages, respectively.) 84.96 598.11 T
(\245) 71.42 578.11 T
(An ) 84.96 578.11 T
3 F
(argument slot) 102.61 578.11 T
4 F
( is a slot in a method filled in with a value when the method is invoked.) 168.91 578.11 T
(\245) 71.42 558.11 T
3 F
-0.24 (Message lookup) 84.96 558.11 P
4 F
-0.24 ( is the process by which objects determine how to respond to a message \050which) 162.33 558.11 P
(slot to evaluate\051, by searching objects for slots matching the message.) 84.96 544.11 T
(\245) 71.42 524.11 T
3 F
0.4 (Slot privacy) 84.96 524.11 P
4 F
0.4 ( determines if a slot is visible for a particular message lookup. ) 142.99 524.11 P
3 F
0.4 (Public slots) 448.61 524.11 P
4 F
0.4 ( are al-) 505.33 524.11 P
0.87 (ways visible; ) 84.96 510.11 P
3 F
0.87 (private slots) 152.67 510.11 P
4 F
0.87 ( are only visible if both the sending method holder and the private) 212.51 510.11 P
(slot holder are ancestors of the receiver.) 84.96 496.11 T
(\245) 71.42 476.11 T
3 F
0.01 (Inheritance) 84.96 476.11 P
4 F
0.01 ( is the mechanism by which message lookup searches objects for slots when the re-) 140.25 476.11 P
(ceiver\325s slots are exhausted. An object\325s ) 84.96 462.11 T
3 F
(parent slots) 281.14 462.11 T
4 F
( contain objects that it inherits from.) 337.45 462.11 T
(\245) 71.42 442.11 T
0.51 (The ) 84.96 442.11 P
3 F
0.51 (parent priority) 107.12 442.11 P
4 F
0.51 ( of a parent slot indicates the order in which parents are searched during a) 178.59 442.11 P
3.47 (message lookup. ) 84.96 428.11 P
3 F
3.47 (Prioritized inheritance) 174.84 428.11 P
4 F
3.47 ( implements both unordered multiple inheritance) 287.91 428.11 P
(\050equal priority parents\051 and ordered multiple inheritance \050unequal priority parents\051.) 84.96 414.11 T
(\245) 71.42 394.11 T
-0.19 (The ) 84.96 394.11 P
3 F
-0.19 (sender path) 106.42 394.11 P
4 F
-0.19 ( consists of all objects be) 162.52 394.11 P
-0.19 (tween the receiver and the sending method holder and) 281.82 394.11 P
-0.1 (all ancestors of the sending method holder) 84.96 380.11 P
-0.1 (.) 286.92 380.11 P
-0.1 ( The sender path is used as a tiebreaker during look-) 289.91 380.11 P
(up when there are matching slots in equal priority parents.) 84.96 366.11 T
(\245) 71.42 346.11 T
3 F
0.19 (Dynamic inheritance) 84.96 346.11 P
4 F
0.19 ( is the changing of inheritance patterns by assigning to an assignable par-) 186.07 346.11 P
(ent slot.) 84.96 332.11 T
(\245) 71.42 312.11 T
0.22 (A ) 84.96 312.11 P
3 F
0.22 (resend) 96.84 312.11 P
4 F
0.22 ( allows a method to invoke the method that the first method \050the one that invokes the) 128.81 312.11 P
(resend\051 is overriding. A ) 84.96 298.11 T
3 F
(directed resend) 201.87 298.11 T
4 F
( constrains the lookup to search a single parent slot.) 276.15 298.11 T
(\245) 71.42 278.11 T
0.83 (The ) 84.96 278.11 P
3 F
0.83 (activation call stack) 107.44 278.11 P
4 F
0.83 ( is the ordered list of suspended activation objects, with the head of) 206.7 278.11 P
0.24 (the list being the current activation object. The ) 84.96 264.11 P
3 F
0.24 (resend call chain) 313.69 264.11 P
4 F
0.24 ( is the prefix of the activation) 396.77 264.11 P
0.52 (call stack up to and including the first activation object that was not invoked by a resend or a) 84.96 250.11 P
(directed resend; this non-resend activation object is called the ) 84.96 236.11 T
3 F
(base activation object) 383.74 236.11 T
4 F
(.) 489.01 236.11 T
(\245) 71.42 216.11 T
3 F
0.11 (Cloning) 84.96 216.11 P
4 F
0.11 ( is the primitive operation returning an exact shallow copy \050a ) 123.61 216.11 P
3 F
0.11 (clone) 420.3 216.11 P
4 F
0.11 (\051 of an object, i.e. a) 446.28 216.11 P
(new object containing exactly the same slots and code as the original object.) 84.96 202.11 T
(\245) 71.42 182.11 T
(A ) 84.96 182.11 T
3 F
(prototype) 96.62 182.11 T
4 F
( is an object that is used as a template from which new objects are cloned.) 142.59 182.11 T
(\245) 71.42 162.11 T
0.56 (A ) 84.96 162.11 P
3 F
0.56 (traits object) 97.17 162.11 P
4 F
0.56 ( is a parent object containing shared behavior, playing a role somewhat similar) 155.37 162.11 P
-0.1 (to a class in a class-based system \050see [UCC91]\051. Any ) 84.96 148.11 P
-0.1 (S) 346.14 148.11 P
6 F
-0.09 (ELF) 352.81 148.11 P
4 F
-0.1 ( implementation is required to pro-) 372.34 148.11 P
0.15 (vide traits objects for integers, floats, strings, and blocks \050i.e. one object which is the parent of) 84.96 134.11 P
(all integers, another object for floats, etc.\051.) 84.96 120.11 T
(\245) 71.42 100.11 T
-0.24 (The ) 84.96 100.11 P
3 F
-0.24 (root context) 106.36 100.11 P
4 F
-0.24 ( is the context \050i.e., set of bindings\051 in which slot initializers are evaluated. The) 163.75 100.11 P
3 F
0.53 (lobby) 84.96 86.11 P
4 F
0.53 ( is the object to which ) 111.61 86.11 P
7 F
1.28 (self) 223.41 86.11 P
4 F
0.53 ( is bound in the root context. The lobby is also the sending) 252.19 86.11 P
(method holder for any sends in the initializing expression.) 84.96 72.11 T
FMENDPAGE
%%EndPage: "26" 117
%%Page: "27" 117
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-27) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Glossary) 503.89 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
4 F
0 X
(\245) 71.42 708.11 T
3 F
1.16 (Nil) 84.96 708.11 P
4 F
1.16 ( is the object used to initialize slots without explicit initializers. It is intended to indicate) 99.63 708.11 P
(\322not a useful object.\323 This object is provided by the ) 84.96 694.11 T
(S) 335.79 694.11 T
6 F
(ELF) 342.46 694.11 T
4 F
( implementation.) 361.99 694.11 T
FMENDPAGE
%%EndPage: "27" 118
%%Page: "28" 118
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-28) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Lexical overview) 469.76 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix B) 71.42 705.45 T
(Lexical overview) 168.73 705.45 T
3 F
(small-letter) 71.42 682.11 T
8 F
(\256) 161.42 682.11 T
4 F
(\324) 188.42 682.11 T
7 F
(a) 192.42 682.11 T
4 F
(\325 | \324) 199.61 682.11 T
7 F
(b) 216 682.11 T
4 F
(\325 | ... | \324) 223.19 682.11 T
7 F
(z) 256.97 682.11 T
4 F
(\325) 264.16 682.11 T
3 F
(cap-letter) 71.42 658.11 T
8 F
(\256) 161.42 658.11 T
4 F
(\324) 188.42 658.11 T
7 F
(A) 192.42 658.11 T
4 F
(\325 | \324) 199.61 658.11 T
7 F
(B) 216 658.11 T
4 F
(\325 | ... | \324) 223.19 658.11 T
7 F
(Z) 256.97 658.11 T
4 F
(\325) 264.16 658.11 T
3 F
(letter) 71.42 634.11 T
8 F
(\256) 161.42 634.11 T
3 F
(small-letter) 188.42 634.11 T
4 F
( | ) 243.73 634.11 T
3 F
(cap-letter) 252.12 634.11 T
(identifier) 71.42 610.11 T
8 F
(\256) 161.42 610.11 T
4 F
(\050) 188.42 610.11 T
3 F
(small-letter) 192.42 610.11 T
4 F
( | \324) 247.72 610.11 T
7 F
(_) 260.11 610.11 T
4 F
(\325\051 {) 267.3 610.11 T
3 F
(letter) 284.05 610.11 T
4 F
( | ) 309.37 610.11 T
3 F
(digit) 317.76 610.11 T
4 F
( | \324) 339.76 610.11 T
7 F
(_) 352.15 610.11 T
4 F
(\325}) 359.34 610.11 T
3 F
(small-keyword) 71.42 586.11 T
8 F
(\256) 161.42 586.11 T
3 F
(identifier) 188.42 586.11 T
4 F
( \324) 232.4 586.11 T
7 F
(:) 239.4 586.11 T
4 F
(\325) 246.59 586.11 T
3 F
(cap-keyword) 71.42 562.11 T
8 F
(\256) 161.42 562.11 T
3 F
(cap-letter) 188.42 562.11 T
4 F
( {) 235.05 562.11 T
3 F
(letter) 243.81 562.11 T
4 F
( | ) 269.13 562.11 T
3 F
(digit) 277.52 562.11 T
4 F
( | \324) 299.52 562.11 T
7 F
(_) 311.91 562.11 T
4 F
(\325} \324) 319.1 562.11 T
7 F
(:) 335.85 562.11 T
4 F
(\325) 343.04 562.11 T
3 F
(argument-name) 71.42 538.11 T
8 F
(\256) 161.42 538.11 T
4 F
(\324) 188.42 538.11 T
7 F
(:) 192.42 538.11 T
4 F
(\325 ) 199.61 538.11 T
3 F
(identifier) 206.61 538.11 T
(op-char) 71.42 514.11 T
8 F
(\256) 161.42 514.11 T
4 F
(\324) 188.42 514.11 T
7 F
(!) 192.42 514.11 T
4 F
(\325 | \324) 199.61 514.11 T
7 F
(@) 216 514.11 T
4 F
(\325 | \324) 223.19 514.11 T
7 F
(#) 239.58 514.11 T
4 F
(\325 | \324) 246.77 514.11 T
7 F
($) 263.15 514.11 T
4 F
(\325 | \324) 270.35 514.11 T
7 F
(%) 286.73 514.11 T
4 F
(\325 | \324) 293.93 514.11 T
7 F
(^) 310.31 514.11 T
4 F
(\325 | \324) 317.51 514.11 T
7 F
(&) 333.89 514.11 T
4 F
(\325 | \324) 341.09 514.11 T
7 F
(*) 357.47 514.11 T
4 F
(\325 | \324) 364.67 514.11 T
7 F
(-) 381.05 514.11 T
4 F
(\325 | \324) 388.25 514.11 T
7 F
(+) 404.63 514.11 T
4 F
(\325 | \324) 411.83 514.11 T
7 F
(=) 428.21 514.11 T
4 F
(\325 | \324) 435.4 514.11 T
7 F
(~) 451.79 514.11 T
4 F
(\325 | \324) 458.98 514.11 T
7 F
(/) 475.37 514.11 T
4 F
(\325 | \324) 482.56 514.11 T
7 F
(?) 498.95 514.11 T
4 F
(\325 |) 506.14 514.11 T
(\324) 188.42 496.11 T
7 F
(<) 192.42 496.11 T
4 F
(\325 | \324) 199.61 496.11 T
7 F
(>) 216 496.11 T
4 F
(\325 | \324) 223.19 496.11 T
7 F
(,) 239.58 496.11 T
4 F
(\325 | \324) 246.77 496.11 T
7 F
(;) 263.15 496.11 T
4 F
(\325 | \324) 270.35 496.11 T
7 F
(|) 286.73 496.11 T
4 F
(\325 | \324) 293.93 496.11 T
7 F
(\324) 310.31 496.11 T
4 F
(\325 | \324) 317.51 496.11 T
7 F
(\134) 333.89 496.11 T
4 F
(\325) 341.09 496.11 T
3 F
(operator) 71.42 472.11 T
8 F
(\256) 161.42 472.11 T
3 F
(op-char) 188.42 472.11 T
4 F
( {) 226.4 472.11 T
3 F
(op-char) 235.15 472.11 T
4 F
(}) 273.12 472.11 T
3 F
(number) 71.42 448.11 T
8 F
(\256) 161.42 448.11 T
4 F
([ \324) 188.42 448.11 T
7 F
(-) 199.41 448.11 T
4 F
(\325 ] \050) 206.61 448.11 T
3 F
(integer) 224.58 448.11 T
4 F
( | ) 258.56 448.11 T
3 F
(real) 266.96 448.11 T
4 F
(\051) 286.28 448.11 T
3 F
(integer) 71.42 424.11 T
8 F
(\256) 161.42 424.11 T
4 F
([) 188.42 424.11 T
3 F
(base) 192.42 424.11 T
4 F
(] ) 214.4 424.11 T
3 F
(general-digit) 221.39 424.11 T
4 F
( {) 284.02 424.11 T
3 F
(general-digit) 292.78 424.11 T
4 F
(}) 355.41 424.11 T
3 F
(real) 71.42 400.11 T
8 F
(\256) 161.42 400.11 T
3 F
(fixed-point) 188.42 400.11 T
4 F
( | ) 240.39 400.11 T
3 F
(float) 248.79 400.11 T
(fixed-point) 71.42 376.11 T
8 F
(\256) 161.42 376.11 T
3 F
(decimal) 188.42 376.11 T
4 F
( \324) 226.4 376.11 T
7 F
(.) 233.39 376.11 T
4 F
(\325 ) 240.58 376.11 T
3 F
(decimal) 247.58 376.11 T
(float) 71.42 352.11 T
8 F
(\256) 161.42 352.11 T
3 F
(decimal) 188.42 352.11 T
4 F
( [ \324) 226.4 352.11 T
7 F
(.) 240.38 352.11 T
4 F
(\325 ) 247.58 352.11 T
3 F
(decimal ) 254.57 352.11 T
4 F
(] \050\324) 295.54 352.11 T
7 F
(e) 310.52 352.11 T
4 F
(\325 | \324) 317.71 352.11 T
7 F
(E) 334.1 352.11 T
4 F
(\325\051 [ \324) 341.29 352.11 T
7 F
(+) 363.26 352.11 T
4 F
(\325 | \324) 370.46 352.11 T
7 F
(-) 386.84 352.11 T
4 F
(\325 ] ) 394.04 352.11 T
3 F
(decimal) 408.02 352.11 T
(general-digit) 71.42 328.11 T
8 F
(\256) 161.42 328.11 T
3 F
(digit) 188.42 328.11 T
4 F
( | ) 210.42 328.11 T
3 F
(letter) 218.82 328.11 T
(decimal) 71.42 304.11 T
8 F
(\256) 161.42 304.11 T
3 F
(digit) 188.42 304.11 T
4 F
( {) 210.42 304.11 T
3 F
(digit) 219.18 304.11 T
4 F
(}) 241.17 304.11 T
3 F
(base) 71.42 280.11 T
8 F
(\256) 161.42 280.11 T
3 F
(decimal) 188.42 280.11 T
4 F
( \050\324) 226.4 280.11 T
7 F
(r) 237.38 280.11 T
4 F
(\325 | \324) 244.58 280.11 T
7 F
(R) 260.96 280.11 T
4 F
(\325\051) 268.16 280.11 T
3 F
(string) 71.42 256.11 T
8 F
(\256) 161.42 256.11 T
4 F
(\324) 188.42 256.11 T
7 F
(\325) 192.42 256.11 T
4 F
(\325 { ) 199.61 256.11 T
3 F
(normal-char) 215.36 256.11 T
4 F
( | ) 275.99 256.11 T
3 F
(escape-char) 284.38 256.11 T
4 F
( } \324) 342.99 256.11 T
7 F
(\325) 358.74 256.11 T
4 F
(\325) 365.94 256.11 T
3 F
(normal-char) 71.42 232.11 T
8 F
(\256) 161.42 232.11 T
4 F
(any character except \324) 188.42 232.11 T
7 F
(\134) 293.98 232.11 T
4 F
(\325 and \324) 301.17 232.11 T
7 F
(\325) 332.48 232.11 T
4 F
(\325) 339.67 232.11 T
3 F
(escape-char) 71.42 208.11 T
8 F
(\256) 161.42 208.11 T
4 F
(\324) 188.42 208.11 T
7 F
(\134t) 192.42 208.11 T
4 F
(\325 | \324) 206.81 208.11 T
7 F
(\134b) 223.19 208.11 T
4 F
(\325 | \324) 237.59 208.11 T
7 F
(\134n) 253.97 208.11 T
4 F
(\325 | \324) 268.36 208.11 T
7 F
(\134f) 284.74 208.11 T
4 F
(\325 | \324) 299.14 208.11 T
7 F
(\134r) 315.52 208.11 T
4 F
(\325 | \324) 329.91 208.11 T
7 F
(\134v) 346.29 208.11 T
4 F
(\325 | \324) 360.68 208.11 T
7 F
(\134a) 377.07 208.11 T
4 F
(\325 | \324) 391.46 208.11 T
7 F
(\1340) 407.84 208.11 T
4 F
(\325 | \324) 422.24 208.11 T
7 F
(\134\134) 438.62 208.11 T
4 F
(\325 | \324) 453.01 208.11 T
7 F
(\134\325) 469.39 208.11 T
4 F
(\325 | \324) 483.79 208.11 T
7 F
(\134) 500.17 208.11 T
4 F
("\325 |) 507.36 208.11 T
(\324) 188.42 190.11 T
7 F
(\134?) 192.42 190.11 T
4 F
(\325 |) 206.81 190.11 T
3 F
( numeric-escape) 216.2 190.11 T
(numeric-escape) 71.42 166.11 T
8 F
(\256) 161.42 166.11 T
4 F
(\324) 188.42 166.11 T
7 F
(\134x) 192.42 166.11 T
4 F
(\325 ) 206.81 166.11 T
3 F
(general-digit general-digit) 213.8 166.11 T
4 F
( | \050 \324) 342.06 166.11 T
7 F
(\134d) 361.44 166.11 T
4 F
(\325 | \324) 375.83 166.11 T
7 F
(\134o) 392.22 166.11 T
4 F
(\325 \051 ) 406.61 166.11 T
3 F
(digit digit digit) 420.59 166.11 T
(comment) 71.42 142.11 T
8 F
(\256) 161.42 142.11 T
4 F
(\324"\325 { ) 188.42 142.11 T
3 F
(comment-char) 213.06 142.11 T
4 F
( } \324"\325) 282.33 142.11 T
3 F
(comment-char) 71.42 118.11 T
8 F
(\256) 161.42 118.11 T
4 F
(any character but \324"\325) 188.42 118.11 T
FMENDPAGE
%%EndPage: "28" 119
%%Page: "29" 119
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-29) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Syntax overview) 471.97 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix C) 71.42 705.45 T
(Syntax overview) 169.61 705.45 T
19 F
(\240) 281.98 711.84 T
3 F
(expression) 71.42 682.11 T
8 F
(\256) 161.42 682.11 T
3 F
(constant) 188.42 682.11 T
4 F
( | ) 229.07 682.11 T
3 F
(unary-message) 237.46 682.11 T
4 F
( | ) 310.07 682.11 T
3 F
(binary-message) 318.47 682.11 T
4 F
( | ) 394.41 682.11 T
3 F
(keyword-message) 402.81 682.11 T
(constant) 71.42 658.11 T
8 F
(\256) 161.42 658.11 T
7 F
(self) 188.42 658.11 T
4 F
( | ) 217.21 658.11 T
3 F
(number) 225.6 658.11 T
4 F
( | ) 262.24 658.11 T
3 F
(string) 270.64 658.11 T
4 F
( | ) 298.63 658.11 T
3 F
(object) 307.03 658.11 T
(unary-message) 71.42 634.11 T
8 F
(\256) 161.42 634.11 T
3 F
(receiver unary-send) 188.42 634.11 T
4 F
( | ) 284.67 634.11 T
3 F
(resend) 293.07 634.11 T
4 F
( \324) 325.04 634.11 T
7 F
(.) 332.03 634.11 T
4 F
(\325) 339.23 634.11 T
3 F
( unary-send) 343.22 634.11 T
(unary-send) 71.42 610.11 T
8 F
(\256) 161.42 610.11 T
3 F
(identifier) 188.42 610.11 T
(binary-message) 71.42 586.11 T
8 F
(\256) 161.42 586.11 T
3 F
(receiver binary-send ) 188.42 586.11 T
4 F
(| ) 291 586.11 T
3 F
(resend ) 296.4 586.11 T
4 F
(\324) 331.37 586.11 T
7 F
(.) 335.37 586.11 T
4 F
(\325) 342.56 586.11 T
3 F
( binary-send) 346.56 586.11 T
(binary-send) 71.42 562.11 T
8 F
(\256) 161.42 562.11 T
3 F
(operator expression) 188.42 562.11 T
(keyword-message) 71.42 538.11 T
8 F
(\256) 161.42 538.11 T
3 F
(receiver keyword-send ) 188.42 538.11 T
4 F
(| ) 300.32 538.11 T
3 F
(resend) 305.72 538.11 T
4 F
( \324) 337.69 538.11 T
7 F
(.) 344.69 538.11 T
4 F
(\325) 351.88 538.11 T
3 F
( keyword-send) 355.88 538.11 T
(keyword-send) 71.42 514.11 T
8 F
(\256) 161.42 514.11 T
3 F
(small-keyword expression) 188.42 514.11 T
4 F
( { ) 313.33 514.11 T
3 F
(cap-keyword expression) 325.09 514.11 T
4 F
( }) 441.33 514.11 T
3 F
(receiver) 71.42 490.11 T
8 F
(\256) 161.42 490.11 T
4 F
([ ) 188.42 490.11 T
3 F
(expression) 195.42 490.11 T
4 F
( ]) 246.71 490.11 T
3 F
(resend) 71.42 466.11 T
8 F
(\256) 161.42 466.11 T
7 F
(resend) 188.42 466.11 T
4 F
( | ) 231.6 466.11 T
3 F
(identifier) 240 466.11 T
(object) 71.42 442.11 T
8 F
(\256) 161.42 442.11 T
3 F
(method) 188.42 442.11 T
4 F
( | ) 223.73 442.11 T
3 F
(block) 232.13 442.11 T
(regular-object) 71.42 418.11 T
8 F
(\256) 161.42 418.11 T
4 F
(\324) 188.42 418.11 T
7 F
(\050) 192.42 418.11 T
4 F
(\324 ) 199.61 418.11 T
3 F
(body) 206.61 418.11 T
4 F
( \324) 229.92 418.11 T
7 F
(\051) 236.91 418.11 T
4 F
(\325) 244.11 418.11 T
3 F
( ) 248.1 418.11 T
(block) 71.42 394.11 T
8 F
(\256) 161.42 394.11 T
4 F
(\324) 188.42 394.11 T
7 F
([) 192.42 394.11 T
4 F
(\325 ) 199.61 394.11 T
3 F
(body ) 206.61 394.11 T
4 F
(\324) 232.92 394.11 T
7 F
(]) 236.91 394.11 T
4 F
(\325) 244.11 394.11 T
3 F
( ) 248.1 394.11 T
(body) 71.42 370.11 T
8 F
(\256) 161.42 370.11 T
4 F
([ ) 188.42 370.11 T
3 F
(slot-list) 195.42 370.11 T
4 F
( ]) 231.41 370.11 T
3 F
( ) 238.4 370.11 T
4 F
([ ) 241.4 370.11 T
3 F
(code) 248.39 370.11 T
4 F
( ]) 271.04 370.11 T
3 F
(slot-list) 71.42 346.11 T
8 F
(\256) 161.42 346.11 T
4 F
(\324) 188.42 346.11 T
7 F
(|) 192.42 346.11 T
4 F
(\325) 199.61 346.11 T
3 F
( ) 203.61 346.11 T
4 F
([ ) 206.61 346.11 T
3 F
(slot) 213.6 346.11 T
4 F
( { \324) 230.93 346.11 T
7 F
(.) 246.68 346.11 T
4 F
(\325) 253.87 346.11 T
3 F
( slot) 257.87 346.11 T
4 F
( } [ \324) 278.2 346.11 T
7 F
(.) 300.93 346.11 T
4 F
(\325 ] ]) 308.13 346.11 T
3 F
( ) 326.11 346.11 T
4 F
(\324) 329.11 346.11 T
7 F
(|) 333.1 346.11 T
4 F
(\325) 340.3 346.11 T
3 F
(code) 71.42 322.11 T
8 F
(\256) 161.42 322.11 T
4 F
({) 188.42 322.11 T
3 F
( expression) 194.18 322.11 T
4 F
( \324) 248.48 322.11 T
7 F
(.) 255.47 322.11 T
4 F
(\325 }) 262.66 322.11 T
7 F
( ) 275.41 322.11 T
4 F
([ \324) 282.61 322.11 T
7 F
(^) 293.59 322.11 T
4 F
(\325 ] ) 300.79 322.11 T
3 F
(expression) 314.77 322.11 T
4 F
( [ \324) 366.07 322.11 T
7 F
(.) 380.05 322.11 T
4 F
(\325 ]) 387.25 322.11 T
3 F
(slot) 71.42 298.11 T
8 F
(\256) 161.42 298.11 T
4 F
([ ) 188.42 298.11 T
3 F
(privacy) 195.42 298.11 T
4 F
( ]) 231.38 298.11 T
3 F
( slot-type) 238.38 298.11 T
(slottype) 71.42 274.11 T
8 F
(\256) 161.42 274.11 T
3 F
(arg-slot) 188.42 274.11 T
4 F
( | ) 226.41 274.11 T
3 F
(data-slot) 234.8 274.11 T
4 F
( | ) 277.45 274.11 T
3 F
(binary-slot) 285.85 274.11 T
4 F
( | ) 338.49 274.11 T
3 F
(keyword-slot) 346.88 274.11 T
(privacy) 71.42 250.11 T
8 F
(\256) 161.42 250.11 T
3 F
(public) 188.42 250.11 T
4 F
( | ) 218.41 250.11 T
3 F
(private) 226.8 250.11 T
4 F
( | ) 260.78 250.11 T
3 F
(public-read-only) 269.18 250.11 T
4 F
( | ) 349.78 250.11 T
3 F
(public-write-only) 358.18 250.11 T
(public) 71.42 226.11 T
8 F
(\256) 161.42 226.11 T
4 F
(\324) 188.42 226.11 T
7 F
(^) 192.42 226.11 T
4 F
(\325 ) 199.61 226.11 T
3 F
(private) 71.42 202.11 T
8 F
(\256) 161.42 202.11 T
4 F
(\324) 188.42 202.11 T
7 F
(_) 192.42 202.11 T
4 F
(\325 ) 199.61 202.11 T
3 F
(public-read-only) 71.42 178.11 T
8 F
(\256) 161.42 178.11 T
4 F
(\324) 188.42 178.11 T
7 F
(^_) 192.42 178.11 T
4 F
(\325) 206.81 178.11 T
3 F
(public-write-only) 71.42 154.11 T
8 F
(\256) 161.42 154.11 T
4 F
(\324) 188.42 154.11 T
7 F
(_^) 192.42 154.11 T
4 F
(\325) 206.81 154.11 T
3 F
(arg-slot) 71.42 130.11 T
8 F
(\256) 161.42 130.11 T
3 F
(argument-name) 188.42 130.11 T
71.42 80.44 539.42 100.53 C
71.42 88.43 203.4 88.43 2 L
0.1 H
2 Z
0 X
0 K
N
0 0 612 792 C
11 F
0 X
0 K
0.06 (\240 ) 71.42 77.77 P
0 F
0.08 (In order to simplify the presentation, this grammar is ambiguous; precedence and associativity rules are used to re-) 79.54 73.77 P
(solve the ambiguities.) 71.42 62.77 T
FMENDPAGE
%%EndPage: "29" 120
%%Page: "30" 120
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-30) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Syntax overview) 471.97 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
3 F
0 X
(data-slot) 71.42 708.11 T
8 F
(\256) 161.42 708.11 T
3 F
(slot-name) 188.42 708.11 T
( ) 251.42 708.11 T
4 F
(|) 178.42 690.11 T
3 F
(slot-name ) 188.42 690.11 T
4 F
(\324) 238.72 690.11 T
7 F
(<-) 242.72 690.11 T
4 F
(\325) 257.11 690.11 T
3 F
( expression) 261.1 690.11 T
4 F
(|) 178.42 672.11 T
3 F
(slot-name \324=\325 expression) 188.42 672.11 T
(unary-slot) 71.42 648.11 T
8 F
(\256) 161.42 648.11 T
3 F
(slot-name \324) 188.42 648.11 T
7 F
(=) 242.72 648.11 T
3 F
(\325 regular-object) 249.91 648.11 T
(binary-slot) 71.42 624.11 T
8 F
(\256) 161.42 624.11 T
3 F
(operator \324) 188.42 624.11 T
7 F
(=) 237.39 624.11 T
3 F
(\325 regular-object) 244.59 624.11 T
4 F
(|) 178.42 606.11 T
3 F
(operator identifier \324=\325 regular-object ) 188.42 606.11 T
(keyword-slot) 71.42 582.11 T
8 F
(\256) 161.42 582.11 T
3 F
(small-keyword) 188.42 582.11 T
4 F
( {) 259.04 582.11 T
3 F
(cap-keyword) 267.8 582.11 T
4 F
(} \324) 329.74 582.11 T
7 F
(=) 342.49 582.11 T
4 F
(\325 ) 349.69 582.11 T
3 F
(regular-object ) 356.68 582.11 T
4 F
(|) 178.42 564.11 T
3 F
(small-keyword identifier) 188.42 564.11 T
4 F
( {) 306.02 564.11 T
3 F
(cap-keyword identifier) 314.77 564.11 T
4 F
(} \324=\325) 423.7 564.11 T
3 F
( regular-object ) 447.21 564.11 T
(slot-name) 71.42 540.11 T
8 F
(\256) 161.42 540.11 T
3 F
(identifier) 188.42 540.11 T
4 F
( | ) 232.4 540.11 T
3 F
(parent-name) 240.8 540.11 T
(parent-name) 71.42 516.11 T
8 F
(\256) 161.42 516.11 T
3 F
(identifier) 188.42 516.11 T
4 F
( \324) 232.4 516.11 T
7 F
(*) 239.4 516.11 T
4 F
(\325 {\324) 246.59 516.11 T
7 F
(*) 263.33 516.11 T
4 F
(\325}) 270.53 516.11 T
FMENDPAGE
%%EndPage: "30" 121
%%Page: "31" 121
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-31) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(Built-in types) 484.73 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Appendix D) 71.42 705.45 T
(Built-in types) 169.61 705.45 T
4 F
(There are a small number of built-in types that are directly supported through primitives. ) 71.42 682.11 T
3 F
-0.46 (Integers) 71.42 662.11 P
4 F
-0.46 ( and ) 110.73 662.11 P
3 F
-0.46 (\337oats) 133.13 662.11 P
4 F
-0.46 ( are provided with primitives for performing arithmetic operations, comparisons) 159.12 662.11 P
(etc. \050see T) 71.42 648.11 T
(able 1) 120.2 648.11 T
(1 in Appendix F of the S) 148.73 648.11 T
6 F
(ELF) 267.34 648.11 T
4 F
( System Manual\051.) 286.87 648.11 T
3 F
-0.16 (V) 71.42 628.11 P
-0.16 (ectors) 77.42 628.11 P
4 F
-0.16 ( and ) 106.73 628.11 P
3 F
-0.16 (byte vectors) 129.73 628.11 P
4 F
-0.16 ( are objects with indexable slots. A vector can store any object in its slots,) 187.19 628.11 P
0.01 (whereas the slots in a byte vector are restricted to hold integers in the range 0-255 only) 71.42 614.11 P
0.01 (. There are) 487.8 614.11 P
-0.02 (primitives to access the slots of vectors and byte vectors \050see T) 71.42 600.11 P
-0.02 (able 10 in Appendix F of the S) 372.46 600.11 P
6 F
-0.02 (ELF) 519.89 600.11 P
4 F
(System Manual\051.) 71.42 586.11 T
3 F
0.9 (Strings) 71.42 566.11 P
4 F
0.9 ( have a byte vector part for storing the characters. Special string primitives are provided) 105.41 566.11 P
(\050see T) 71.42 552.11 T
(able 13 in Appendix F of the S) 100.22 552.11 T
6 F
(ELF) 247.8 552.11 T
4 F
( System Manual\051.) 267.33 552.11 T
3 F
0.35 (Mirr) 71.42 532.11 P
0.35 (ors) 93.64 532.11 P
4 F
0.35 ( are objects which present a view on other objects, providing re\337ection facilities in S) 108.96 532.11 P
6 F
0.32 (ELF) 519.89 532.11 P
4 F
(\050see T) 71.42 518.11 T
(able 14 in Appendix F of the S) 100.22 518.11 T
6 F
(ELF) 247.8 518.11 T
4 F
( System Manual\051.) 267.33 518.11 T
3 F
1.75 (Pr) 71.42 498.11 P
1.75 (ocesses) 82.97 498.11 P
4 F
1.75 ( are objects which contain methods for controlling S) 118.94 498.11 P
6 F
1.6 (ELF) 384.08 498.11 P
4 F
1.75 ( processes, e.g. terminating) 403.61 498.11 P
(them or printing their stack) 71.42 484.11 T
( \050see T) 202.01 484.11 T
(able 16 in Appendix F of the S) 233.8 484.11 T
6 F
(ELF) 381.38 484.11 T
4 F
( System Manual\051.) 400.92 484.11 T
FMENDPAGE
%%EndPage: "31" 122
%%Page: "32" 122
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(III-32) 294.35 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Language Reference Manual) 92.96 749.62 T
(References) 495.03 749.62 T
71.42 55.44 539.42 716.11 R
7 X
V
9 F
0 X
(Refer) 71.42 705.45 T
(ences) 109.31 705.45 T
4 F
([CUC91]) 71.42 678.11 T
2.83 (Craig Chambers, David Ungar, Bay-Wei Chang, and Urs H\232lzle. Parents are) 143.42 678.11 P
0.61 (Shared Parts of Objects: Inheritance and Encapsulation in S) 143.42 664.11 P
6 F
0.56 (ELF) 434.77 664.11 P
4 F
0.61 (. To be published) 454.31 664.11 P
(in ) 143.42 650.11 T
3 F
(Lisp and Symbolic Computation 4\0503\051) 155.75 650.11 T
4 F
(, June, 1991.) 332.99 650.11 T
([UCC91]) 71.42 624.11 T
0.36 (David Ungar, Craig Chambers, Bay-Wei Chang, and Urs H\232lzle. Organizing Pro-) 143.42 624.11 P
0.84 (grams without Classes. To be published in ) 143.42 610.11 P
3 F
0.84 (Lisp and Symbolic Computation 4\0503\051) 355.84 610.11 P
4 F
0.84 (,) 536.42 610.11 P
(June, 1991.) 143.42 596.11 T
([US87]) 71.42 570.11 T
1.42 (David Ungar and Randall B. Smith. S) 143.42 570.11 P
6 F
1.3 (ELF) 333.16 570.11 P
4 F
1.42 (: The Power of Simplicity. In ) 352.7 570.11 P
3 F
1.42 (OOPS-) 504.79 570.11 P
-0.08 (LA\32587 Conference Proceedings) 143.42 556.11 P
4 F
-0.08 (, Orlando, FL, 1987. Published as ) 294.48 556.11 P
3 F
-0.08 (SIGPLAN Notic-) 458.55 556.11 P
5.17 (es 22\05012\051) 143.42 542.11 P
4 F
5.17 (, December, 1987. Also to be published in ) 193.56 542.11 P
3 F
5.17 (Lisp and Symbolic) 440.46 542.11 P
(Computation 4\0503\051) 143.42 528.11 T
4 F
(, June, 1991.) 229.04 528.11 T
FMENDPAGE
%%EndPage: "32" 123
%%Page: "1" 123
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(Index-1) 290.46 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Manual) 92.96 749.62 T
(Index) 516.67 749.62 T
72 72 297 720 R
7 X
V
2 F
0 X
(A) 72 712 T
1 F
(activation object) 72 699.88 T
4 F
( ) 131.66 699.88 T
1 F
(III-25) 134.66 699.88 T
(ambiguousSelector:Type:Delegatee:) 72 689.76 T
(MethodHolder:Arguments:) 108 679.76 T
4 F
( ) 205.85 679.76 T
1 F
(I-28) 208.85 679.76 T
(ancestor) 72 669.64 T
4 F
( ) 101.95 669.64 T
1 F
(III-15) 104.94 669.64 T
(anonymous parent slot) 72 659.53 T
4 F
( ) 153.38 659.53 T
1 F
(III-4) 156.38 659.53 T
(assignment primitive) 72 649.41 T
4 F
( ) 147.65 649.41 T
1 F
(III-2) 150.65 649.41 T
(assignmentMirror) 72 639.29 T
4 F
( ) 136.4 639.29 T
1 F
(I-31) 139.4 639.29 T
(associativity) 72 629.17 T
(of binary messages) 81 619.05 T
4 F
( ) 149.89 619.05 T
1 F
(III-12) 152.89 619.05 T
(of keyword messages) 81 608.93 T
4 F
( ) 158.37 608.93 T
1 F
(III-13) 161.37 608.93 T
(of unary messages) 81 598.81 T
4 F
( ) 147.39 598.81 T
1 F
(III-12) 150.39 598.81 T
2 F
(B) 72 576.7 T
1 F
(badIndexError) 72 564.58 T
4 F
( ) 124.41 564.58 T
1 F
(I-37) 127.4 564.58 T
(badSizeError) 72 554.46 T
4 F
( ) 119.42 554.46 T
1 F
(I-38) 122.42 554.46 T
(badTypeError) 72 544.34 T
4 F
( ) 122.41 544.34 T
1 F
(I-37) 125.41 544.34 T
(binaries mixin) 72 534.22 T
4 F
( ) 123.68 534.22 T
1 F
(II-9) 126.68 534.22 T
(binary message ) 72 524.1 T
13 F
(see message) 129.91 524.1 T
1 F
(block) 72 513.98 T
4 F
( ) 91.97 513.98 T
1 F
(I-31) 94.97 513.98 T
4 F
(, ) 109.94 513.98 T
1 F
(II-9) 115.94 513.98 T
4 F
(, ) 129.41 513.98 T
1 F
(III-2) 135.41 513.98 T
4 F
(, ) 151.87 513.98 T
1 F
(III-5) 157.87 513.98 T
4 F
(, ) 174.33 513.98 T
1 F
(III-25) 180.33 513.98 T
(block data object) 81 503.86 T
4 F
( ) 142.4 503.86 T
1 F
(III-4) 145.4 503.86 T
(block method) 81 493.75 T
4 F
( ) 130.18 493.75 T
1 F
(III-25) 133.18 493.75 T
(non-lifo block) 81 483.63 T
4 F
( ) 132.17 483.63 T
1 F
(III-25) 135.17 483.63 T
(non-local return) 81 473.51 T
4 F
( ) 138.65 473.51 T
1 F
(III-25) 141.65 473.51 T
(blockMirror) 72 463.39 T
4 F
( ) 115.93 463.39 T
1 F
(I-31) 118.93 463.39 T
(booleans) 72 453.27 T
4 F
( ) 103.95 453.27 T
1 F
(II-8) 106.95 453.27 T
(byteCodeMirror) 72 443.15 T
4 F
( ) 130.41 443.15 T
1 F
(I-31) 133.41 443.15 T
(bytecodes) 72 433.03 T
4 F
( ) 107.94 433.03 T
1 F
(I-4) 110.94 433.03 T
(byteVector) 72 422.92 T
4 F
( ) 111.93 422.92 T
1 F
(I-30) 114.93 422.92 T
4 F
(, ) 129.9 422.92 T
1 F
(II-13) 135.9 422.92 T
(byteVectorMirror) 72 412.8 T
4 F
( ) 135.89 412.8 T
1 F
(I-31) 138.89 412.8 T
2 F
(C) 72 390.68 T
1 F
(categories) 72 378.56 T
4 F
( ) 108.43 378.56 T
1 F
(II-2) 111.43 378.56 T
(character escapes) 72 368.44 T
4 F
( ) 134.62 368.44 T
1 F
(III-23) 137.62 368.44 T
(character literals) 72 358.32 T
4 F
( ) 131.64 358.32 T
1 F
(I-3) 134.64 358.32 T
(character set) 72 348.2 T
4 F
( ) 117.16 348.2 T
1 F
(III-21) 120.16 348.2 T
(characters) 72 338.08 T
4 F
( ) 108.43 338.08 T
1 F
(II-19) 111.42 338.08 T
(clonable) 72 327.97 T
4 F
( ) 102.45 327.97 T
1 F
(II-8) 105.45 327.97 T
(cloning) 72 317.85 T
4 F
( ) 98.96 317.85 T
1 F
(III-26) 101.96 317.85 T
(closure) 72 307.73 T
4 F
( ) 97.96 307.73 T
1 F
(III-25) 100.95 307.73 T
(code) 72 297.61 T
4 F
( ) 88.97 297.61 T
1 F
(III-2) 91.97 297.61 T
4 F
(, ) 108.43 297.61 T
1 F
(III-3) 114.43 297.61 T
(CODESIZE) 72 287.49 T
4 F
( ) 115.44 287.49 T
1 F
(I-34) 118.43 287.49 T
(codeSlotsMirror) 72 277.37 T
4 F
( ) 130.91 277.37 T
1 F
(I-31) 133.91 277.37 T
(collections) 72 267.26 T
4 F
( ) 110.94 267.26 T
1 F
(II-10) 113.94 267.26 T
(dictionaries) 81 257.14 T
4 F
( ) 122.93 257.14 T
1 F
(II-11) 125.93 257.14 T
(lists) 81 247.02 T
4 F
( ) 95.49 247.02 T
1 F
(II-11) 98.49 247.02 T
(sets) 81 236.9 T
4 F
( ) 94.48 236.9 T
1 F
(II-11) 97.48 236.9 T
(sorted) 81 226.78 T
4 F
( ) 102.96 226.78 T
1 F
(II-12) 105.96 226.78 T
(comments) 72 216.66 T
4 F
( ) 108.95 216.66 T
1 F
(I-3) 111.95 216.66 T
4 F
(, ) 122.43 216.66 T
1 F
(III-24) 128.42 216.66 T
(comparison mixins) 72 206.54 T
4 F
( ) 140.65 206.54 T
1 F
(II-9) 143.65 206.54 T
4 F
(, ) 157.12 206.54 T
1 F
(II-10) 163.12 206.54 T
(compilation) 72 196.42 T
4 F
( ) 114.94 196.42 T
1 F
(I-4) 117.94 196.42 T
(configuration) 72 186.3 T
(CODESIZE) 81 176.19 T
4 F
( ) 124.44 176.19 T
1 F
(I-34) 127.43 176.19 T
(DEBUGSIZE) 81 166.07 T
4 F
( ) 130.93 166.07 T
1 F
(I-34) 133.92 166.07 T
(DEPSIZE) 81 155.95 T
4 F
( ) 116.95 155.95 T
1 F
(I-34) 119.95 155.95 T
(EDENSIZE) 81 145.83 T
4 F
( ) 123.93 145.83 T
1 F
(I-34) 126.93 145.83 T
(host configuration table) 81 135.71 T
4 F
( ) 166.37 135.71 T
1 F
(II-15) 169.37 135.71 T
(OLDSIZE) 81 125.59 T
4 F
( ) 118.44 125.59 T
1 F
(I-34) 121.44 125.59 T
(PICSIZE) 81 115.47 T
4 F
( ) 113.96 115.47 T
1 F
(I-34) 116.96 115.47 T
(SELFDIR) 81 105.36 T
4 F
( ) 117.45 105.36 T
1 F
(I-34) 120.45 105.36 T
(SURVSIZE) 81 95.24 T
4 F
( ) 123.94 95.24 T
1 F
(I-34) 126.94 95.24 T
(consVector) 72 85.12 T
4 F
( ) 112.93 85.12 T
1 F
(II-13) 115.93 85.12 T
(control-C) 72 75 T
4 F
( ) 106.45 75 T
1 F
(I-19) 109.45 75 T
315 72 540 720 R
7 X
V
0 X
(customization) 315 714 T
4 F
( ) 365.43 714 T
1 F
(I-5) 368.43 714 T
2 F
(D) 315 691.39 T
1 F
(data object) 315 678.78 T
4 F
( ) 354.18 678.78 T
1 F
(III-2) 357.18 678.78 T
(DEBUGSIZE) 315 668.18 T
4 F
( ) 364.92 668.18 T
1 F
(I-34) 367.92 668.18 T
(default world) 315 657.57 T
4 F
( ) 363.17 657.57 T
1 F
(I-6) 366.17 657.57 T
(defaults) 315 646.96 T
4 F
( ) 343.45 646.96 T
1 F
(II-5) 346.45 646.96 T
4 F
(, ) 359.92 646.96 T
1 F
(II-6) 365.92 646.96 T
(DEPSIZE) 315 636.35 T
4 F
( ) 350.95 636.35 T
1 F
(I-34) 353.95 636.35 T
(dictionaries) 315 625.74 T
4 F
( ) 356.93 625.74 T
1 F
(II-11) 359.93 625.74 T
(directed resend) 315 615.14 T
4 F
( ) 369.65 615.14 T
1 F
(III-14) 372.65 615.14 T
(divisionByZeroError) 315 604.53 T
4 F
( ) 390.39 604.53 T
1 F
(I-37) 393.39 604.53 T
(doIt) 315 593.92 T
4 F
( ) 329.48 593.92 T
1 F
(I-30) 332.48 593.92 T
4 F
(, ) 347.45 593.92 T
1 F
(II-5) 353.45 593.92 T
(dynamic inheritance) 315 583.31 T
4 F
( ) 388.13 583.31 T
1 F
(I-3) 391.13 583.31 T
4 F
(, ) 401.61 583.31 T
1 F
(III-26) 407.61 583.31 T
2 F
(E) 315 560.71 T
1 F
(EDENSIZE) 315 548.1 T
4 F
( ) 357.93 548.1 T
1 F
(I-34) 360.93 548.1 T
(errors) 315 537.49 T
(lookup errors) 324 526.88 T
4 F
( ) 372.17 526.88 T
1 F
(I-16) 375.17 526.88 T
(runtime errors) 324 516.28 T
4 F
( ) 375.17 516.28 T
1 F
(I-28) 378.16 516.28 T
(evaluation) 315 505.67 T
(of arguments) 324 495.06 T
4 F
( ) 371.17 495.06 T
1 F
(III-3) 374.17 495.06 T
(of blocks) 324 484.45 T
4 F
( ) 357.2 484.45 T
1 F
(III-5) 360.2 484.45 T
(of message sends) 324 473.84 T
4 F
( ) 386.4 473.84 T
1 F
(III-3) 389.4 473.84 T
(of methods) 324 463.24 T
4 F
( ) 364.19 463.24 T
1 F
(III-3) 367.19 463.24 T
(expressions) 315 452.63 T
(multi-line) 324 442.02 T
4 F
( ) 359.45 442.02 T
1 F
(I-12) 362.45 442.02 T
(extensional name) 315 431.41 T
4 F
( ) 377.65 431.41 T
1 F
(II-4) 380.65 431.41 T
2 F
(F) 315 408.8 T
1 F
(false) 315 396.2 T
4 F
( ) 331.97 396.2 T
1 F
(I-30) 334.97 396.2 T
(fatal errors) 315 385.59 T
4 F
( ) 354.18 385.59 T
1 F
(I-17) 357.17 385.59 T
(floating-point numbers, parent of) 315 374.98 T
4 F
( ) 434.32 374.98 T
1 F
(I-31) 437.32 374.98 T
(floating-point numbers, range of) 315 364.37 T
4 F
( ) 431.82 364.37 T
1 F
(I-3) 434.82 364.37 T
4 F
(, ) 445.3 364.37 T
1 F
(I-39) 451.29 364.37 T
(floatMirror) 315 353.77 T
4 F
( ) 355.43 353.77 T
1 F
(I-31) 358.43 353.77 T
2 F
(G) 315 331.16 T
1 F
(globals) 315 318.55 T
4 F
( ) 340.96 318.55 T
1 F
(II-5) 343.96 318.55 T
2 F
(H) 315 295.94 T
1 F
(home) 315 283.33 T
13 F
( see method) 334.97 283.33 T
1 F
(host configuration table) 315 272.73 T
4 F
( ) 400.37 272.73 T
1 F
(II-15) 403.37 272.73 T
2 F
(I) 315 250.12 T
1 F
(identifier) 315 237.51 T
4 F
( ) 347.95 237.51 T
1 F
(III-21) 350.95 237.51 T
(identity mixin) 315 226.9 T
4 F
( ) 365.69 226.9 T
1 F
(II-9) 368.69 226.9 T
(immutableStringMirror) 315 216.29 T
4 F
( ) 399.38 216.29 T
1 F
(I-31) 402.38 216.29 T
(implicit receiver ) 315 205.69 T
13 F
(see message) 376.4 205.69 T
1 F
(indirect message sends) 315 195.08 T
4 F
( ) 397.37 195.08 T
1 F
(II-13) 400.37 195.08 T
(infinity) 315 184.47 T
4 F
( ) 341.47 184.47 T
1 F
(II-8) 344.47 184.47 T
(inheritance) 315 173.86 T
4 F
( ) 354.93 173.86 T
1 F
(III-26) 357.93 173.86 T
(dynamic inheritance) 324 163.26 T
4 F
( ) 397.13 163.26 T
1 F
(III-26) 400.13 163.26 T
(inline cache) 315 152.65 T
4 F
( ) 358.18 152.65 T
1 F
(I-45) 361.17 152.65 T
(inlining) 315 142.04 T
4 F
( ) 342.97 142.04 T
1 F
(I-45) 345.97 142.04 T
(integer) 315 131.43 T
4 F
( ) 339.96 131.43 T
1 F
(I-31) 342.96 131.43 T
4 F
(, ) 357.93 131.43 T
1 F
(II-13) 363.93 131.43 T
(integers, range of) 315 120.82 T
4 F
( ) 377.64 120.82 T
1 F
(I-39) 380.64 120.82 T
(interrupt) 315 110.22 T
4 F
( ) 345.95 110.22 T
1 F
(I-19) 348.95 110.22 T
2 F
(K) 315 87.61 T
1 F
(keyword ) 315 75 T
13 F
(see message) 348.69 75 T
FMENDPAGE
%%EndPage: "1" 124
%%Page: "2" 124
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(Index-2) 290.46 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Manual) 92.96 749.62 T
(Index) 516.67 749.62 T
72 72 297 720 R
7 X
V
2 F
0 X
(L) 72 712 T
1 F
(lists) 72 699.76 T
4 F
( ) 86.49 699.76 T
1 F
(II-11) 89.49 699.76 T
(lobby) 72 689.53 T
4 F
( ) 92.47 689.53 T
1 F
(I-3) 95.47 689.53 T
4 F
(, ) 105.95 689.53 T
1 F
(I-29) 111.95 689.53 T
4 F
(, ) 126.92 689.53 T
1 F
(I-30) 132.92 689.53 T
4 F
(, ) 147.89 689.53 T
1 F
(II-3) 153.89 689.53 T
4 F
(, ) 167.36 689.53 T
1 F
(II-5) 173.36 689.53 T
4 F
(, ) 186.83 689.53 T
1 F
(III-5) 192.82 689.53 T
4 F
(, ) 209.29 689.53 T
1 F
(III-26) 215.29 689.53 T
(lookup) 72 679.29 T
4 F
( ) 96.97 679.29 T
1 F
(III-26) 99.96 679.29 T
(lookup algorithm) 72 669.05 T
4 F
( ) 134.17 669.05 T
1 F
(III-16) 137.16 669.05 T
2 F
(M) 72 646.82 T
1 F
(memory requirements) 72 634.58 T
4 F
( ) 151.12 634.58 T
1 F
(I-34) 154.12 634.58 T
(message) 72 624.35 T
4 F
( ) 102.45 624.35 T
1 F
(III-25) 105.45 624.35 T
(binary message) 81 614.11 T
4 F
( ) 136.66 614.11 T
1 F
(III-12) 139.66 614.11 T
4 F
(, ) 160.62 614.11 T
1 F
(III-26) 166.61 614.11 T
(implicit-receiver message) 81 603.87 T
4 F
( ) 173.6 603.87 T
1 F
(III-13) 176.6 603.87 T
4 F
(, ) 197.55 603.87 T
1 F
(III-26) 203.55 603.87 T
(keyword message) 81 593.64 T
4 F
( ) 145.14 593.64 T
1 F
(III-9) 148.14 593.64 T
4 F
(, ) 164.61 593.64 T
1 F
(III-12) 170.6 593.64 T
4 F
(, ) 191.56 593.64 T
1 F
(III-26) 197.56 593.64 T
(message lookup) 81 583.4 T
4 F
( ) 138.66 583.4 T
1 F
(III-26) 141.66 583.4 T
(semantics) 81 573.16 T
4 F
( ) 116.45 573.16 T
1 F
(III-15) 119.44 573.16 T
(system-triggered message) 81 562.93 T
4 F
( ) 174.1 562.93 T
1 F
(I-27) 177.1 562.93 T
(unary message) 81 552.69 T
4 F
( ) 134.16 552.69 T
1 F
(III-11) 137.16 552.69 T
4 F
(, ) 158.12 552.69 T
1 F
(III-26) 164.11 552.69 T
(method) 72 542.46 T
4 F
( ) 98.96 542.46 T
1 F
(III-3) 101.96 542.46 T
4 F
(, ) 118.43 542.46 T
1 F
(III-9) 124.42 542.46 T
4 F
(, ) 140.89 542.46 T
1 F
(III-25) 146.88 542.46 T
(block method ) 81 532.22 T
13 F
(see block) 132.43 532.22 T
1 F
(enclosing method) 81 521.98 T
4 F
( ) 144.66 521.98 T
1 F
(III-25) 147.66 521.98 T
(home of a) 81 511.75 T
4 F
( ) 116.94 511.75 T
1 F
(III-3) 119.94 511.75 T
4 F
(, ) 136.4 511.75 T
1 F
(III-25) 142.4 511.75 T
(inner method) 81 501.51 T
4 F
( ) 128.68 501.51 T
1 F
(III-4) 131.68 501.51 T
4 F
(, ) 148.14 501.51 T
1 F
(III-25) 154.14 501.51 T
(outer method) 81 491.27 T
4 F
( ) 128.68 491.27 T
1 F
(III-3) 131.68 491.27 T
4 F
(, ) 148.14 491.27 T
1 F
(III-9) 154.14 491.27 T
4 F
(, ) 170.6 491.27 T
1 F
(III-25) 176.6 491.27 T
(method activation object) 72 481.04 T
4 F
( ) 160.87 481.04 T
1 F
(III-3) 163.87 481.04 T
(method holder) 72 470.8 T
4 F
( ) 124.17 470.8 T
1 F
(I-19) 127.17 470.8 T
4 F
(, ) 142.14 470.8 T
1 F
(III-25) 148.14 470.8 T
(sending method holder) 81 460.56 T
4 F
( ) 163.38 460.56 T
1 F
(III-25) 166.38 460.56 T
(mirrorMirror) 72 450.33 T
4 F
( ) 118.92 450.33 T
1 F
(I-31) 121.92 450.33 T
(mirrors) 72 440.09 T
4 F
( ) 98.46 440.09 T
1 F
(I-31) 101.46 440.09 T
4 F
(, ) 116.43 440.09 T
1 F
(I-41) 122.43 440.09 T
4 F
(, ) 137.4 440.09 T
1 F
(II-16) 143.4 440.09 T
(mismatchedArgumentCountSelector:Type:Delegatee:) 72 429.86 T
(MethodHolder:Arguments:) 108 419.86 T
4 F
( ) 205.85 419.86 T
1 F
(I-28) 208.85 419.86 T
(missingDelegateeSelector:Type:Delegatee:) 72 409.62 T
(MethodHolder:Arguments:) 108 399.62 T
4 F
( ) 205.85 399.62 T
1 F
(I-28) 208.85 399.62 T
(mixins) 72 389.38 T
4 F
( ) 96.47 389.38 T
1 F
(II-7) 99.47 389.38 T
2 F
(N) 72 367.15 T
1 F
(name inferencer) 72 354.91 T
4 F
( ) 130.14 354.91 T
1 F
(I-15) 133.14 354.91 T
4 F
(, ) 148.11 354.91 T
1 F
(II-4) 154.11 354.91 T
4 F
(, ) 167.58 354.91 T
1 F
(II-14) 173.58 354.91 T
(name space object) 72 344.67 T
4 F
( ) 137.89 344.67 T
1 F
(II-3) 140.88 344.67 T
(composite name spaces) 81 334.44 T
4 F
( ) 165.37 334.44 T
1 F
(II-3) 168.36 334.44 T
(nil) 72 324.2 T
4 F
( ) 81.49 324.2 T
1 F
(I-30) 84.49 324.2 T
4 F
(, ) 99.46 324.2 T
1 F
(II-8) 105.46 324.2 T
4 F
(, ) 118.93 324.2 T
1 F
(III-27) 124.93 324.2 T
(non-decimal number) 72 313.96 T
4 F
( ) 146.63 313.96 T
1 F
(III-22) 149.63 313.96 T
(non-lifo block) 72 303.73 T
4 F
( ) 123.17 303.73 T
1 F
(I-17) 126.17 303.73 T
4 F
(, ) 141.15 303.73 T
1 F
(III-5) 147.14 303.73 T
(non-local return) 72 293.49 T
4 F
( ) 129.65 293.49 T
1 F
(III-25) 132.65 293.49 T
(non-local return operator) 72 283.26 T
4 F
( ) 161.85 283.26 T
1 F
(III-2) 164.85 283.26 T
4 F
(, ) 181.31 283.26 T
1 F
(III-3) 187.31 283.26 T
(noPublicSelector:Type:Delegatee:) 72 273.02 T
(MethodHolder:Arguments:) 108 263.02 T
4 F
( ) 205.85 263.02 T
1 F
(I-28) 208.85 263.02 T
(numbers) 72 252.78 T
4 F
( ) 102.95 252.78 T
1 F
(II-8) 105.95 252.78 T
2 F
(O) 72 230.55 T
1 F
(object) 72 218.31 T
4 F
( ) 93.96 218.31 T
1 F
(III-2) 96.96 218.31 T
4 F
(, ) 113.43 218.31 T
1 F
(III-25) 119.43 218.31 T
(data object) 81 208.07 T
4 F
( ) 120.18 208.07 T
1 F
(III-2) 123.18 208.07 T
4 F
(, ) 139.65 208.07 T
1 F
(III-25) 145.65 208.07 T
(method object) 81 197.84 T
4 F
( ) 132.17 197.84 T
1 F
(III-3) 135.17 197.84 T
(name of an object) 81 187.6 T
4 F
( ) 145.14 187.6 T
1 F
(II-4) 148.14 187.6 T
4 F
(, ) 161.61 187.6 T
1 F
(II-14) 167.61 187.6 T
(well-known objects) 81 177.36 T
4 F
( ) 151.64 177.36 T
1 F
(II-4) 154.64 177.36 T
4 F
(, ) 168.11 177.36 T
1 F
(II-6) 174.11 177.36 T
(object literals) 72 167.13 T
4 F
( ) 120.68 167.13 T
1 F
(III-2) 123.67 167.13 T
(construction of) 81 156.89 T
4 F
( ) 135.17 156.89 T
1 F
(III-5) 138.17 156.89 T
(objVector) 72 146.66 T
4 F
( ) 107.94 146.66 T
1 F
(I-30) 110.94 146.66 T
(objVectorMirror) 72 136.42 T
4 F
( ) 131.9 136.42 T
1 F
(I-31) 134.9 136.42 T
(oddballs) 72 126.18 T
4 F
( ) 102.46 126.18 T
1 F
(II-5) 105.46 126.18 T
4 F
(, ) 118.93 126.18 T
1 F
(II-7) 124.93 126.18 T
4 F
(, ) 138.4 126.18 T
1 F
(II-8) 144.39 126.18 T
(OLDSIZE) 72 115.95 T
4 F
( ) 109.44 115.95 T
1 F
(I-34) 112.44 115.95 T
(operator) 72 105.71 T
4 F
( ) 101.95 105.71 T
1 F
(III-22) 104.94 105.71 T
(outer method ) 72 95.47 T
13 F
(see method) 121.93 95.47 T
1 F
(outOfMemoryError) 72 85.24 T
4 F
( ) 142.88 85.24 T
1 F
(I-38) 145.88 85.24 T
(overflowError) 72 75 T
4 F
( ) 123.41 75 T
1 F
(I-37) 126.41 75 T
315 72 540 720 R
7 X
V
2 F
0 X
(P) 315 712 T
1 F
(parent slot) 315 699.95 T
4 F
( ) 352.69 699.95 T
1 F
(III-10) 355.69 699.95 T
4 F
(, ) 376.65 699.95 T
1 F
(III-26) 382.65 699.95 T
(path cache) 315 689.9 T
4 F
( ) 353.18 689.9 T
1 F
(I-15) 356.18 689.9 T
4 F
(, ) 371.15 689.9 T
1 F
(II-14) 377.15 689.9 T
(performTypeErrorSelector:Type:Delegatee:) 315 679.84 T
(MethodHolder:Arguments:) 351 669.84 T
4 F
( ) 448.86 669.84 T
1 F
(I-28) 451.85 669.84 T
(PICSIZE) 315 659.79 T
4 F
( ) 347.96 659.79 T
1 F
(I-34) 350.95 659.79 T
(precedence of message sends) 315 649.74 T
4 F
( ) 420.06 649.74 T
1 F
(III-12) 423.06 649.74 T
4 F
(\320) 444.02 649.74 T
1 F
(III-13) 450.02 649.74 T
(primitive) 315 639.69 T
4 F
( ) 347.96 639.69 T
1 F
(III-21) 350.95 639.69 T
(primitive failure codes) 315 629.64 T
4 F
( ) 396.37 629.64 T
1 F
(I-37) 399.37 629.64 T
(primitive failures) 315 619.59 T
4 F
( ) 377.16 619.59 T
1 F
(I-16) 380.15 619.59 T
4 F
(, ) 395.13 619.59 T
1 F
(I-37) 401.12 619.59 T
(primitive send) 315 609.54 T
4 F
( ) 366.68 609.54 T
1 F
(III-15) 369.68 609.54 T
4 F
(, ) 390.64 609.54 T
1 F
(III-25) 396.63 609.54 T
(primitiveFailedError) 315 599.48 T
4 F
( ) 389.39 599.48 T
1 F
(I-37) 392.39 599.48 T
(primitiveNotDefinedError) 315 589.43 T
4 F
( ) 409.35 589.43 T
1 F
(I-37) 412.35 589.43 T
(primitives) 315 579.38 T
4 F
( ) 351.45 579.38 T
1 F
(I-7) 354.45 579.38 T
4 F
(, ) 364.93 579.38 T
1 F
(I-37) 370.93 579.38 T
(arithmetic) 324 569.33 T
4 F
( ) 360.44 569.33 T
1 F
(I-39) 363.44 569.33 T
(cloning) 324 559.28 T
4 F
( ) 350.96 559.28 T
1 F
(I-38) 353.96 559.28 T
(comparison) 324 549.22 T
4 F
( ) 365.93 549.22 T
1 F
(I-40) 368.93 549.22 T
(mirror primitives) 324 539.17 T
4 F
( ) 385.66 539.17 T
1 F
(I-41) 388.66 539.17 T
(miscellaneous) 324 529.12 T
4 F
( ) 374.92 529.12 T
1 F
(I-46) 377.92 529.12 T
(Pixrect primitives) 324 519.07 T
4 F
( ) 388.16 519.07 T
1 F
(I-47) 391.16 519.07 T
(programming primitives) 324 509.02 T
4 F
( ) 411.63 509.02 T
1 F
(I-43) 414.63 509.02 T
(string-related) 324 498.97 T
4 F
( ) 371.92 498.97 T
1 F
(I-40) 374.92 498.97 T
(system primitives) 324 488.91 T
4 F
( ) 387.67 488.91 T
1 F
(I-45) 390.67 488.91 T
(Unix primitives) 324 478.86 T
4 F
( ) 380.67 478.86 T
1 F
(I-46) 383.67 478.86 T
(primitive:FailedWith:) 315 468.81 T
4 F
( ) 393.4 468.81 T
1 F
(I-37) 396.4 468.81 T
(printIt) 315 458.76 T
4 F
( ) 337.47 458.76 T
1 F
(I-30) 340.47 458.76 T
4 F
(, ) 355.44 458.76 T
1 F
(II-5) 361.44 458.76 T
(printString) 315 448.71 T
4 F
( ) 353.95 448.71 T
1 F
(II-14) 356.95 448.71 T
(privacy ) 315 438.65 T
13 F
(see slot privacy) 344.2 438.65 T
1 F
(private slot) 315 428.6 T
4 F
( ) 355.19 428.6 T
1 F
(I-13) 358.19 428.6 T
(processes) 315 418.55 T
4 F
( ) 349.44 418.55 T
1 F
(I-19) 352.44 418.55 T
4 F
(, ) 367.41 418.55 T
1 F
(I-43) 373.41 418.55 T
4 F
(, ) 388.38 418.55 T
1 F
(II-10) 394.38 418.55 T
(processMirror) 315 408.5 T
4 F
( ) 365.91 408.5 T
1 F
(I-31) 368.91 408.5 T
(prompt) 315 398.45 T
4 F
( ) 340.96 398.45 T
1 F
(I-7) 343.96 398.45 T
4 F
(, ) 354.44 398.45 T
1 F
(I-11) 360.44 398.45 T
4 F
(, ) 375.41 398.45 T
1 F
(II-5) 381.41 398.45 T
(prototype) 315 388.4 T
4 F
( ) 349.45 388.4 T
1 F
(III-26) 352.45 388.4 T
(prototypes) 315 378.35 T
4 F
( ) 352.95 378.35 T
1 F
(I-4) 355.94 378.35 T
4 F
(, ) 366.42 378.35 T
1 F
(II-7) 372.42 378.35 T
(public slot) 315 368.29 T
4 F
( ) 352.7 368.29 T
1 F
(I-13) 355.7 368.29 T
2 F
(Q) 315 346.24 T
1 F
(quitting SELF) 315 334.19 T
4 F
( ) 366.19 334.19 T
1 F
(I-11) 369.19 334.19 T
4 F
(, ) 384.16 334.19 T
1 F
(I-46) 390.16 334.19 T
2 F
(R) 315 312.14 T
1 F
(read-eval-print loop) 315 300.09 T
4 F
( ) 386.63 300.09 T
1 F
(I-11) 389.63 300.09 T
4 F
(, ) 404.6 300.09 T
1 F
(I-15) 410.6 300.09 T
(read/write variable) 315 290.04 T
4 F
( ) 382.63 290.04 T
1 F
(III-8) 385.63 290.04 T
(reference numbers) 315 279.98 T
4 F
( ) 381.62 279.98 T
1 F
(I-12) 384.62 279.98 T
(reflectee, reflection ) 315 269.93 T
13 F
(see mirrors) 387.11 269.93 T
1 F
(reflectTypeError) 315 259.88 T
4 F
( ) 375.39 259.88 T
1 F
(I-38) 378.39 259.88 T
20 F
(resend) 315 249.83 T
4 F
( ) 350.98 249.83 T
1 F
(III-14) 353.98 249.83 T
4 F
(, ) 374.94 249.83 T
1 F
(III-21) 380.93 249.83 T
4 F
(, ) 401.89 249.83 T
1 F
(III-26) 407.89 249.83 T
(return value) 315 239.78 T
4 F
( ) 358.18 239.78 T
1 F
(III-3) 361.17 239.78 T
(root context) 315 229.72 T
4 F
( ) 358.18 229.72 T
1 F
(III-5) 361.18 229.72 T
4 F
(, ) 377.65 229.72 T
1 F
(III-8) 383.64 229.72 T
4 F
(, ) 400.11 229.72 T
1 F
(III-26) 406.11 229.72 T
(root ) 315 219.67 T
13 F
(see lobby) 331.73 219.67 T
2 F
(S) 315 197.62 T
1 F
(script) 315 185.57 T
4 F
( ) 334.97 185.57 T
1 F
(I-12) 337.97 185.57 T
4 F
(, ) 352.94 185.57 T
1 F
(I-20) 358.94 185.57 T
(selector) 315 175.52 T
4 F
( ) 342.95 175.52 T
1 F
(III-25) 345.95 175.52 T
20 F
(self) 315 165.47 T
4 F
( ) 338.99 165.47 T
1 F
(III-3) 341.98 165.47 T
4 F
(, ) 358.45 165.47 T
1 F
(III-9) 364.45 165.47 T
4 F
(, ) 380.91 165.47 T
1 F
(III-21) 386.91 165.47 T
(SELF expression) 315 155.41 T
4 F
( ) 376.66 155.41 T
1 F
(I-11) 379.66 155.41 T
(SELF world) 315 145.36 T
4 F
( ) 359.19 145.36 T
1 F
(I-4) 362.19 145.36 T
(\324\324bare\325\325 world) 324 135.31 T
4 F
( ) 374.65 135.31 T
1 F
(I-6) 377.65 135.31 T
(SELFDIR) 315 125.26 T
4 F
( ) 351.45 125.26 T
1 F
(I-6) 354.45 125.26 T
4 F
(, ) 364.93 125.26 T
1 F
(I-34) 370.93 125.26 T
(semaphores) 315 115.21 T
4 F
( ) 357.43 115.21 T
1 F
(II-10) 360.43 115.21 T
(sender path) 315 105.16 T
4 F
( ) 356.18 105.16 T
1 F
(III-17) 359.18 105.16 T
(sender path tiebreaker) 315 95.1 T
4 F
( ) 394.36 95.1 T
1 F
(III-17) 397.36 95.1 T
4 F
(, ) 418.32 95.1 T
1 F
(III-20) 424.31 95.1 T
(sending method holder) 315 85.05 T
4 F
( ) 397.38 85.05 T
1 F
(III-17) 400.38 85.05 T
4 F
(, ) 421.34 85.05 T
1 F
(III-25) 427.33 85.05 T
4 F
(, ) 448.29 85.05 T
1 F
(III-26) 454.29 85.05 T
(sets) 315 75 T
4 F
( ) 328.48 75 T
1 F
(II-11) 331.48 75 T
FMENDPAGE
%%EndPage: "2" 125
%%Page: "3" 125
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(Index-3) 290.46 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Manual) 92.96 749.62 T
(Index) 516.67 749.62 T
72 72 297 720 R
7 X
V
1 F
0 X
(shortcuts) 72 714 T
4 F
( ) 104.45 714 T
1 F
(I-32) 107.45 714 T
(slot) 72 703.88 T
4 F
( ) 84.99 703.88 T
1 F
(III-2) 87.99 703.88 T
4 F
(, ) 104.45 703.88 T
1 F
(III-25) 110.45 703.88 T
(anonymous parent) 81 693.76 T
4 F
( ) 147.15 693.76 T
1 F
(III-4) 150.15 693.76 T
(argument slot) 81 683.64 T
4 F
( ) 130.18 683.64 T
1 F
(III-3) 133.18 683.64 T
4 F
(, ) 149.64 683.64 T
1 F
(III-9) 155.64 683.64 T
4 F
(, ) 172.1 683.64 T
1 F
(III-22) 178.1 683.64 T
4 F
(, ) 199.06 683.64 T
1 F
(III-26) 205.06 683.64 T
(assignable data slot) 81 673.52 T
4 F
( ) 150.9 673.52 T
1 F
(III-8) 153.89 673.52 T
(assignment slot) 81 663.4 T
4 F
( ) 136.68 663.4 T
1 F
(III-2) 139.68 663.4 T
4 F
(, ) 156.14 663.4 T
1 F
(III-8) 162.14 663.4 T
(data slot) 81 653.28 T
4 F
( ) 111.21 653.28 T
1 F
(III-7) 114.21 653.28 T
4 F
(, ) 130.67 653.28 T
1 F
(III-25) 136.67 653.28 T
(initialization) 81 643.16 T
4 F
( ) 126.44 643.16 T
1 F
(III-7) 129.44 643.16 T
4 F
(\320) 145.9 643.16 T
1 F
(III-10) 151.9 643.16 T
(method slot) 81 633.04 T
4 F
( ) 123.2 633.04 T
1 F
(III-9) 126.19 633.04 T
(mirrors) 81 622.91 T
4 F
( ) 107.46 622.91 T
1 F
(II-16) 110.46 622.91 T
(parent slot) 81 612.79 T
4 F
( ) 118.69 612.79 T
1 F
(III-10) 121.69 612.79 T
4 F
(, ) 142.65 612.79 T
1 F
(III-26) 148.65 612.79 T
(privacy) 81 602.67 T
4 F
( ) 107.95 602.67 T
1 F
(III-7) 110.95 602.67 T
4 F
(, ) 127.42 602.67 T
1 F
(III-17) 133.41 602.67 T
(read-only slot) 81 592.55 T
4 F
( ) 130.67 592.55 T
1 F
(III-7) 133.67 592.55 T
(read/write slot) 81 582.43 T
4 F
( ) 132.67 582.43 T
1 F
(III-8) 135.67 582.43 T
20 F
(self) 81 572.31 T
1 F
( slot) 104.99 572.31 T
4 F
( ) 120.22 572.31 T
1 F
(III-3) 123.22 572.31 T
4 F
(, ) 139.68 572.31 T
1 F
(III-9) 145.68 572.31 T
(slot privacy) 81 562.19 T
4 F
( ) 123.19 562.19 T
1 F
(III-26) 126.18 562.19 T
(slotsMirror) 72 552.07 T
4 F
( ) 112.44 552.07 T
1 F
(I-31) 115.44 552.07 T
(smiMirror) 72 541.95 T
4 F
( ) 108.95 541.95 T
1 F
(I-31) 111.95 541.95 T
(snapshot) 72 531.83 T
4 F
( ) 103.46 531.83 T
1 F
(I-8) 106.45 531.83 T
4 F
(, ) 116.93 531.83 T
1 F
(I-10) 122.93 531.83 T
(snapshotAction) 72 521.71 T
4 F
( ) 127.92 521.71 T
1 F
(I-11) 130.92 521.71 T
4 F
(, ) 145.89 521.71 T
1 F
(I-30) 151.89 521.71 T
4 F
(, ) 166.86 521.71 T
1 F
(II-9) 172.86 521.71 T
(sorted collections) 72 511.59 T
4 F
( ) 135.15 511.59 T
1 F
(II-12) 138.15 511.59 T
(stack dump) 72 501.47 T
4 F
( ) 113.19 501.47 T
1 F
(I-17) 116.19 501.47 T
(startup.self file) 72 491.35 T
4 F
( ) 125.92 491.35 T
1 F
(I-32) 128.91 491.35 T
(strings) 72 481.22 T
4 F
( ) 95.97 481.22 T
1 F
(I-3) 98.97 481.22 T
4 F
(, ) 109.45 481.22 T
1 F
(I-31) 115.44 481.22 T
4 F
(, ) 130.42 481.22 T
1 F
(II-13) 136.41 481.22 T
4 F
(, ) 154.38 481.22 T
1 F
(II-18) 160.38 481.22 T
(abstract strings) 81 471.1 T
4 F
( ) 135.17 471.1 T
1 F
(II-13) 138.17 471.1 T
(canonical strings) 81 460.98 T
4 F
( ) 141.66 460.98 T
1 F
(I-31) 144.65 460.98 T
4 F
(, ) 159.63 460.98 T
1 F
(II-18) 165.62 460.98 T
(canonicalizable strings) 81 450.86 T
4 F
( ) 163.12 450.86 T
1 F
(II-18) 166.12 450.86 T
(characters as one-long strings) 81 440.74 T
4 F
( ) 187.57 440.74 T
1 F
(II-19) 190.57 440.74 T
(immutable strings) 81 430.62 T
4 F
( ) 145.66 430.62 T
1 F
(I-31) 148.66 430.62 T
(indirect message sends) 81 420.5 T
4 F
( ) 163.37 420.5 T
1 F
(II-13) 166.37 420.5 T
(mutable strings) 81 410.38 T
4 F
( ) 136.17 410.38 T
1 F
(II-18) 139.17 410.38 T
(SURVSIZE) 72 400.26 T
4 F
( ) 114.94 400.26 T
1 F
(I-34) 117.94 400.26 T
(swap space) 72 390.14 T
4 F
( ) 112.68 390.14 T
1 F
(I-6) 115.68 390.14 T
(system monitor \050spy\051) 72 380.02 T
4 F
( ) 148.39 380.02 T
1 F
(I-35) 151.39 380.02 T
(system-invoked actions) 72 369.9 T
4 F
( ) 156.63 369.9 T
1 F
(II-9) 159.62 369.9 T
(systemObjects) 72 359.78 T
4 F
( ) 124.42 359.78 T
1 F
(I-30) 127.42 359.78 T
(system-triggered messages) 72 349.65 T
4 F
( ) 168.6 349.65 T
1 F
(I-27) 171.6 349.65 T
2 F
(T) 72 327.54 T
1 F
(thisObjectPrints) 72 315.41 T
4 F
( ) 129.92 315.41 T
1 F
(II-14) 132.92 315.41 T
(three-way comparison) 72 305.29 T
4 F
( ) 152.11 305.29 T
1 F
(II-9) 155.11 305.29 T
(traits) 72 295.17 T
4 F
( ) 89.97 295.17 T
1 F
(I-4) 92.97 295.17 T
4 F
(, ) 103.45 295.17 T
1 F
(II-7) 109.45 295.17 T
(traits object) 72 285.05 T
4 F
( ) 114.19 285.05 T
1 F
(II-1) 117.18 285.05 T
4 F
(, ) 130.66 285.05 T
1 F
(III-5) 136.65 285.05 T
4 F
(, ) 153.12 285.05 T
1 F
(III-26) 159.12 285.05 T
(composite traits objects) 81 274.93 T
4 F
( ) 165.88 274.93 T
1 F
(II-2) 168.88 274.93 T
(treeBag) 72 264.81 T
4 F
( ) 99.95 264.81 T
1 F
(II-12) 102.95 264.81 T
(treeSet) 72 254.69 T
4 F
( ) 96.96 254.69 T
1 F
(II-12) 99.96 254.69 T
(true) 72 244.57 T
4 F
( ) 85.97 244.57 T
1 F
(I-30) 88.97 244.57 T
2 F
(U) 72 222.45 T
1 F
(unary message ) 72 210.33 T
13 F
(see message) 127.41 210.33 T
1 F
(undefinedSelector:Type:Delegatee:) 72 200.21 T
(MethodHolder:Arguments:) 108 190.21 T
4 F
( ) 205.85 190.21 T
1 F
(I-28) 208.85 190.21 T
(Unix error codes) 72 180.09 T
4 F
( ) 132.4 180.09 T
1 F
(I-38) 135.39 180.09 T
(user interface \050ui\051) 72 169.97 T
4 F
( ) 135.88 169.97 T
1 F
(II-21) 138.88 169.97 T
2 F
(V) 72 147.84 T
1 F
(variable ) 72 135.72 T
13 F
(see slot) 103.19 135.72 T
1 F
(vectors) 72 125.6 T
4 F
( ) 97.96 125.6 T
1 F
(II-13) 100.95 125.6 T
(Virtual Machine) 72 115.48 T
13 F
( see VM) 131.15 115.48 T
1 F
(VM) 72 105.36 T
4 F
( ) 86.48 105.36 T
1 F
(I-4) 89.48 105.36 T
315 72 540 720 R
7 X
V
0 X
(^ operator) 315 714 T
13 F
( see non-local return operator) 351.41 714 T
1 F
(^ \050privacy specification\051) 315 703.86 T
4 F
( ) 402.57 703.86 T
1 F
(III-7) 405.57 703.86 T
(^ _\050privacy specification\051) 315 693.71 T
4 F
( ) 407.07 693.71 T
1 F
(III-7) 410.07 693.71 T
(_ \050privacy specification\051) 315 683.57 T
4 F
( ) 402.85 683.57 T
1 F
(III-7) 405.85 683.57 T
(_^ \050privacy specification\051) 315 673.43 T
4 F
( ) 407.07 673.43 T
1 F
(III-7) 410.07 673.43 T
20 F
(\324 ) 315 663.29 T
1 F
(\050back quote\051) 326.99 663.29 T
4 F
( ) 372.16 663.29 T
1 F
(II-19) 375.16 663.29 T
(_AbortProcess) 315 643 T
4 F
( ) 367.92 643 T
1 F
(I-43) 370.92 643 T
(_AddressAsObject) 315 632.86 T
4 F
( ) 382.89 632.86 T
1 F
(I-44) 385.89 632.86 T
(_AddSlotsIfAbsent:) 315 622.71 T
4 F
( ) 386.9 622.71 T
1 F
(I-2) 389.9 622.71 T
4 F
(, ) 400.38 622.71 T
1 F
(I-23) 406.37 622.71 T
4 F
(, ) 421.35 622.71 T
1 F
(I-44) 427.34 622.71 T
(_AddSlots:) 315 612.57 T
4 F
( ) 355.45 612.57 T
1 F
(I-3) 358.45 612.57 T
4 F
(, ) 368.93 612.57 T
1 F
(I-21) 374.93 612.57 T
4 F
(, ) 389.9 612.57 T
1 F
(I-44) 395.9 612.57 T
(_AsObject) 315 602.43 T
4 F
( ) 353.44 602.43 T
1 F
(I-13) 356.44 602.43 T
4 F
(, ) 371.41 602.43 T
1 F
(I-44) 377.41 602.43 T
(_At:) 315 592.29 T
4 F
( ) 330.98 592.29 T
1 F
(I-38) 333.98 592.29 T
(_At:Put:) 315 582.14 T
4 F
( ) 345.47 582.14 T
1 F
(I-38) 348.47 582.14 T
(_BlockSignals) 315 572 T
4 F
( ) 367.43 572 T
1 F
(I-43) 370.43 572 T
(_ByteAt:) 315 561.86 T
4 F
( ) 347.96 561.86 T
1 F
(I-39) 350.95 561.86 T
(_ByteAt:Put:) 315 551.71 T
4 F
( ) 362.45 551.71 T
1 F
(I-39) 365.44 551.71 T
(_ByteSize:) 315 541.57 T
4 F
( ) 354.45 541.57 T
1 F
(I-39) 357.44 541.57 T
(_CBreak:) 315 531.43 T
4 F
( ) 349.45 531.43 T
1 F
(I-47) 352.45 531.43 T
(_Clone) 315 521.29 T
4 F
( ) 340.96 521.29 T
1 F
(I-38) 343.96 521.29 T
(_CloneBytes:Filler:) 315 511.14 T
4 F
( ) 385.91 511.14 T
1 F
(I-38) 388.91 511.14 T
(_Clone:Filler:) 315 501 T
4 F
( ) 365.44 501 T
1 F
(I-38) 368.44 501 T
(_Close) 315 490.86 T
4 F
( ) 339.97 490.86 T
1 F
(I-46) 342.96 490.86 T
(_ColorShift:Mask:) 315 480.71 T
4 F
( ) 382.42 480.71 T
1 F
(I-50) 385.41 480.71 T
(_Compact) 315 470.57 T
4 F
( ) 351.95 470.57 T
1 F
(I-45) 354.95 470.57 T
(_CurrentHistoryNumber) 315 460.43 T
4 F
( ) 403.36 460.43 T
1 F
(I-44) 406.36 460.43 T
(_DateTime) 315 450.29 T
4 F
( ) 355.43 450.29 T
1 F
(I-47) 358.43 450.29 T
(_DefineSlots:) 315 440.14 T
4 F
( ) 364.43 440.14 T
1 F
(I-2) 367.43 440.14 T
(_Define:) 315 430 T
4 F
( ) 346.45 430 T
1 F
(I-2) 349.45 430 T
4 F
(, ) 359.92 430 T
1 F
(I-44) 365.92 430 T
(_DeletePrBrush) 315 419.86 T
4 F
( ) 372.41 419.86 T
1 F
(I-49) 375.41 419.86 T
(_DeletePrPos) 315 409.71 T
4 F
( ) 363.93 409.71 T
1 F
(I-49) 366.93 409.71 T
(_DeletePrSize) 315 399.57 T
4 F
( ) 366.42 399.57 T
1 F
(I-49) 369.42 399.57 T
(_DeletePrSubregion) 315 389.43 T
4 F
( ) 387.89 389.43 T
1 F
(I-49) 390.89 389.43 T
(_Eq:) 315 379.29 T
4 F
( ) 331.98 379.29 T
1 F
(I-40) 334.98 379.29 T
(_ErrorMessage) 315 369.14 T
4 F
( ) 369.9 369.14 T
1 F
(I-38) 372.9 369.14 T
4 F
(, ) 387.88 369.14 T
1 F
(I-46) 393.87 369.14 T
(_Eval) 315 359 T
4 F
( ) 335.97 359 T
1 F
(I-46) 338.97 359 T
(_FloatAdd:) 315 348.86 T
4 F
( ) 355.95 348.86 T
1 F
(I-39) 358.95 348.86 T
(_FloatAsInt) 315 338.71 T
4 F
( ) 357.94 338.71 T
1 F
(I-40) 360.94 338.71 T
(_FloatCeil) 315 328.57 T
4 F
( ) 352.95 328.57 T
1 F
(I-40) 355.95 328.57 T
(_FloatDiv:) 315 318.43 T
4 F
( ) 353.95 318.43 T
1 F
(I-40) 356.95 318.43 T
(_FloatEQ:) 315 308.29 T
4 F
( ) 352.45 308.29 T
1 F
(I-40) 355.45 308.29 T
(_FloatFloor) 315 298.14 T
4 F
( ) 357.45 298.14 T
1 F
(I-40) 360.45 298.14 T
(_FloatGE:) 315 288 T
4 F
( ) 352.45 288 T
1 F
(I-40) 355.45 288 T
(_FloatGT:) 315 277.86 T
4 F
( ) 352.45 277.86 T
1 F
(I-40) 355.45 277.86 T
(_FloatLE:) 315 267.71 T
4 F
( ) 351.45 267.71 T
1 F
(I-40) 354.45 267.71 T
(_FloatLT:) 315 257.57 T
4 F
( ) 351.45 257.57 T
1 F
(I-40) 354.45 257.57 T
(_FloatMod:) 315 247.43 T
4 F
( ) 357.45 247.43 T
1 F
(I-40) 360.45 247.43 T
(_FloatMul:) 315 237.29 T
4 F
( ) 355.45 237.29 T
1 F
(I-40) 358.45 237.29 T
(_FloatNE:) 315 227.14 T
4 F
( ) 352.45 227.14 T
1 F
(I-40) 355.45 227.14 T
(_FloatPrintString) 315 217 T
4 F
( ) 377.43 217 T
1 F
(I-41) 380.42 217 T
(_FloatPrintStringPrecision:) 315 206.86 T
4 F
( ) 413.38 206.86 T
1 F
(I-41) 416.38 206.86 T
(_FloatRound) 315 196.72 T
4 F
( ) 361.94 196.72 T
1 F
(I-40) 364.94 196.72 T
(_FloatSub:) 315 186.57 T
4 F
( ) 354.45 186.57 T
1 F
(I-39) 357.45 186.57 T
(_FloatTruncate) 315 176.43 T
4 F
( ) 369.91 176.43 T
1 F
(I-40) 372.91 176.43 T
(_Flush) 315 166.29 T
4 F
( ) 339.47 166.29 T
1 F
(I-45) 342.47 166.29 T
(_FlushInlineCache) 315 156.14 T
4 F
( ) 382.9 156.14 T
1 F
(I-45) 385.9 156.14 T
(_FontHeight) 315 146 T
4 F
( ) 360.44 146 T
1 F
(I-49) 363.44 146 T
(_FontWidth) 315 135.86 T
4 F
( ) 358.45 135.86 T
1 F
(I-49) 361.44 135.86 T
(_GarbageCollect) 315 125.72 T
4 F
( ) 375.9 125.72 T
1 F
(I-45) 378.9 125.72 T
(_GenerateCountCode:) 315 115.57 T
4 F
( ) 395.38 115.57 T
1 F
(I-45) 398.37 115.57 T
(_GetBitplaneMask) 315 105.43 T
4 F
( ) 382.9 105.43 T
1 F
(I-48) 385.9 105.43 T
(_GetPixrectPrDepth) 315 95.29 T
4 F
( ) 387.89 95.29 T
1 F
(I-47) 390.89 95.29 T
(_GetPixrectPrHeight) 315 85.14 T
4 F
( ) 390.39 85.14 T
1 F
(I-47) 393.39 85.14 T
(_GetPixrectPrWidth) 315 75 T
4 F
( ) 388.39 75 T
1 F
(I-47) 391.39 75 T
FMENDPAGE
%%EndPage: "3" 126
%%Page: "4" 126
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(Index-4) 290.46 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Manual) 92.96 749.62 T
(Index) 516.67 749.62 T
72 72 297 720 R
7 X
V
1 F
0 X
(_GetPrBrushWidth) 72 714 T
4 F
( ) 141.4 714 T
1 F
(I-49) 144.4 714 T
(_GetPrPosX) 72 703.86 T
4 F
( ) 116.94 703.86 T
1 F
(I-49) 119.93 703.86 T
(_GetPrPosY) 72 693.71 T
4 F
( ) 116.94 693.71 T
1 F
(I-49) 119.93 693.71 T
(_GetPrSizeX) 72 683.57 T
4 F
( ) 119.43 683.57 T
1 F
(I-49) 122.43 683.57 T
(_GetPrSizeY) 72 673.43 T
4 F
( ) 119.43 673.43 T
1 F
(I-49) 122.43 673.43 T
(_GetPrSubregionPr) 72 663.29 T
4 F
( ) 142.4 663.29 T
1 F
(I-49) 145.4 663.29 T
(_Help) 72 653.14 T
4 F
( ) 93.96 653.14 T
1 F
(I-46) 96.96 653.14 T
(_HistoryIndex) 72 643 T
4 F
( ) 123.92 643 T
1 F
(I-26) 126.92 643 T
(_HistoryLength) 72 632.86 T
4 F
( ) 128.92 632.86 T
1 F
(I-13) 131.92 632.86 T
4 F
(, ) 146.89 632.86 T
1 F
(I-26) 152.88 632.86 T
4 F
(, ) 167.86 632.86 T
1 F
(I-44) 173.85 632.86 T
(_HistoryNumber) 72 622.71 T
4 F
( ) 132.91 622.71 T
1 F
(I-44) 135.91 622.71 T
(_HostID) 72 612.57 T
4 F
( ) 102.95 612.57 T
1 F
(I-46) 105.95 612.57 T
(_HostName) 72 602.43 T
4 F
( ) 114.93 602.43 T
1 F
(I-46) 117.93 602.43 T
(_IdentityHash) 72 592.29 T
4 F
( ) 122.92 592.29 T
1 F
(I-46) 125.92 592.29 T
(_Inline) 72 582.14 T
4 F
( ) 97.46 582.14 T
1 F
(I-45) 100.46 582.14 T
(_InlineCache:) 72 572 T
4 F
( ) 122.42 572 T
1 F
(I-45) 125.42 572 T
(_IntAdd:) 72 561.86 T
4 F
( ) 104.45 561.86 T
1 F
(I-39) 107.45 561.86 T
(_IntAnd:) 72 551.71 T
4 F
( ) 104.45 551.71 T
1 F
(I-39) 107.45 551.71 T
(_IntArithmeticShiftRight:) 72 541.57 T
4 F
( ) 165.38 541.57 T
1 F
(I-39) 168.38 541.57 T
(_IntAsFloat) 72 531.43 T
4 F
( ) 114.94 531.43 T
1 F
(I-39) 117.94 531.43 T
(_IntComplement) 72 521.29 T
4 F
( ) 132.92 521.29 T
1 F
(I-39) 135.91 521.29 T
(_IntDiv:) 72 511.14 T
4 F
( ) 102.46 511.14 T
1 F
(I-39) 105.46 511.14 T
(_IntEQ:) 72 501 T
4 F
( ) 100.96 501 T
1 F
(I-40) 103.96 501 T
(_IntGE:) 72 490.86 T
4 F
( ) 100.96 490.86 T
1 F
(I-40) 103.96 490.86 T
(_IntGT:) 72 480.71 T
4 F
( ) 100.96 480.71 T
1 F
(I-40) 103.96 480.71 T
(_IntLE:) 72 470.57 T
4 F
( ) 99.96 470.57 T
1 F
(I-40) 102.96 470.57 T
(_IntLogicalShiftRight:) 72 460.43 T
4 F
( ) 153.89 460.43 T
1 F
(I-39) 156.89 460.43 T
(_IntLT:) 72 450.29 T
4 F
( ) 99.96 450.29 T
1 F
(I-40) 102.96 450.29 T
(_IntMod:) 72 440.14 T
4 F
( ) 105.95 440.14 T
1 F
(I-39) 108.95 440.14 T
(_IntMul:) 72 430 T
4 F
( ) 103.96 430 T
1 F
(I-39) 106.96 430 T
(_IntNE:) 72 419.86 T
4 F
( ) 100.96 419.86 T
1 F
(I-40) 103.96 419.86 T
(_IntOr:) 72 409.71 T
4 F
( ) 98.46 409.71 T
1 F
(I-39) 101.46 409.71 T
(_IntShiftLeft:) 72 399.57 T
4 F
( ) 121.43 399.57 T
1 F
(I-39) 124.43 399.57 T
(_IntSub:) 72 389.43 T
4 F
( ) 102.96 389.43 T
1 F
(I-39) 105.96 389.43 T
(_IntXor:) 72 379.29 T
4 F
( ) 102.95 379.29 T
1 F
(I-39) 105.95 379.29 T
(_LineRestoreUnder) 72 369.14 T
4 F
( ) 142.88 369.14 T
1 F
(I-50) 145.88 369.14 T
(_LineSaveUnderDestX1:Y1:X2:Y2:Color:Saveunder:) 72 359 T
4 F
( ) 266.7 359 T
1 F
(I-50) 269.7 359 T
(_LineSaveUnderMaxBytesXSizeYSize:) 72 348.86 T
4 F
( ) 216.27 348.86 T
1 F
(I-50) 219.27 348.86 T
(_Lseek:To:Mode:) 72 338.71 T
4 F
( ) 136.4 338.71 T
1 F
(I-47) 139.4 338.71 T
(_Manufacturer) 72 328.57 T
4 F
( ) 125.4 328.57 T
1 F
(I-46) 128.4 328.57 T
(_MemCreateWidthHeight:Depth:) 72 318.43 T
4 F
( ) 192.82 318.43 T
1 F
(I-47) 195.82 318.43 T
(_MemPointWidthHeight:Depth:Data:) 72 308.29 T
4 F
( ) 207.81 308.29 T
1 F
(I-47) 210.81 308.29 T
(_MemToMemCopySource:Height:) 72 298.14 T
4 F
( ) 198.32 298.14 T
1 F
(I-50) 201.32 298.14 T
(_MemToScreenCopySource:Height:) 72 288 T
4 F
( ) 203.8 288 T
1 F
(I-50) 206.8 288 T
(_Mirror) 72 277.86 T
4 F
( ) 100.45 277.86 T
1 F
(I-41) 103.45 277.86 T
4 F
(, ) 118.43 277.86 T
1 F
(II-16) 124.42 277.86 T
(_MirrorAllLimit:) 72 267.71 T
4 F
( ) 134.42 267.71 T
1 F
(I-42) 137.42 267.71 T
(_MirrorAssignmentSlotsLimit:) 72 257.57 T
4 F
( ) 183.86 257.57 T
1 F
(I-42) 186.86 257.57 T
(_MirrorCode) 72 247.43 T
4 F
( ) 119.43 247.43 T
1 F
(I-42) 122.43 247.43 T
(_MirrorContentsAt:) 72 237.29 T
4 F
( ) 143.9 237.29 T
1 F
(I-41) 146.9 237.29 T
(_MirrorImplementorsLimit:) 72 227.14 T
4 F
( ) 172.86 227.14 T
1 F
(I-42) 175.85 227.14 T
(_MirrorIsArgumentAt:) 72 217 T
4 F
( ) 154.87 217 T
1 F
(I-41) 157.87 217 T
(_MirrorIsAssignableAt:) 72 206.86 T
4 F
( ) 158.37 206.86 T
1 F
(I-41) 161.37 206.86 T
(_MirrorIsParentAt:) 72 196.72 T
4 F
( ) 141.39 196.72 T
1 F
(I-41) 144.39 196.72 T
(_MirrorNameAt:) 72 186.57 T
4 F
( ) 133.4 186.57 T
1 F
(I-41) 136.4 186.57 T
(_MirrorParentGroupAt:) 72 176.43 T
4 F
( ) 157.87 176.43 T
1 F
(I-41) 160.86 176.43 T
(_MirrorReferencesLimit:) 72 166.29 T
4 F
( ) 162.85 166.29 T
1 F
(I-42) 165.85 166.29 T
(_MirrorReflectee) 72 156.14 T
4 F
( ) 134.39 156.14 T
1 F
(I-41) 137.39 156.14 T
(_MirrorReflecteeEq:) 72 146 T
4 F
( ) 146.87 146 T
1 F
(I-41) 149.87 146 T
(_MirrorReflecteeIdentityHash) 72 135.86 T
4 F
( ) 180.82 135.86 T
1 F
(I-41) 183.82 135.86 T
(_MirrorSize) 72 125.72 T
4 F
( ) 115.93 125.72 T
1 F
(I-41) 118.93 125.72 T
(_MirrorVisibilityAt:IfPrivate:IfPublic:IfUndeclared:) 72 115.57 T
4 F
( ) 261.21 115.57 T
1 F
(I-42) 264.21 115.57 T
(_MonitorHeight) 72 105.43 T
4 F
( ) 130.42 105.43 T
1 F
(I-45) 133.42 105.43 T
(_NewPrBrush) 72 95.29 T
4 F
( ) 122.92 95.29 T
1 F
(I-49) 125.92 95.29 T
(_NewProcessSize:Selector:Arguments:) 72 85.14 T
4 F
( ) 213.28 85.14 T
1 F
(I-43) 216.28 85.14 T
(_NewPrPos) 72 75 T
4 F
( ) 114.44 75 T
1 F
(I-49) 117.44 75 T
315 72 540 720 R
7 X
V
0 X
(_NewPrSize) 315 714 T
4 F
( ) 359.93 714 T
1 F
(I-49) 362.93 714 T
(_NewPrSubregion) 315 703.85 T
4 F
( ) 381.4 703.85 T
1 F
(I-49) 384.4 703.85 T
(_NumberCharsInFile) 315 693.7 T
4 F
( ) 391.38 693.7 T
1 F
(I-47) 394.38 693.7 T
(_NumberOfAccessMethodCalls) 315 683.55 T
4 F
( ) 430.32 683.55 T
1 F
(I-46) 433.32 683.55 T
(_NumberOfMethodCalls) 315 673.4 T
4 F
( ) 404.86 673.4 T
1 F
(I-45) 407.86 673.4 T
(_OpenMode:) 315 663.25 T
4 F
( ) 362.43 663.25 T
1 F
(I-46) 365.42 663.25 T
(_OpenMode:Permission:) 315 653.1 T
4 F
( ) 404.87 653.1 T
1 F
(I-46) 407.87 653.1 T
(_Perform) 315 642.95 T
4 F
( ) 348.95 642.95 T
1 F
(I-28) 351.94 642.95 T
(_PerformResend:With:) 315 632.8 T
4 F
( ) 398.38 632.8 T
1 F
(I-42) 401.38 632.8 T
(_Perform:DelegatingTo:With:) 315 622.65 T
4 F
( ) 423.84 622.65 T
1 F
(I-42) 426.84 622.65 T
(_Perform:With:) 315 612.5 T
4 F
( ) 371.92 612.5 T
1 F
(I-42) 374.92 612.5 T
(_PfClose) 315 602.35 T
4 F
( ) 347.96 602.35 T
1 F
(I-48) 350.95 602.35 T
(_PfDefault) 315 592.2 T
4 F
( ) 354.44 592.2 T
1 F
(I-48) 357.43 592.2 T
(_PfOpen) 315 582.05 T
4 F
( ) 346.95 582.05 T
1 F
(I-48) 349.95 582.05 T
(_PfOpenPrivate) 315 571.9 T
4 F
( ) 372.41 571.9 T
1 F
(I-48) 375.41 571.9 T
(_PfTextboundLen:Font:Text:) 315 561.75 T
4 F
( ) 420.85 561.75 T
1 F
(I-48) 423.85 561.75 T
(_PrClose) 315 551.6 T
4 F
( ) 347.96 551.6 T
1 F
(I-48) 350.95 551.6 T
(_PrDblGetAttribute:) 315 541.45 T
4 F
( ) 388.89 541.45 T
1 F
(I-48) 391.89 541.45 T
(_PrDblSetAttributes:) 315 531.3 T
4 F
( ) 390.9 531.3 T
1 F
(I-48) 393.9 531.3 T
(_PrGetcolormapIndex:Count:Red:Green:Blue:) 315 521.15 T
4 F
( ) 482.75 521.15 T
1 F
(I-48) 485.75 521.15 T
(_PrGetX:Y:) 315 511 T
4 F
( ) 358.44 511 T
1 F
(I-48) 361.43 511 T
(_Print) 315 500.85 T
4 F
( ) 336.97 500.85 T
1 F
(I-12) 339.97 500.85 T
4 F
(, ) 354.95 500.85 T
1 F
(I-43) 360.94 500.85 T
(_PrintGC) 315 490.7 T
4 F
( ) 349.46 490.7 T
1 F
(I-26) 352.46 490.7 T
4 F
(, ) 367.43 490.7 T
1 F
(I-45) 373.43 490.7 T
(_PrintMemory) 315 480.55 T
4 F
( ) 367.93 480.55 T
1 F
(I-46) 370.92 480.55 T
(_PrintOptionPrimitives) 315 470.4 T
4 F
( ) 398.9 470.4 T
1 F
(I-26) 401.9 470.4 T
4 F
(, ) 416.87 470.4 T
1 F
(I-46) 422.87 470.4 T
(_PrintPeriod) 315 460.25 T
4 F
( ) 360.44 460.25 T
1 F
(I-26) 363.44 460.25 T
4 F
(, ) 378.41 460.25 T
1 F
(I-44) 384.41 460.25 T
(_PrintProcessStack) 315 450.1 T
4 F
( ) 384.4 450.1 T
1 F
(I-17) 387.4 450.1 T
4 F
(, ) 402.37 450.1 T
1 F
(I-43) 408.37 450.1 T
(_PrintScavenge) 315 439.95 T
4 F
( ) 371.41 439.95 T
1 F
(I-26) 374.41 439.95 T
4 F
(, ) 389.39 439.95 T
1 F
(I-45) 395.38 439.95 T
(_PrintScriptName) 315 429.8 T
4 F
( ) 379.91 429.8 T
1 F
(I-26) 382.91 429.8 T
4 F
(, ) 397.88 429.8 T
1 F
(I-44) 403.88 429.8 T
(_PrintSelfProfile:) 315 419.65 T
4 F
( ) 378.42 419.65 T
1 F
(I-45) 381.41 419.65 T
(_PrLineX0:Y0:X1:Y1:Brush:Texture:Op:) 315 409.5 T
4 F
( ) 465.78 409.5 T
1 F
(I-48) 468.78 409.5 T
(_PrOpen) 315 399.35 T
4 F
( ) 346.95 399.35 T
1 F
(I-47) 349.95 399.35 T
(_PrPolygon2DestDX:DY:NBnds:NPts:) 315 389.2 T
(XList:YList:Op:Source:SX:SY:) 351 379.2 T
4 F
( ) 465.85 379.2 T
1 F
(I-48) 468.85 379.2 T
(_PrPolylineDX:DY:NPts:PtList:) 315 369.05 T
(MvList:Brush:Texture:Op:) 351 359.05 T
4 F
( ) 447.87 359.05 T
1 F
(I-48) 450.86 359.05 T
(_PrPutattributesPlanes:) 315 348.9 T
4 F
( ) 398.89 348.9 T
1 F
(I-48) 401.89 348.9 T
(_PrPutcolormapIndex:Count:Red:Green:Blue:) 315 338.75 T
4 F
( ) 481.76 338.75 T
1 F
(I-48) 484.76 338.75 T
(_PrPutX:Y:Value:) 315 328.6 T
4 F
( ) 381.41 328.6 T
1 F
(I-48) 384.41 328.6 T
(_PrRegionX:Y:W:H:) 315 318.45 T
4 F
( ) 391.39 318.45 T
1 F
(I-48) 394.39 318.45 T
(_PrReplropDestDX:DY:DW:DH:Op:Source:SX:SY:) 315 308.3 T
4 F
( ) 505.72 308.3 T
1 F
(I-48) 508.72 308.3 T
(_PrRopDestDX:DY:DW:DH:Op:Source:SX:SY:) 315 298.15 T
4 F
( ) 491.75 298.15 T
1 F
(I-48) 494.74 298.15 T
(_PrStencilDestDX:DY:DW:DH:Op:Stencil:StX:StY:Source) 315 288 T
(SX:SY:) 324 277.85 T
4 F
( ) 351.97 277.85 T
1 F
(I-48) 354.97 277.85 T
(_PrStencilDestDX:DY:DW:DH:Op:) 315 267.7 T
(Stencil:StX:StY:Source:SX:SY:) 351 257.7 T
4 F
( ) 466.86 257.7 T
1 F
(I-48) 469.86 257.7 T
(_PrTextX:Y:Op:Font:Text:) 315 247.55 T
4 F
( ) 413.37 247.55 T
1 F
(I-48) 416.37 247.55 T
(_PrTtextX:Y:Op:Font:Text:) 315 237.4 T
4 F
( ) 415.87 237.4 T
1 F
(I-49) 418.86 237.4 T
(_PrVectorX0:Y0:X1:Y1:Op:Value:) 315 227.25 T
4 F
( ) 443.3 227.25 T
1 F
(I-48) 446.3 227.25 T
(_Quit) 315 217.1 T
4 F
( ) 335.47 217.1 T
1 F
(I-11) 338.47 217.1 T
4 F
(, ) 353.45 217.1 T
1 F
(I-46) 359.44 217.1 T
(_ReadInto:Offset:Count:) 315 206.95 T
4 F
( ) 404.37 206.95 T
1 F
(I-46) 407.37 206.95 T
(_ReadSnapshot) 315 196.8 T
4 F
( ) 370.92 196.8 T
1 F
(I-10) 373.92 196.8 T
4 F
(, ) 388.89 196.8 T
1 F
(I-11) 394.89 196.8 T
4 F
(, ) 409.86 196.8 T
1 F
(I-27) 415.86 196.8 T
4 F
(, ) 430.83 196.8 T
1 F
(I-44) 436.83 196.8 T
(_RemoveSlot:) 315 186.65 T
4 F
( ) 366.43 186.65 T
1 F
(I-22) 369.43 186.65 T
4 F
(, ) 384.41 186.65 T
1 F
(I-44) 390.4 186.65 T
(_ResetSelfProfile) 315 176.5 T
4 F
( ) 378.41 176.5 T
1 F
(I-45) 381.4 176.5 T
(_Restart) 315 166.35 T
4 F
( ) 344.95 166.35 T
1 F
(I-46) 347.95 166.35 T
(_RunScript) 315 156.2 T
4 F
( ) 355.95 156.2 T
1 F
(I-8) 358.95 156.2 T
4 F
(, ) 369.42 156.2 T
1 F
(I-20) 375.42 156.2 T
4 F
(, ) 390.39 156.2 T
1 F
(I-43) 396.39 156.2 T
(_Scavenge) 315 146.05 T
4 F
( ) 353.93 146.05 T
1 F
(I-45) 356.93 146.05 T
(_SelectInto:Size:) 315 135.9 T
4 F
( ) 376.41 135.9 T
1 F
(I-47) 379.41 135.9 T
(_SelfProfiling:) 315 125.75 T
4 F
( ) 368.43 125.75 T
1 F
(I-45) 371.43 125.75 T
(_SetCPUTimer) 315 115.6 T
4 F
( ) 370.42 115.6 T
1 F
(I-43) 373.42 115.6 T
(_SetPrBrushWidth:) 315 105.45 T
4 F
( ) 385.41 105.45 T
1 F
(I-49) 388.41 105.45 T
(_SetPrPosX:) 315 95.3 T
4 F
( ) 360.94 95.3 T
1 F
(I-49) 363.94 95.3 T
(_SetPrPosY:) 315 85.15 T
4 F
( ) 360.94 85.15 T
1 F
(I-49) 363.94 85.15 T
(_SetPrSizeX:) 315 75 T
4 F
( ) 363.43 75 T
1 F
(I-49) 366.43 75 T
FMENDPAGE
%%EndPage: "4" 127
%%Page: "5" 127
612 792 0 FMBEGINPAGE
72 19.73 540 31.68 R
7 X
0 K
V
0 F
0 X
(Index-5) 290.46 25.01 T
71.42 742.9 539.42 742.9 2 L
7 X
V
0.1 H
2 Z
0 X
N
71.43 744.34 539.42 756.29 R
7 X
V
0 X
(S) 71.43 749.62 T
1 F
(ELF) 76.98 749.62 T
0 F
( Manual) 92.96 749.62 T
(Index) 516.67 749.62 T
72 72 297 720 R
7 X
V
1 F
0 X
(_SetPrSizeY:) 72 714 T
4 F
( ) 120.43 714 T
1 F
(I-49) 123.43 714 T
(_SetPrSubregionPos:) 72 704 T
4 F
( ) 148.4 704 T
1 F
(I-49) 151.4 704 T
(_SetPrSubregionPr:) 72 694 T
4 F
( ) 143.4 694 T
1 F
(I-49) 146.4 694 T
(_SetPrSubregionSize:) 72 684 T
4 F
( ) 150.89 684 T
1 F
(I-49) 153.89 684 T
(_SetRealTimer) 72 674 T
4 F
( ) 126.42 674 T
1 F
(I-43) 129.42 674 T
(_Size) 72 664 T
4 F
( ) 91.97 664 T
1 F
(I-38) 94.97 664 T
(_SnapshotCode:) 72 654 T
4 F
( ) 130.92 654 T
1 F
(I-44) 133.92 654 T
(_SourceDir:) 72 644 T
4 F
( ) 115.93 644 T
1 F
(I-44) 118.93 644 T
(_Spy) 72 634 T
4 F
( ) 90.48 634 T
1 F
(I-26) 93.48 634 T
(_Spy:) 72 624 T
4 F
( ) 92.98 624 T
1 F
(I-26) 95.97 624 T
4 F
(, ) 110.95 624 T
1 F
(I-45) 116.94 624 T
(_StackPrintLimit) 72 614 T
4 F
( ) 133.92 614 T
1 F
(I-26) 136.92 614 T
4 F
(, ) 151.9 614 T
1 F
(I-44) 157.89 614 T
(_StringCanonicalize) 72 604 T
4 F
( ) 145.39 604 T
1 F
(I-40) 148.39 604 T
(_StringPrint) 72 594 T
4 F
( ) 115.95 594 T
1 F
(I-41) 118.95 594 T
(_System) 72 584 T
4 F
( ) 102.96 584 T
1 F
(I-47) 105.96 584 T
(_TCPConnectToHost:Port:) 72 574 T
4 F
( ) 169.87 574 T
1 F
(I-47) 172.87 574 T
(_ThisProcess) 72 564 T
4 F
( ) 119.93 564 T
1 F
(I-43) 122.93 564 T
(_TimeCPU) 72 554 T
4 F
( ) 112.95 554 T
1 F
(I-47) 115.94 554 T
(_TimeReal) 72 544 T
4 F
( ) 111.94 544 T
1 F
(I-47) 114.94 544 T
(_TimeSystem) 72 534 T
4 F
( ) 121.93 534 T
1 F
(I-47) 124.93 534 T
(_TimeUser) 72 524 T
4 F
( ) 112.43 524 T
1 F
(I-47) 115.43 524 T
(_Trace :) 72 514 T
4 F
( ) 101.69 514 T
1 F
(I-45) 104.69 514 T
(_TWAINSResultSize) 72 504 T
4 F
( ) 149.88 504 T
1 F
(I-43) 152.88 504 T
(_TWAINS:ResultVector:) 72 494 T
4 F
( ) 163.86 494 T
1 F
(I-19) 166.86 494 T
4 F
(, ) 181.83 494 T
1 F
(I-43) 187.83 494 T
(_UseNewCompiler) 72 484 T
4 F
( ) 141.39 484 T
1 F
(I-2) 144.39 484 T
4 F
(, ) 154.87 484 T
1 F
(I-44) 160.87 484 T
(_VectorPrintLimit) 72 474 T
4 F
( ) 138.41 474 T
1 F
(I-14) 141.41 474 T
4 F
(, ) 156.38 474 T
1 F
(I-26) 162.38 474 T
4 F
(, ) 177.35 474 T
1 F
(I-43) 183.35 474 T
(_Verify) 72 464 T
4 F
( ) 99.95 464 T
1 F
(I-46) 102.95 464 T
(_WriteFrom:Offset:Count:) 72 454 T
4 F
( ) 168.36 454 T
1 F
(I-47) 171.36 454 T
(_WriteSnapshot) 72 444 T
4 F
( ) 129.91 444 T
1 F
(I-10) 132.91 444 T
4 F
(, ) 147.89 444 T
1 F
(I-27) 153.88 444 T
4 F
(, ) 168.86 444 T
1 F
(I-44) 174.85 444 T
(_Yield:) 72 434 T
4 F
( ) 98.96 434 T
1 F
(I-43) 101.96 434 T
315 72 540 720 R
7 X
V
FMENDPAGE
%%EndPage: "5" 128
%%Trailer
%%BoundingBox: 0 0 612 792
%%Pages: 127 1
%%DocumentFonts: Times-Roman
%%+ Times-Bold
%%+ Times-Italic
%%+ Courier
%%+ Helvetica
%%+ Courier-Bold
%%+ Times-BoldItalic
%%+ Helvetica-Oblique
%%+ Courier-BoldOblique
%%+ Symbol