Aak0 HH $d H6$$ff@p   d#  Footnote TableFootnote0*a*B. .. / - -:;,.!?W. `vla4/aTis. TOC-Heading1Heading2Co   *EquationVariablesie3.0a==/= Re>? @AhB^iC_DuEvFwGxHyIzJ{K|L}M~NOPQRSTUVWXY Zk[\ ] ^_H`abc d e$ f gf hijklm no pqrstutnovFoowaxy .z {!?!|"}la#~a$s.%TO&din'ng2()*+,-./012ari3453.6=7 89:;<^=_>u?v@wAxByCzD{E|F}G~HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ~     !"#$%&'()*+,-./0123456789 : ; < = >?@ABCDEFGHIJKLMNOP Q!R"S#T$U%V&W'X(Y)Z*[+\,]x- y. ue`uDDylan/TKvETclwFwishxGDylan/Tk standard optionsyH backgroundzI borderwidth{Jcursor|K foreground}Lhighlightbackground~MhighlightforegroundNhighlightthickness"OreliefPbitmapQcommandRfontSjustifyTstateUtextV textvariableW underline1XvariableY\[window]Z*root-window*[root-window][ configure\ configuration=] map-window?^ unmap-window_destroy-window`packaunpackbPackingcbindd get-bindinge get-bindingsfbinding-call-orderPgbinding-call-order-setterhtk-breaki$\[active-variable]j\[button]kactivatel deactivate mflashDyninvokeTco\[checkbutton]p select-valueqadeselect-valuerr toggle-valuesr\[menubutton]Ltiactivateu deactivatelivg\[radiobutton]w select-valuexdeselect-valueQyo\[canvas]zxviewf{yview| find-items}afocusW~n focus-settera scan-mark scan-dragto select-itemwncanvas-xocanvas-y create-arcn create-bitmapw? create-linew create-ovaldcreate-polygonkcreate-rectangle create-texte create-windowi postscriptn\[entry]iicursorltxviewhkdeletei<insertiacget-alla get-elements] scan-markac scan-dragtoc select-adjustDy select-clear< select-from[o select-to sel\[frame]e\[label]\[listbox]tclear-selectioncurrent-selectionelignearestbasizexviewectyviewdevdeletey<insertanget-all get-elements scan-markims scan-dragtonseeu select-adjustmk select-clear select-fromi select-tososelection-anchor-setteraselection-includes?a set-selectionn\[menu]ractivate-entryrdeletengconfigure-entryeentry-configurationo invoke-entry<post post-cascadeunpostwyposition-entryn add-commandladd-checkbutton-add-radiobuttonr add-cascadea add-separatorjt\[message]e\[scale]t get-valuelm set-value<\[scrollbar]\scrollt get-unitseio set-unitsnsee\[text]esyviewideletectinsertdevget-all< get-elementse scan-markl scan-dragtom select-adjustsct select-clear select-froma select-toecttagst\[toplevel]os tk-dialogtn-s\[text-index]cl text-at tline-end <\[text-mark] emarks e\[text-tag]e- configureny-r configurationointbindoadd-tagc remove-tagttagsp delete-tagn raise-tagnl lower-tagbto next-rangeob\[canvas-item]e\[canvas-tag]e\g configuree\<[ configurationtgebinde delete-item< raise-itemro lower-itemll  move-itemnse! scale-itemsn" item-coords>#sitem-coords-setter$e item-type%tadd-canvas-tagal&get-canvas-tagss'edelete-canvas-tagl(d\[point])j\[rgb-color]*colormap-cells+colormap-full?,achildren-lwindow-containing-x-y.awindow-containing-pointi/xdepth]cl0exists?1tdistance-to-float-pixels2[geometry3eheight4eX-id5tmapped?6geometry-manager7owindow-with-X-id8idistance-to-pixels9c mouse-x-yg: t mouse-point; erequested-height< nrequested-widthe= owidthne> ecolor-to-r-g-bnv?\color-to-rgb-colore@vabs-position-x-yAabs-position-pointBo screen-nameCscreen-colormap-cellseteD screen-depthE screen-heightmllF screen-widthGserveremHtoplevelI viewable?t-cJe visual-classKtavailable-visualsdcaLgvirtual-root-heightvMvirtual-root-widths-Nlvirtual-root-position-x-yO<virtual-root-position-pointPm x-y-in-parentQ point-in-parentR!rtk-aslS"w put-tk-line-T#call-tk-functionU$n join-tk-argsV%l make-optionsW& parse-tk-listtflX'etk-quoteY(t tk-unquoteheZ)anonymous-name[*awinfo\+eDylan/Tk Extension Protocold],- Tk-extension^BtTcl and the Tk Toolkite-_COsterhout, Johno uesd-  n ed-  wi <$lastpagenum> *<$daynum01> <$shortmonthname> <$shortyear> "<$monthnum>/<$daynum>/<$shortyear> )<$daynum> <$shortmonthname> <$shortyear> c "<$monthnum>/<$daynum>/<$shortyear> <$monthname> <$daynum>, <$year>nid "<$monthnum>/<$daynum>/<$shortyear>  <$fullfilename>c  <$filename>  <$paratext[Title]>  <$paratext[Heading]>  <$curpagenum>t  <$marker1>  <$marker2>  (Continued)ua + (Sheet <$tblsheetnum> of <$tblsheetcount>)  Heading & Page <$paratext> on page<$pagenum> Pagepage<$pagenum>tfu See Heading & Page%See <$paratext> on page<$pagenum>.pa  Table Alll7Table<$paranumonly>, <$paratext>, on page<$pagenum>n Table Number & Pagef'Table<$paranumonly> on page<$pagenum>o  Table & Page7Table<$paranumonly>, <$paratext>, on page<$pagenum>h3 3 4 4 5 5 Ada6 6 7 7 8 8 Aaum9 J A>uz`"ݜuJ /umۜvI aٜwH n$dxX eidyY o>/{W $eaќ}G fiߜ~K 1. $G G TL a[HG  L m G rG rK n2. G  heG $etG HeL earG ppaG M nfuN e& M <exN nuM e N nuK p3. G gO  P lP  ÝP ĝP ŝP >ƝG  $pP ɝP ʝP ˝P G G  K 4. G M ϝN НQ AaҝN ѝQ uӝN /ԝQ a՝N n؝Q eٝN o8M $ݝN ۝Q N G ֝Q G םN L G HG Q L N  G Q G N K Q .N Q N Q R Q R Q R  Q  R Q R K g5. G G G G S  R S  R S  R S R S R S R S R Aa֣S ܣR uK 6. G  G  G  G L G  G G G K 7. G  Q S  N R  Q L  N R  Q 5R N G Q S N 3R Q S R 4R Q 9S R :R Q ;S R <R Q >S R =R Q K 8. G gG G G G G G K  9. G  T CM Z Z Z Z Z Z Z Z  Z  Z  Z  Z  Z Z M G !U G U G U G U L "T G HM G Z G Z G Z K Z .Z Z Z Z Z SZ X Z Z!Z \"Z d#Z ^$Z e%M #&U f'U g(U j)T I*M +Z ,Z g-Z G .Z G /Z G 0Z 9. 1Z  2Z  3Z  4Z  5Z  6Z  7Z  8Z  9Z  :M  %;U  r<U  &=T  J>M  ?Z  @Z  AZ  BZ  CZ  ÞDZ  ŞEZ  FZ  GZ  ɞHZ  IZ  ˞JZ  ͞KZ  LZ  ϞMZ  ўNZ  ӞOZ  PZ  'QV  vRU  xSU  (TT  KUM  VZ  ՞WZ  מXZ  ٞYZ  ۞ZZ  ݞ[Z  ߞ\Z  ]Z  ^Z  _Z  `Z  aZ  bZ  cZ  dZ  eZ  fZ  )gM  hU  ziU  |jU  kU  ~lU  mU  nU  oU  pU  qU  )rU  MsN  NtU  OuN  PvU  QwN  RxU  SyN  TzU  U{N  V|U  W}N  X~U  YN  ZU  [N  \U  ]N  *T  zM  Z  uZ  wZ  yZ  {Z  }Z  Z  Z  Z  Z  Z  Z  Z  Z  Z  Z  ^M  U  U  U  U  U  U  U  U  U  U  U  U  +T  {M  Z  Z  Z  Z  ,M  -T  |M  Z  Z  Z  Z  Z  Z  Z  Z  Z  M  .T  }M  Z  Z  Z  Z  Z  Z  Z  Z  Z  Z  Z  M  ȡU  /U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  U  0T  ~M  ΡZ  ̟Z  ΟZ  ПZ  ҟZ  ԟZ  ֟Z  СZ  ϡM  1U  U  U  àU  ŠU  ǠU  ءU  סU  ˠU  lU  ͠U  ϠU  ѠU  ӠU  2M  T  !M  ١Z  Z  Z  Z  Z  Z  4M  5T  M  ڡZ  Z  Z  Z  Z  Z  Z  Z  Z  Z  Z  Z   Z   Z   Z   Z   Z  Z  ߡZ  Z  Z  ۡM  6U  ՠU  7T  M  Z  Z  Z  Z  Z  Z  Z  Z  Z   Z  !M  <"U  נ#U  ٠$U  G%M  W&T  V'M  (Z  $)Z  &*Z  (+Z  *,Z  ,-Z  ..Z  0/Z  20Z  41Z  62Z  83Z  4Z  5Z  6Z  :7Z  8Z  <9Z  >:Z  @;Z  B<Z  ;=M  >U  ۠?U  @U  AU  BU  CU  DU  EU  FU  GU  HU  IU  _JT  KM  LZ  MZ  NZ  OZ  PZ  <QM  RU  )SU  TM  *UM =VG  >WK   10. eXG  @YG  AZG  B[M  n\M  ^]M  _^M  d_G  D`G  EaK   11. hbG GcG HdG IeM efM fgM JhG KiK  12. LjG Z MkG Z NlM Z omM Z rnM Z }oM M spM U tqM U urM U vsM U wtM U xuM U yvM U OwK  13. kxG  yG  QzG  R{M  |M  }M  ~M  M  M  M  M  M  M  M  M  M M  tK 14. G  M  M  M  M  ŢM  ΢M  ϢM  ТM  բM  CM G ٢M G ۢM G ݢM M ߢM M M M M G M K M 2\M cM hM M M M M }M M M M M M M M  M  "M  M  M  1M  2M  3M  M  G  G  G  G  G  G  K 15. TG G xG  yG  UK 16. pG WG XS R YR ZS R [R \S  R S R S R S R ]S R S R S R ^R  Q K Zdq U 3 5 M d{ U 6 8 M c/Z  V   /  =M ? pL$ W  ? pL ?p X G ?pG ?6 X 6U(u W [ ) W  (u W [ (u:(u: w2gE3 W [ * W gE3 W [ g:g: w1먝1 W [ + W 먝1 W [ 먝8먝8 w3H$ ڜ V H$ 3 UUdv  HaU ؜ V HaU ^R 4 K UUdw  HHМ V M HH 5 UUd} Z l" | V l" p6 pn{ 0>22 May 97 ? H } V H X 7 nx !.Running H/F 2-@#A $H~ V $H [ g8 UUdy  d U  H#*  V  H#* HR HR FootnoteHr7  V   Hr7 HzHz  Single Line H' V     Footnote . Y  M    HR<  Z   HR< HH  Double Line H  V    Double Line2 [    HV 4 [   H  V  @  Single Line7 [ HZ V  TableFootnoteϸE]G'E  V ϸE]G'E ϸEwPϸEwP  TableFootnoteodp5 U 9 9 Hz$Hܜ V $HI%%9  %TU TU hu The TK LibraryD RU+TU `~ Introduction and Warning @UU  }Dylan/TK is an experimental TK binding for the Mindy Dylan interpreter. Although it is definitely usable, it is not intended LUU lexto be an industrial strength product. The implementation strategy virtually guarantees that there will be some rough [ XUU@ edges. nUU( This binding operates by starting a  Fwish  interpreter as a slave process and passing both Tcl routines and data between the zUU wMindy interpreter and the slave process. However, Dylan/TK provides an abstraction layer that should vastly reduce or EUUH ~even eliminate the need for users to be familiar with the ETcl extension language. For example, the following Dylan code: UU  define constant text-frame V UU N= make(, height: 500, fill: both, side: bottom, expand: #t); UU define constant text-window UU tiK= make(, in: text-frame, relief: sunken, font: normal-font, forUU nt7fill: both, side: right, expand: #t); endUU  define constant text-scroll hӚUU@ le8 = scroll(text-window, in: text-frame, fill: y); sUU` Bcould be used to produce the effect as the following Tcl/Tk code: UU  "frame .text-frame -height 500 UU bo7pack .text-frame -fill both -side bottom -expand 1 (UU r ;text .text-frame.text -relief sunken -font normal-font tio4UU d Kpack .text-frame.text -in .text-frame -fill both -side right -expand 1 o b@UU e Dscrollbar .text-frame.scroll -command {.text-frame.text yview } LUU I.text-frame.text configure -yscrollcommand {.text-frame.scroll set } XUU@ 4pack .text-frame.scroll -in .text-frame -fill y nUU` anBwhile being considerably clearer to the average Dylan programmer. UU  nktNote: In order for this implementation to work you must have a copy of  wish  available on your system. This UU neximplementation was developed upon version 4.0 of Tcl/Tk but should work any version Tk implementation after 4.0. Since UU@ zversion 4 introduces incompatible changes, you should not (at present) expect all features to work with earlier versions. 7UTU ` raGeneral Principles ottUU  (In order to use Dylan/Tk, you should import module  Tk  from library Tk. This defines the    class, a variety of UU -{subclasses representing most of the Tk widgets, and a variety of support routines. All of these will be explained in some UUU t-detail below. However, the user will sometimes find that he can gain more information by going to the book  BTcl and the Tk ll UUH Toolkit  by  CJohn Osterhout, which explains the widgets behavior in more depth than is practical for this document. ion UU  ha~Any Dylan program which uses the  Tk  library will automatically create a top level window (which is accessible via the UU ldx*root-window*  variable) and a separate thread to process events upon that window. You build an interface by making ou$UU eslwidgets and packing them into windows -- either the root window, newly created top-level windows, or into 0UU@ tsubwindows of these windows. rFUU`  .An simple application might be the following: d_ U -su: : oth$H` V  is.$H e//UU: il/UU  w?define method main (program-name :: , #rest args); theUU anFmake(, text: Hello, world!, aspect: 500, side: top); UU e 3make(