diff --git a/CHANGES b/CHANGES index f23f9d9..921a4e4 100644 --- a/CHANGES +++ b/CHANGES @@ -1,7 +1,22 @@ +04/27/98 Release 3.99.1 +----------------------- + +Mainly minor correction to 3.99.0 (installation problems principally) + +Otherwise: + * Inclusion of the Metaclass init-keywords patch from J-M Kubek + , which allows to initialize some slots of + a class when declaring it. + + * Tk widgets can be initailized at creation time, even if they + are disabled (idea from Walter C. Pelissero + + + 04/10/98 Release 3.99.0 ----------------------- -This is the pre-4.0 release. Why is is not calles 4.0? Good question. +This is the pre-4.0 release. Why is is not called 4.0? Good question. This version would have been numbered 4.0 if there was not a so long time between this release and the previous one. Since I take so long to release, I had time to add a lot of things to my "TODO list". @@ -16,7 +31,7 @@ Here are the main visible changes from previous release: * A module system has been added * Integration of the Bigloo MATCH-CASE and MATCH-LAMBDA - primitives. Furthermore, the file bigloo.stk provide + primitives. Furthermore, the file bigloo.stk provides some compatibility between STk and bigloo modules. * A simple FFI has been added. It allows to access C functions without writing C code (works only on a @@ -28,7 +43,7 @@ Here are the main visible changes from previous release: REPL are now user definable. * report-error mechanism has been enhanced a lot (work is not completely achieved). - * new-primitives: append!, mast-pair, C-string->string, + * new-primitives: append!, last-pair, C-string->string, remove-file, rename-file, temporary-file-name, ... * Numerous bug corrections * ... @@ -72,6 +87,12 @@ Here are the main visible changes from previous release: method-generic-function, method-specializers method-procedure, remove-method change-object-class + + * When a class is redefined, the instances and methods which uses it + are redefined accordingly, as in CLOS (i.e. if you add a slot in a + class, all its -- direct or indirect -- instances will have the new + slot added dynamically. + * New kind of slot allocation: "active". An active slot is a slot for which you can put a daemon before or after its reading/writing diff --git a/ChangeLog b/ChangeLog index 468df64..2f7a82e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,88 @@ +1998-04-30 Erick Gallesio + + * STk-3.99.1 Release + + * STklos/stklos.stk (ensure-class): Inclusion of the Metaclass + init-keywords patch from J-M kubek , which + allows to initialize some slots of a class when declaring it. + + * Lib/bigloo.stk (module): The compatibility function between + bigloo modules and STk modules was not updated to the current + version of modules. Bug signaled by J-M kubek + + * STklos/stklos.stk (shallow-clone): usage of + class-definition-name instead of slot-definition-name in *-clone + functions. Bug signaled by Walter C. Pelissero + + + * Tcl/tclUnixPort.h: + * Tcl/Int.h: Path correction for accessing compatibility + files. This was needed for SunOS 4.3.x. + + * Extensions/Makefile.in : Don't trap errors when linking to see + that there are problems (particularly for Solaris). + +1998-04-27 Erick Gallesio + + * Installation process has been updated. + + * STklos/Tk/Button.stklos: The variable associated to a radio + button or check button was not using the environment. + + * STklos/Tk/Text.stklos: + * STklos/Tk/Entry.stklos: + * STklos/Tk/Scale.stklos: + * STklos/Tk/Basic.stklos: New function: initialize-value-slot + which allow to initialize this slot even if the state of the + widget is disabled. Idea from Walter C. Pelissero + + + +1998-04-26 Erick Gallesio + + * Src/toplevel.c: Correction of a long standing bug which causes + background STk to take all the CPU in some circumstances. It was + hard to track + +1998-04-22 Erick Gallesio + + * Src/tcl-glue.c (STk_valid_environment): Various problems + corrected with the new :environment options which is available on + widgets now. + + * Src/port.c (STk_flush): Bug correction. Trying to flush a string + port was erroneous. Bug signalled by Walter C. Pelissero + + +Mon Apr 20 20:52:21 1998 Erick Gallesio + + * Doc/Manual/repl-display-prompt.n: New documentation file. + + * Doc/Reference/*: Documentation update. + +Mon Apr 13 12:24:19 1998 Erick Gallesio + + * Demos/Html-demos/*: Adding the English demos which were + accidentally forgotten from the previous release + + +Sun Apr 12 14:13:05 1998 Erick Gallesio + + * Help/*: Pages were not regenerated and correspond to an old + version. + + * configure.in : Various correction in the installation process + which was wrong. The spec file for RPM and the STk.prj are now + auto generated at configuration time + Fri Apr 10 09:01:17 1998 Erick Gallesio * STk-3.99.0 release Wed Apr 8 17:02:26 1998 Erick Gallesio - * Src/*.c: Correction: stderr (instead of STk_stderr) was incorrectly - used in some places. + * Src/*.c: Correction: stderr (instead of STk_stderr) was + incorrectly used in some places. * Src/Stack: Code was absolutely incorrect for machine which don't support FFI. @@ -215,7 +292,7 @@ Thu Jan 8 12:27:44 1998 Erick Gallesio Sat Jan 3 16:50:55 1998 Erick Gallesio - * STk.prj: STk.prj has been completely redefines. Now PRCS + * STk.prj: STk.prj has been completely redefined. Now PRCS versions are in sync with STk version. Thu Jan 1 13:18:22 1998 Erick Gallesio diff --git a/Demos/Html-Demos/S-scape-en.html b/Demos/Html-Demos/S-scape-en.html new file mode 100644 index 0000000..5f2bdd8 --- /dev/null +++ b/Demos/Html-Demos/S-scape-en.html @@ -0,0 +1,33 @@ + + + + S-scape: The STk Web Browser. + + + +

S-scape: The STk Web Browser.

+ + S-scape is a Web browser

+

+
+
+ Top +
+
Erick Gallesio
+ + +Last modified: Mon Apr 13 11:59:20 CEST 1998 + + + diff --git a/Demos/Html-Demos/S-scape-fr.html b/Demos/Html-Demos/S-scape-fr.html index 12cf910..7c4d2b5 100644 --- a/Demos/Html-Demos/S-scape-fr.html +++ b/Demos/Html-Demos/S-scape-fr.html @@ -19,7 +19,7 @@
  • Permet de définir des "applets" en Scheme

  • Permet la consultation de pages distantes (e.g. - http://kaolin.unice.fr/) + http://kaolin.unice.fr/STk/)
    @@ -28,7 +28,7 @@
    Erick Gallesio
    -Last modified: Mon Mar 9 21:41:18 CET 1998 +Last modified: Mon Apr 13 09:25:03 CEST 1998 diff --git a/Demos/Html-Demos/amib-en.html b/Demos/Html-Demos/amib-en.html new file mode 100644 index 0000000..e2d63e2 --- /dev/null +++ b/Demos/Html-Demos/amib-en.html @@ -0,0 +1,63 @@ + + + + Building Interfaces in STklos + + + + + + + +

    + AMIB: A + Mini + Interface + Builder

    + +
    + +
    +
      +

    + Objective: Building Graphical Interfaces interactively

    +

      +
    • Written in STklos

      +

    • Provides +
        +
      • Interactive building of GUI; +
      • Save/Restore of built interfaces.

        +

      +
    • Uses the STklos Meta Object Protocol

      +

    • Code +
        +
      • generic (adding a new widget just consists in adding a line in + the program) +
      • just a demo (less than 600 lines of code!!)

        +

      + +
    • Launch a Demo of AMIB with + +
    +
    + +
    + Top +
    +
    Erick Gallesio
    + + +Last modified: Mon Apr 13 12:00:21 CEST 1998 + + + diff --git a/Demos/Html-Demos/amib-fr.html b/Demos/Html-Demos/amib-fr.html index 23ded11..c466d5d 100644 --- a/Demos/Html-Demos/amib-fr.html +++ b/Demos/Html-Demos/amib-fr.html @@ -57,7 +57,7 @@
    Erick Gallesio
    -Last modified: Tue Mar 10 18:41:48 CET 1998 +Last modified: Mon Apr 13 09:58:25 CEST 1998 diff --git a/Demos/Html-Demos/animate.stk b/Demos/Html-Demos/animate.stk index 59907e7..2851d74 100644 --- a/Demos/Html-Demos/animate.stk +++ b/Demos/Html-Demos/animate.stk @@ -10,7 +10,7 @@ ;;;; permission of the copyright holder. ;;;; This software is provided ``as is'' without express or implied warranty. ;;;; -;;;; $Id: animate.stk 1.1 Tue, 10 Mar 1998 21:43:37 +0100 eg $ +;;;; $Id: animate.stk 1.1 Tue, 10 Mar 1998 20:43:37 +0000 eg $ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 9-Mar-1998 18:51 diff --git a/Demos/Html-Demos/applet-en.html b/Demos/Html-Demos/applet-en.html new file mode 100644 index 0000000..bd257fa --- /dev/null +++ b/Demos/Html-Demos/applet-en.html @@ -0,0 +1,70 @@ + + + + Applets in STk + + + +

    Applets in STk

    +

    + + + + + S-scape allows the insertion of STk-code in a HTML page. +

    Examples: +

      +
    • Animation: + +

      +

    • Piece of embedded interface: + +

      +

    • Embedded application: + +
    + + +
    + Top +
    +
    Erick Gallesio
    + + +Last modified: Tue Mar 10 21:37:14 CET 1998 + + + diff --git a/Demos/Html-Demos/compo-en.html b/Demos/Html-Demos/compo-en.html new file mode 100644 index 0000000..0222d21 --- /dev/null +++ b/Demos/Html-Demos/compo-en.html @@ -0,0 +1,69 @@ + + + + Composite Widgets + + + + + + +

    Composite Widgets

    + + A composite widget is made by assembling several widgets (simple + or even composite widgets): + + +
    +     (define le (make <Labeled-entry> :value 50 :title "Valeur:"))
    +    
    + + + defines le as an instance of the <Labeled-entry> + class. This object, on a screen, gives: +

    +

    +

    +

    +
    +
    +
    +    
    + In fact, this widget is composed if three Tk basic widgets: a + frame, a label an an entry: +
    +
    +    
    +
    + + +

    +

    + +
    +
    +    
    +
      +
    • A demonstration of some composite widgets can be launched from here with: +
        +
      • the non-installed version of STk + (test-stk) +
      • the installed version of STk + (stk)

        +

      +
    • The complete code of the <Labeled-entry> class is approximatively 60 lines. +
    +
    +
    + Retour +
    +
    Erick Gallesio
    + + +Last modified: Mon Apr 13 12:08:18 CEST 1998 + + + diff --git a/Demos/Html-Demos/envdraw-en.html b/Demos/Html-Demos/envdraw-en.html index 28bb808..3ad8bba 100644 --- a/Demos/Html-Demos/envdraw-en.html +++ b/Demos/Html-Demos/envdraw-en.html @@ -4,15 +4,27 @@ Envdraw - -

    Envdraw

    + +

    Envdraw

    + +
    + +
    +
    +
    +
    EnvDraw is a environment diagramming package which draws environment -diagrams as taught in Abelson and Sussman's _Structure and -Interpretation of Computer Languages_. It was written as an +diagrams as taught in Abelson and Sussman's Structure and +Interpretation of Computer Languages. + +

    +It was written as an instructional tool for the CS61A course at the University of -California at Berkeley. The environment diagrammer is a metacircular +California at Berkeley. +

    +The environment diagrammer is a metacircular evaluator which draws procedures, environments, and box and pointer diagrams along with all the accompanying symbols and mutation. It includes a box and pointer diagrammer which handles circular list @@ -20,6 +32,15 @@ structures, cons cell mutation, and also will watch for modification of any symbols known to be pointing to drawn cells. +

    +Envdraw can be downloaded from the following URL: +http://kaolin.unice.fr/STk/Contribs + +


    + Top +
    +
    Erick Gallesio
    +< @@ -28,6 +49,7 @@ of any symbols known to be pointing to drawn cells.
    Erick Gallesio
    +Last modified: Mon Apr 13 12:15:49 CEST 1998 diff --git a/Demos/Html-Demos/envdraw-fr.html b/Demos/Html-Demos/envdraw-fr.html index 0726cf5..d4f5271 100644 --- a/Demos/Html-Demos/envdraw-fr.html +++ b/Demos/Html-Demos/envdraw-fr.html @@ -24,7 +24,7 @@ d'environnement tels qu'il sont pr

    Cet outil a été écrit comme un outil pédagogique pour le cours CS61A de l'Université de Berkeley (Californie). - +

    Envdraw est en fait un interprète méta-circulaire capable de dessiner des procedures, des environnement ainsi que des listes sous forme de boîtes (les listes circulaire sont gérées) @@ -33,7 +33,7 @@ modifications apport

    Envdraw peut être récupéré à l'URL suivante: -http://kaolin.unice.fr/Contribs +http://kaolin.unice.fr/STk/Contribs


    Retour @@ -41,7 +41,7 @@ Envdraw peut
    Erick Gallesio
    -Last modified: Tue Mar 10 21:24:50 CET 1998 +Last modified: Mon Apr 13 12:11:34 CEST 1998 diff --git a/Demos/Html-Demos/intro-en.html b/Demos/Html-Demos/intro-en.html new file mode 100644 index 0000000..faa8079 --- /dev/null +++ b/Demos/Html-Demos/intro-en.html @@ -0,0 +1,34 @@ + + + + STk/STklos Introduction + + + +

    STk/STklos Introduction

    +

    + + STk is a Scheme interpreter which

    +

      +
    • is able to access the Tk graphical toolkit

      +

    • eases the constrution of GUI

      +

    + STklos is the Object extension of STk

    +

      +
    • gives access to the Tk toolit as a hierarchy of objets

      +

    • eases the Tk toolkit programming

      + + +

    + A simple example written in STklos +
    +
    + Top +
    +
    Erick Gallesio
    + + +Last modified: Mon Apr 13 12:16:54 CEST 1998 + + + diff --git a/Demos/Html-Demos/main-en.html b/Demos/Html-Demos/main-en.html new file mode 100644 index 0000000..d5724ac --- /dev/null +++ b/Demos/Html-Demos/main-en.html @@ -0,0 +1,30 @@ + + + + Presentation of STk + + + +

    Presentation of STk

    + + + +
    +
    Erick Gallesio
    + + +Last modified: Mon Apr 13 09:57:17 CEST 1998 + + + diff --git a/Demos/Html-Demos/puzzle.stk b/Demos/Html-Demos/puzzle.stk index b0d0df3..4332808 100644 --- a/Demos/Html-Demos/puzzle.stk +++ b/Demos/Html-Demos/puzzle.stk @@ -10,7 +10,7 @@ ;;;; permission of the copyright holder. ;;;; This software is provided ``as is'' without express or implied warranty. ;;;; -;;;; $Id: puzzle.stk 1.1 Tue, 10 Mar 1998 21:43:37 +0100 eg $ +;;;; $Id: puzzle.stk 1.1 Tue, 10 Mar 1998 20:43:37 +0000 eg $ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 9-Mar-1998 21:11 diff --git a/Demos/Html-Demos/simple-en.html b/Demos/Html-Demos/simple-en.html new file mode 100644 index 0000000..613ac5a --- /dev/null +++ b/Demos/Html-Demos/simple-en.html @@ -0,0 +1,39 @@ + + + + STklos Example + + + +

    STklos Example

    + + Launch an xterm to test this program with +
      +
    • the non-installed version of STk + (test-stk) +
    • the installed version of STk + (stk) +
    +
    +
    +      (require "Tk-classes")
    +      (define l (make <Button>
    +                      :text    "Hello, world"
    +                      :font    "10x20"
    +                      :command (lambda () (exit 0))))
    +      (pack l)
    +     
    + + Cut the 3 expressions above and Paste them in the xterm + window as soon as it appears. + +
    + Top +
    +
    Erick Gallesio
    + + +Last modified: Mon Apr 13 10:13:04 CEST 1998 + + + diff --git a/Demos/Makefile b/Demos/Makefile old mode 100644 new mode 100755 index c828174..7a014da --- a/Demos/Makefile +++ b/Demos/Makefile @@ -4,22 +4,30 @@ include ../config.make -DEMODIR=$(libdir)/demos +DEMODIR=$(libdir)/Demos what: @echo "Type make install to install demos" install: -if [ ! -d $(DEMODIR) ] ; then mkdir -p $(DEMODIR); fi - for i in *.stk *.stklos Widget/*.stklos ; \ + chmod 0755 $(DEMODIR) + for i in *.stk *.stklos Widget/*.stklos *.html; \ do \ j=`basename $$i`; \ sed -e 's=/usr/local/lib/stk=$(libdir)=' \ -e 's=/usr/local/bin=$(bindir)=' $$i > $(DEMODIR)/$$j;\ done - for i in *.stk *.stklos ; \ + for i in *.stk *.stklos *.html; \ do \ chmod 0755 $(DEMODIR)/`basename $$i`; \ done + mkdir $(DEMODIR)/Html-Demos; chmod 0755 $(DEMODIR)/Html-Demos + cp Html-Demos/*.html $(DEMODIR)/Html-Demos + chmod 0644 $(DEMODIR)/Html-Demos/*.html + mkdir $(DEMODIR)/Html-Demos/Images; chmod 0755 $(DEMODIR)/Html-Demos/Images + cp Html-Demos/Images/* $(DEMODIR)/Html-Demos/Images + chmod 0644 $(DEMODIR)/Html-Demos/Images/* + (cd $(DEMODIR)/Html-Demos; ln -s ../amib.stklos ../stklos-widgets .) install.libs: diff --git a/Demos/browse.stk b/Demos/browse.stk index bd45af6..a4da791 100755 --- a/Demos/browse.stk +++ b/Demos/browse.stk @@ -8,7 +8,7 @@ ;;;; double-clicking. ;;;; This is a new version of the demo which can be run before STk is installed ;;;; -;;;; $Id: browse.stk 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $ +;;;; $Id: browse.stk 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 3-Aug-1993 17:33 diff --git a/Demos/browse.stklos b/Demos/browse.stklos index 3743fb3..7e73678 100755 --- a/Demos/browse.stklos +++ b/Demos/browse.stklos @@ -7,7 +7,7 @@ ;;;; directory and allows you to open files or subdirectories by ;;;; double-clicking. ;;;; -;;;; $Id: browse.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $ +;;;; $Id: browse.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 3-Aug-1993 17:33 diff --git a/Demos/calc.stklos b/Demos/calc.stklos index 534621c..5281bfc 100755 --- a/Demos/calc.stklos +++ b/Demos/calc.stklos @@ -13,7 +13,7 @@ ;;;; permission of the copyright holder. ;;;; This software is provided ``as is'' without express or implied warranty. ;;;; -;;;; $Id: calc.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $ +;;;; $Id: calc.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 6-Apr-1995 18:11 diff --git a/Demos/filebox.stklos b/Demos/filebox.stklos index b407232..13b35fe 100755 --- a/Demos/filebox.stklos +++ b/Demos/filebox.stklos @@ -16,7 +16,7 @@ ;;;; This software is a derivative work of other copyrighted softwares; the ;;;; copyright notices of these softwares are placed in the file COPYRIGHTS ;;;; -;;;; $Id: filebox.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $ +;;;; $Id: filebox.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $ ;;;; ;;;; Author: Erick Gallesio [eg@kaolin.unice.fr] ;;;; Creation date: 12-Jun-1994 11:24 diff --git a/Demos/term.stk b/Demos/term.stk index df62eb8..3869468 100755 --- a/Demos/term.stk +++ b/Demos/term.stk @@ -13,7 +13,7 @@ ;;;; permission of the copyright holder. ;;;; This software is provided ``as is'' without express or implied warranty. ;;;; -;;;; $Id: term.stk 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $ +;;;; $Id: term.stk 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 7-Oct-1995 10:39 diff --git a/Doc/Manual/Makefile b/Doc/Manual/Makefile index 0228f73..b1754e3 100644 --- a/Doc/Manual/Makefile +++ b/Doc/Manual/Makefile @@ -10,7 +10,7 @@ # # Author: Erick Gallesio [eg@unice.fr] # Creation date: 21-Oct-1994 11:25 -# Last file update: 30-Oct-1996 12:00 +# Last file update: 20-Apr-1998 21:43 include ../../config.make @@ -61,11 +61,10 @@ install.man: for i in *.n ;do \ $(CP) $$i $(MANN_DIR)/stk_$$i; \ done - ../../Src/test-stk -no -file make-link $(MANN_DIR) +# ../../Src/test-stk -no -file make-link $(MANN_DIR) clean: rm -f *~ very-clean: clean rm -f *.ps - \ No newline at end of file diff --git a/Doc/Manual/change-image.n b/Doc/Manual/change-image.n new file mode 120000 index 0000000..1756d9e --- /dev/null +++ b/Doc/Manual/change-image.n @@ -0,0 +1 @@ +make-image.n \ No newline at end of file diff --git a/Doc/Manual/find-image.n b/Doc/Manual/find-image.n new file mode 120000 index 0000000..1756d9e --- /dev/null +++ b/Doc/Manual/find-image.n @@ -0,0 +1 @@ +make-image.n \ No newline at end of file diff --git a/Doc/Manual/free-image.n b/Doc/Manual/free-image.n new file mode 120000 index 0000000..1756d9e --- /dev/null +++ b/Doc/Manual/free-image.n @@ -0,0 +1 @@ +make-image.n \ No newline at end of file diff --git a/Doc/Manual/links.stk b/Doc/Manual/links.stk deleted file mode 100644 index c307545..0000000 --- a/Doc/Manual/links.stk +++ /dev/null @@ -1,21 +0,0 @@ -;;;; -;;;; This file contains data for make-link.stk. -;;;; -;;;; Copyright © 1996-1997 Erick Gallesio - I3S-CNRS/ESSI -;;;; -;;;; Permission to use, copy, and/or distribute this software and its -;;;; documentation for any purpose and without fee is hereby granted, provided -;;;; that both the above copyright notice and this permission notice appear in -;;;; all copies and derived works. Fees for distribution or use of this -;;;; software or derived works may only be charged with express written -;;;; permission of the copyright holder. -;;;; This software is provided ``as is'' without express or implied warranty. -;;;; -;;;; Author: Erick Gallesio [eg@unice.fr] -;;;; Creation date: 30-Oct-1996 11:27 -;;;; Last file update: 17-Sep-1997 22:01 -;;;; - -(define *links* '( - ("create-image" "find-image" "change-image" "delete-image") -)) diff --git a/Doc/Manual/make-link.stk b/Doc/Manual/make-link.stk deleted file mode 100644 index 000cf3a..0000000 --- a/Doc/Manual/make-link.stk +++ /dev/null @@ -1,31 +0,0 @@ -;;;; -;;;; This script is executed for linking manual pages which are identical -;;;; Data are taken in the "links.stk" file -;;;; -;;;; Copyright © 1996 Erick Gallesio - I3S-CNRS/ESSI -;;;; -;;;; Permission to use, copy, and/or distribute this software and its -;;;; documentation for any purpose and without fee is hereby granted, provided -;;;; that both the above copyright notice and this permission notice appear in -;;;; all copies and derived works. Fees for distribution or use of this -;;;; software or derived works may only be charged with express written -;;;; permission of the copyright holder. -;;;; This software is provided ``as is'' without express or implied warranty. -;;;; -;;;; Author: Erick Gallesio [eg@unice.fr] -;;;; Creation date: 30-Oct-1996 11:27 -;;;; Last file update: 30-Oct-1996 12:32 -;;;; - -(load "links.stk") - -(define (make-link dir source destination) - (for-each (lambda (x) - (let ((cmd (format #f "cd ~A; rm -f stk_~A.n; ln stk_~A.n stk_~A.n" - dir x source x))) - (system cmd))) - destination)) - -(for-each (lambda (l) (make-link (car *argv*) (car l) (cdr l))) - *links*) -(exit 0) diff --git a/Doc/Manual/repl-display-prompt.n b/Doc/Manual/repl-display-prompt.n new file mode 100644 index 0000000..16dc2ec --- /dev/null +++ b/Doc/Manual/repl-display-prompt.n @@ -0,0 +1,45 @@ +'\" Color=Green +'\" +'\" +.so STk-man.macros +.TH repl-display-prompt n 3.99 STk "STk procedure" +.BS +'\" Note: do not modify the .SH NAME line immediately below! +.SH NAME +repl-display-prompt, repl-display-result \- Display a prompt/result in +interactive mode +.SH SYNOPSIS +(\fBrepl-display-prompt \fImodule\fR) +.br +(\fBrepl-display-result \fIvalue\fR) +.BE + +.SH DESCRIPTION +.PP +\fBRepl-display-prompt\fR is called by the interactive toplevel loop +before reading a \fIsexpr\fR. This procedure is called with one parameter: +the selected module in the toplevel loop. +.LP +A simple form of this procedure could be: + +.CS +(define (repl-display-prompt module) + (let ((p (current-error-port))) + (format p "~A> " (module-name module)) + (flush p))) +.CE + + +.PP +\fBRepl-display-result\fR is called by the interactive toplevel loop +after the evaluation of a \fIsexpr\fR. This procedure is called with the +result of this evaluation as parameter. + +.LP +A simple form, mimicking the MIT Scheme way of presenting results, could be: + +.CS +(define (repl-display-result value) + (format #t "\\n;Value: ~S\\n\\n" value)) +.CE + diff --git a/Doc/Manual/repl-display-result.n b/Doc/Manual/repl-display-result.n new file mode 120000 index 0000000..30abdfa --- /dev/null +++ b/Doc/Manual/repl-display-result.n @@ -0,0 +1 @@ +repl-display-prompt.n \ No newline at end of file diff --git a/Doc/Manual/report-error.n b/Doc/Manual/report-error.n index c46c2e9..b0b5884 100644 --- a/Doc/Manual/report-error.n +++ b/Doc/Manual/report-error.n @@ -23,7 +23,7 @@ causes the error (or the empty list when there is no object to incriminate). The STk library includes a default \fBreport-error\fR procedure that posts a dialog box containing the error message and offers the user a chance to see a stack trace showing where the -error occurred and its associated environment.. +error occurred and its associated environment. .PP If an error occurs while is \fBreport-error\fR execution, the interpreter detect that the procedure is buggy and it redirect further diff --git a/Doc/Manual/stk.1 b/Doc/Manual/stk.1 index d0d534e..b45d402 100644 --- a/Doc/Manual/stk.1 +++ b/Doc/Manual/stk.1 @@ -21,7 +21,7 @@ '\" ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO '\" PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. '\" -'\" $Id: stk.1 1.1 Sat, 03 Jan 1998 13:46:25 +0100 eg $ +'\" $Id: stk.1 1.2 Mon, 20 Apr 1998 20:15:01 +0000 eg $ '\" .so STk-man.macros .TH STk 1 4.0 STk "January_1998" @@ -172,6 +172,10 @@ variable is a list of paths to try when in a load command. This variable serves to initialize the \fI*help-path*\fR Scheme variable. It must contain a list of documentation directories. This variable is used by the help procedure. +.IP "\fISTK_IMAGE_PATH\fR" 15 +This variable serves to initialize the \fI*image-path*\fR Scheme variable. It +must contain a list of images directories. This variable is used by the make-image +procedure. .SH FILES diff --git a/Doc/Manual/stk.ps b/Doc/Manual/stk.ps index aa44553..5dcf416 100644 --- a/Doc/Manual/stk.ps +++ b/Doc/Manual/stk.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.11 -%%CreationDate: Fri Apr 10 09:05:16 1998 +%%CreationDate: Mon Apr 20 10:54:40 1998 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -496,24 +496,29 @@ F .525(ariable is a list)-.25 F(of paths to try when in a load command.) BP %%EndPageSetup /F0 10/Times-Roman@0 SF 175.12(STk\(1\) January_1998 STk\(1\))72 48 R/F1 -9/Times-Bold@0 SF(FILES)72 84 Q/F2 10/Times-Italic@0 SF(./init.stk)108 -96 Q($STK_LIBRAR)108 112.8 Q(Y/STk/init.stk)-.18 E F0(When)183 124.8 Q -/F3 10/Times-Bold@0 SF(stk)2.69 E F0 .19 -(starts running, it tries to load the \214le)2.69 F F2(init.stk)2.69 E +10/Times-Italic@0 SF(STK_IMA)108 84 Q(GE_P)-.35 E -.37(AT)-.9 G(H).37 E +F0 .137(This v)183 96 R .137(ariable serv)-.25 F .137 +(es to initialize the)-.15 F F1(*ima)2.637 E -.1(ge)-.1 G(-path*).1 E F0 +.137(Scheme v)2.637 F .137(ariable. It must contain a list)-.25 F +(of images directories. This v)183 108 Q(ariable is used by the mak)-.25 +E(e-image procedure.)-.1 E/F2 9/Times-Bold@0 SF(FILES)72 148.8 Q F1 +(./init.stk)108 160.8 Q($STK_LIBRAR)108 177.6 Q(Y/STk/init.stk)-.18 E F0 +(When)183 189.6 Q/F3 10/Times-Bold@0 SF(stk)2.69 E F0 .19 +(starts running, it tries to load the \214le)2.69 F F1(init.stk)2.69 E F0 .19(in the current directory)2.69 F 2.69(.I)-.65 G 2.69(ft)-2.69 G -.19(his \214le)-2.69 F 1.581 -(is not present, it tries to load this \214le in the)183 136.8 R F3 -(STk_LIBRAR)4.082 E(Y)-.35 E F0 1.582(directory \(the v)4.082 F 1.582 -(alue of)-.25 F F3(STk_LIBRAR)183 148.8 Q(Y)-.35 E F0 .244(is automatic\ -ally computed to be in a sibling directory of the interpreter)2.745 F --.15(exe)183 160.8 S(cutable.).15 E F2(~/.stkr)108 189.6 Q(c)-.37 E F0 -(Standard)47.32 E F2(init.stk)2.979 E F0 .479 -(\214le tries to load the \214le)2.979 F F2(~/.stkr)2.979 E(c)-.37 E F0 -2.979(.T)C .48(his \214le can be used to store functions)-2.979 F .704 -(de\214nitions or v)183 201.6 R .704(ariables settings that you w)-.25 F +.19(his \214le)-2.69 F 1.582 +(is not present, it tries to load this \214le in the)183 201.6 R F3 +(STk_LIBRAR)4.081 E(Y)-.35 E F0 1.581(directory \(the v)4.081 F 1.581 +(alue of)-.25 F F3(STk_LIBRAR)183 213.6 Q(Y)-.35 E F0 .244(is automatic\ +ally computed to be in a sibling directory of the interpreter)2.744 F +-.15(exe)183 225.6 S(cutable.).15 E F1(~/.stkr)108 254.4 Q(c)-.37 E F0 +(Standard)47.32 E F1(init.stk)2.98 E F0 .48 +(\214le tries to load the \214le)2.98 F F1(~/.stkr)2.979 E(c)-.37 E F0 +2.979(.T)C .479(his \214le can be used to store functions)-2.979 F .703 +(de\214nitions or v)183 266.4 R .704(ariables settings that you w)-.25 F .704(ant to be e)-.1 F -.15(xe)-.15 G .704(cuted at each interpreter in) -.15 F -.2(vo)-.4 G(ca-).2 E(tion.)183 213.6 Q F1(SEE ALSO)72 242.4 Q F0 -(wish\(1\))108 254.4 Q 208.58(STk 4.0)72 768 R(3)222.75 E EP +.15 F -.2(vo)-.4 G(ca-).2 E(tion.)183 278.4 Q F2(SEE ALSO)72 307.2 Q F0 +(wish\(1\))108 319.2 Q 208.58(STk 4.0)72 768 R(3)222.75 E EP %%Trailer end %%EOF diff --git a/Doc/Reference/Appendix-B.tex b/Doc/Reference/Appendix-B.tex index f42ab1e..8413cd9 100644 --- a/Doc/Reference/Appendix-B.tex +++ b/Doc/Reference/Appendix-B.tex @@ -3,7 +3,7 @@ % % Author: Erick Gallesio [eg@unice.fr] % Creation date: ??-Nov-1993 ??:?? -% Last file update: 8-Jul-1996 21:52 +% Last file update: 20-Apr-1998 11:54 % \newcommand{\schglob}[1]{*#1*} @@ -16,7 +16,8 @@ implementation and the language described in {\rrrr}. {\stk} symbol syntax has been augmented to allow case significant symbols. This extension is discussed in \ref{symbolsection}. -The following symbols are defined in the global environment. +\smallskip {\stk} also defines some symbols in the global environment +which are described below: \begin{itemize} @@ -34,7 +35,7 @@ The following symbols are defined in the global environment. each loaded file is printed before its effective reading. File names are printed on the standard error stream. - \item {\tt\schglob{load-path}}\schindex{\schglob{load-path}} must +\item {\tt\schglob{load-path}}\schindex{\schglob{load-path}} must contain a list of strings. Each string is taken as a directory path name in which a file will be searched for loading. This variable can be set automatically from the {\tt STK\_LOAD\_PATH} @@ -47,13 +48,7 @@ The following symbols are defined in the global environment. file does not exist, the system will sequentially try to find the file by appending each suffix of this list. A typical value for this variable may be {\tt ("stk" "stklos" "scm" "so")}. - - \item {\tt\schglob{help-path}}\schindex{help, - getting}\schindex{\schglob{help-path}} must contain a list of - strings. Each string is taken as a directory path name in which - documentation files are searched. This variable can be set - automatically from the {\tt STK\_HELP\_PATH} shell variable. See - {\tt stk(1)} for more details. + \item {\tt\schglob{argc}}\schindex{\schglob{argc}} contains the number of arguments (0 if none), not including interpreter @@ -70,14 +65,77 @@ The following symbols are defined in the global environment. See {\tt stk(1)} for more details. \item {\tt\schglob{print-banner}}\schindex{\schglob{print-banner}}. If - {\tt\schglob{print-verbose}} is {\schfalse}, the usual copyright + {\tt\schglob{print-banner}} is {\schfalse}, the usual copyright message is not displayed when the interpreter is started. +\item {\tt\schglob{stk-library}}\schindex{\schglob{stk-library}} + contains the path name of the installation directory of the + {\stk} library. This variable can be set automatically from the + {\tt STK\_LIBRARY} shell variable. See {\tt stk(1)} for more + details. + +\end{itemize} + +The following symbols are defined only when Tk is loaded: + +\begin{itemize} + \item {\tt\schglob{root}}\schindex{\schglob{root}} designates the Tk main window (see~A-\ref{root window}). This variable is not set if the Tk toolkit is not initialized. + +\item {\tt\schglob{help-path}}\schindex{help, + getting}\schindex{\schglob{help-path}} must contain a list of + strings. Each string is taken as a directory path name in which + documentation files are searched. This variable can be set + automatically from the {\tt STK\_HELP\_PATH} shell variable. See + {\tt stk(1)} for more details. + +\item {\tt\schglob{image-path}}\schindex{\schglob{image-path}} must contain + a list of strings. Each string is taken as a directory path name in which + images are searched by the function \texttt{make-image}. This variable can be + set automatically from the {\tt STK\_IMAGE\_PATH} shell variable. See + {\tt stk(1)} and {\tt make-image(n)} for more details. + +\item {\tt\schglob{root}}\schindex{\schglob{root}} designates the Tk main + window (see~A-\ref{root window}). This variable is not set if + the Tk toolkit is not initialized. + +\item {\tt\schglob{start-withdrawn}}\schindex{\schglob{start-withdrawn}}. If + \schglob{start-withdrawn} is not false, the \schglob{root} window + is not mapped on screen until its first sub-window is packed or some + action is asked to the window manager for it. + +\item {\tt\schglob{tk-version}}\schindex{\schglob{tk-version}} is a string + which contains the version number of the Tk toolkit used by {\stk}. + +\item {\tt\schglob{tk-patch-level}}\schindex{\schglob{tk-patch-level}} is + a string which contains the version and patch level of the Tk toolkit + used by {\stk}. + \end{itemize} +Furthermore, {\stk} also defines the following procedures in the global +environment: + +\begin{itemize} +\item \ide{report-error}. This procedure is called by the error system to + display the message error. This procedure is described in + {\tt report-error(n)} + +\item \ide{repl-display-prompt}. \label{repl-display-prompt} + This procedure is called when the system + is run interactively before reading a \emph{sexpr} to evaluate to display + a prompt. This procedure is described in {\tt repl-display-prompt(n)}. + +\item \ide{repl-display-result}. This procedure is called when the system + is run interactively after the evaluation of a \emph{sexpr} to write the + result. This procedure is described in {\tt repl-display-result(n)}. + +\end{itemize} + + + \section{Types} {\stk} implements all the types defined as mandatory in {\rrrr}. However, complex diff --git a/Doc/Reference/Appendix-C.tex b/Doc/Reference/Appendix-C.tex index ffe2636..74dbe48 100644 --- a/Doc/Reference/Appendix-C.tex +++ b/Doc/Reference/Appendix-C.tex @@ -3,7 +3,7 @@ % % Author: Erick Gallesio [eg@unice.fr] % Creation date: 22-May-1994 22:13 -% Last file update: 21-Jan-1996 17:35 +% Last file update: 22-Apr-1998 11:04 % \section{Introduction} @@ -388,8 +388,8 @@ So: These rules are used to compute a linear order for a class and all its superclasses, from most specific to least specific. This order is called the -``class precedence list'' of the class. Given those two rules, we can claim -that the initial form for the {\tt x} slot of previous example is 2 since the +``class precedence list'' of the class. Given these two rules, we can claim +that the initial form for the {\tt x} slot of previous example is 1 since the class {\tt X} is placed before {\tt Y} in class precedence list of {\tt Z}. This two rules are not always enough to determine a unique order, however, but @@ -517,7 +517,7 @@ the list of applicable methods. This is done by using the special form \begin{scheme} (define-method Test((a )) (cons 'integer (next-method))) (define-method Test((a )) (cons 'number (next-method))) -(define-method Test(a) (list 'top)) +(define-method Test(a) (list 'top)) \end{scheme} With those definitions, diff --git a/Doc/Reference/Appendix-E.tex b/Doc/Reference/Appendix-E.tex index 174b94b..0a251ec 100644 --- a/Doc/Reference/Appendix-E.tex +++ b/Doc/Reference/Appendix-E.tex @@ -3,7 +3,7 @@ % % Author: Erick Gallesio [eg@unice.fr] % Creation date: 21-Dec-1997 20:09 -% Last file update: 21-Dec-1997 21:56 +% Last file update: 18-Apr-1998 13:36 % \section*{Introduction} @@ -11,11 +11,63 @@ This appendix lists the main differences\footnote{ Only the differences which affect the language or new ports are reported here. In particular, internal changes, packages written in Scheme or - performance enhancement are not discussed here.}.among the various + performance enhancement are not discussed here.} among the various recent versions of STk. Differences with older versions as well as implementation changes are described in the CHANGES file located in the main directory of the STk distribution. +\section*{Release 3.99.0} +\small{\emph{Release date: 04/10/98}} + +Changes can be classified in three categories: +\begin{itemize} +\item About Scheme + \begin{itemize} + \item A module system has been added + + \item Integration of the Bigloo \ide{match-case} and + \ide{match-lambda} primitives. Furthermore, the file \emph{bigloo.stk} + provides some compatibility between {\stk} and bigloo modules. + + \item A simple Foreign Function Interface has been added. + + \item integrates the {\rfive} \ide{values} and \ide{call-with-values} + + \item multi-line comments have been added. + + \item new file primitives: \texttt{remove-file}, \texttt{rename-file} and + \texttt{temporary-file-name}. + + \item new list primitives: \texttt{append!}, \texttt{last-pair}, + \texttt{remq}, \texttt{remv} and \texttt{remove}. + + \item \texttt{load}, \texttt{try-load} and \texttt{autoload?} can nw + be called with a module as second parameter. If this second parameter is + present, the loading is done in the environment of the given module. + \end{itemize} + +\item About Tk + \begin{itemize} + \item Integration of the Tk8.0 toolkit + \item Buttons, Checkbuttons and Radiobuttons can use a + \texttt{:variable} and \texttt{:textvariable} in a given + environment. This environment is given with the new \texttt{:environment} + option. + \end{itemize} + +\item About STklos + \begin{itemize} + \item The MOP of {\stklos} is now very similar to the CLOS's MOP. In + particular generic function has been added for controlling slot + accesses, as well as numerous introspection functions. + \item When a class is redefined, the instances and methods which uses it + are redefined accordingly, as in CLOS (i.e. if anew slot is added in a + class, all its -- direct or indirect -- instances will have the new + slot added dynamically. + \end{itemize} +\end{itemize} + + \section*{Release 3.1.1} \small{\emph{Release date: 09/26/96}} diff --git a/Doc/Reference/Reference1.tex b/Doc/Reference/Reference1.tex index 0cd2280..c947af9 100644 --- a/Doc/Reference/Reference1.tex +++ b/Doc/Reference/Reference1.tex @@ -3,7 +3,7 @@ % % Author: Erick Gallesio [eg@unice.fr] % Creation date: ??-Nov-1993 ??:?? -% Last file update: 16-Dec-1997 19:09 +% Last file update: 18-Apr-1998 14:47 % \section*{Introduction} @@ -55,7 +55,7 @@ There are three types of comments in {\stk}: \begin{enumerate} \item a semicolon (;) indicates the start of a comment. This kind of comment extends to the end of the line (as described in \rrrr). -\item multi-lines comment use the classical lisp conventions: a comment +\item multi-lines comment use the classical Lisp convention: a comment begins with \verb+#|+ and ends with \verb+|#+. \item comments can also be introduced by \sharpsign$!$. This extension is particularly useful for building {\stk} scripts. On most @@ -88,14 +88,13 @@ This kind of comment extends to the end of the line (as described in \rrrr). \item[\tt\sharpsign.] is read as the evaluation of the Scheme expression {\tt }. The evaluation is done during the \ide{read} process, when the \var{\sharpsign.} is encountered. - Evaluation is done in the global environment. + Evaluation is done in the environment of the current module. \begin{scheme} (define foo 1) \sharpsign.foo \lev 1 '(foo \sharpsign.foo \sharpsign.(+ foo foo)) \lev (foo 1 2) (let ((foo 2)) \sharpsign.foo) \lev 1 - \end{scheme} \end{description} @@ -353,7 +352,30 @@ keywords into account. On keywords, \ide{eq?} behaves like \ide{eqv?}. \proto{list?}{ obj}{procedure} \proto{list}{ \var{obj} \dotsfoo}{procedure} \proto{length}{ list}{procedure} -\proto{append}{ list \dotsfoo}{procedure} +\proto{append}{ list \dotsfoo}{procedure}} +\saut +\doc +\end{entry} + +\begin{entry}{% +\proto{append!}{ list \ldots}{procedure}} +\saut + +Returns a list consisting of the elements of the first \var{list} +followed by the elements of the other lists, as with \texttt{append}. +The differenece with \texttt{append} is that the arguments are {\em + changed} rather than {\em copied}. +\begin{scheme} + (append! '(1 2) '(3 4) '(5 6)) \lev '(1 2 3 4 5 6) + (let ((l1 '(1 2)) + (l2 '(3 4)) + (l3 '(5 6))) + (append! l1 l2 l3) + (list l1 l2 l3)) \lev ((1 2 3 4 5 6) (3 4 5 6) (5 6)) +\end{scheme} +\end{entry} + +\begin{entry}{% \proto{reverse}{ list}{procedure} \proto{list-tail}{ list \vr{k}}{procedure} \proto{list-ref}{ list \vr{k}}{procedure} @@ -387,6 +409,17 @@ have been deleted. The predicate used to test the presence of \var{obj} in \end{scheme} \end{entry} +\begin{entry}{% +\proto{last-pair}{ list}{procedure}} +\saut +Returns the last pair of \var{list}\footnote{\ide{Last-pair} was a standard +procedure in {\rthree}.}. +\begin{scheme} +(last-pair '(1 2 3)) \lev 3 +(last-pair '(1 2 . 3)) \lev (2 . 3) +\end{scheme} +\end{entry} + \begin{entry}{% \proto{list*}{ obj}{procedure}} \saut @@ -1275,15 +1308,11 @@ undefined. Otherwise, it returns the handler currently associated to \begin{entry}{% \proto{load}{ filename}{procedure} -\proto{load}{ filename environment}{procedure}} +\proto{load}{ filename module}{procedure}} \saut The first form is identical to \rrrr{}. The second one loads the -content of \var{filename} in the given \var{environment}. So, the first -form is equivalent to -\begin{scheme} -(load filename (global-environment)) -\end{scheme} +content of \var{filename} in the given \var{module} environment. \begin{note} The \var{load} primitive has been extended to allow loading of object files, though this is not implemented on all systems. @@ -1296,13 +1325,13 @@ form is equivalent to \begin{entry}{% \proto{try-load}{ filename}{procedure} -\proto{try-load}{ filename environment}{procedure}} +\proto{try-load}{ filename module}{procedure}} \saut Tries to load the file named \var{filename}. If \var{filename} exists and is readable, it is loaded, and \ide{try-load} returns {\schtrue}. Otherwise, the result of the call is {\schfalse}. The second form of \var{try-load} tries to load the content of \var{filename} -in the given \var{environment}. +in the given \var{module} environment. \end{entry} \begin{entry}{% @@ -1310,16 +1339,17 @@ in the given \var{environment}. \saut Defines \hyper{symbol}s as autoload symbols associated to file \var{filename}. -Fisrt evaluation of an autoload symbol will cause the loading of its -associated file. \var{Filename} must provide a definition for the symbol which +First evaluation of an autoload symbol will cause the loading of its +associated file in the module environment in which the autoload was done. +\var{Filename} must provide a definition for the symbol which lead to its loading, otherwise an error is signaled. \end{entry} \begin{entry}{% -\proto{autoload?}{ symbol}{procedure}} +\proto{autoload?}{ symbol module}{procedure}} \saut -Returns {\schtrue} if \var{symbol} is an autoload symbol; returns {\schfalse} -otherwise. +Returns {\schtrue} if \var{symbol} is an autoload symbol in \var{module} +environment ; returns {\schfalse} otherwise. \end{entry} \begin{entry}{% diff --git a/Doc/Reference/Reference2.tex b/Doc/Reference/Reference2.tex index 7bba9b7..87c7bb3 100644 --- a/Doc/Reference/Reference2.tex +++ b/Doc/Reference/Reference2.tex @@ -3,7 +3,7 @@ % % Author: Erick Gallesio [eg@unice.fr] % Creation date: ??-Nov-1993 ??:?? -% Last file update: 6-Apr-1998 11:25 +% Last file update: 20-Apr-1998 11:58 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -342,11 +342,11 @@ they are automatically exported. \end{entry} \begin{entry}{% -\proto{with-module}{ module \hyperi{expr} \hyperii{expr} \ldots} {syntax}} +\proto{with-module}{ name \hyperi{expr} \hyperii{expr} \ldots} {syntax}} \saut Evaluates the expressions of \hyperi{expr} \hyperii{expr} \ldots in -the \var{module} environment. \var{Module} must have been created +the environment of module \var{name}. Module \var{name} must have been created previously by a \ide{define-module}. The result of \ide{with-module} is the result of the evaluation of the last \hyper{expr}. @@ -376,6 +376,34 @@ Returns the current-module. \end{scheme} \end{entry} +\begin{entry}{% +\proto{select-module}{ name} {syntax}} +\saut + +Evaluates the expressions which follows in module \var{name} +environment. Module \var{name} must have been created previously by a +\ide{define-module}. The result of \ide{select-module} is undefined. +\ide{Select-module} is particularly useful when debugging since it +allows to place toplevel evaluation in a particular module. The +following transcript shows an usage of +\ide{select-module}\footnote{This transcript uses the default value for the + function \texttt{repl-display-prompt} (see page \pageref{repl-display-prompt}) + which displays the name of the current module in the prompt.}: + +\begin{scheme} +STk> (define foo 1) +STk> (define-module bar + (define foo 2)) +STk> foo +1 +STk> (select-module bar) +bar> foo +2 +bar> (select-module STk) +STk> +\end{scheme} +\end{entry} + \begin{entry}{% \proto{module-name}{ module} {procedure}} \saut @@ -691,9 +719,6 @@ which does not exist). \proto{glob}{ \vri{pattern} \vrii{pattern} \dotsfoo} {procedure}} \saut -%%%%%%%%%%%%%% Irgendwann h"alt Gott seine Arme auf: -%%%%%%%%%%%%%% BIS HIERHIN UND NICHT WEITER! - The code for \ide{glob} is taken from the Tcl library. It performs file name ``globbing'' in a fashion similar to the csh shell. \ide{Glob} returns a list of the filenames that match at least one of @@ -727,6 +752,29 @@ check for existence is made unless a pattern contains a ?, \etoile, or construct. \end{entry} +\begin{entry}{% +\proto{remove-file}{ string} {procedure}} +\saut +Removes the file whose path name is given in \var{string}. +The result of \ide{remove-file} is undefined. +\end{entry} + +\begin{entry}{% +\proto{rename-file}{ \vri{string} \vrii{string}} {procedure}} +\saut +Renames the file whose path-name is contained in \vri{string} in the path +name given by \vrii{string}. The result of \ide{rename-file} is undefined. +\end{entry} + +\begin{entry}{% +\proto{temporary-file-name}{ string} {procedure}} +\saut + +Generates a unique temporary file name. The value returned by +\ide{temporary-file-name} is the newly generated name of {\schfalse} +if a unique name cannot be generated. +\end{entry} + \begin{entry}{% \proto{getcwd}{} {procedure}} \saut diff --git a/Doc/Reference/manual.dvi b/Doc/Reference/manual.dvi index 601f294..cf00bcb 100644 Binary files a/Doc/Reference/manual.dvi and b/Doc/Reference/manual.dvi differ diff --git a/Doc/Reference/manual.ps b/Doc/Reference/manual.ps index c2b192e..ded079e 100644 --- a/Doc/Reference/manual.ps +++ b/Doc/Reference/manual.ps @@ -1,14 +1,14 @@ %!PS-Adobe-2.0 %%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software %%Title: manual.dvi -%%Pages: 90 +%%Pages: 105 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentPaperSizes: A4 %%EndComments %DVIPSCommandLine: dvips -t a4 -f manual.dvi %DVIPSParameters: dpi=300, comments removed -%DVIPSSource: TeX output 1998.04.10:0942 +%DVIPSSource: TeX output 1998.04.20:1201 %%BeginProcSet: tex.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 @@ -451,230 +451,311 @@ FFFC00007FFFFE00001FFFFF000001FFFF8000001FFFC0000000FFE00000003FE0000000 0FF000000007F000000003F000000001F860000001F8E0000000F8E0000000F8E0000000 F8E0000000F8F0000000F8F0000000F0F0000000F0F8000001F0FC000001E0FC000003C0 FF000007C0FF80000F80FBE0001F00F1FE00FE00E07FFFF800E01FFFE000C001FF800025 -377BB52F>115 D E /Ff 14 118 df<78FCFCFCFC78000000000078FCFCFCFC7806117D -900C>58 D<1FF0303C701EF81FF81FF81F703E007C00F000C00180018003000300030003 -00000000000000000007800FC00FC00FC00FC00780101A7E9915>63 -D<1FF000383C007C1E007C0F007C0F00380F00000F0000FF000FCF003E0F007C0F00F80F -00F80F00F80F00F817007C27E01FC3E013117F9015>97 D -I<03FC000F0E001C1F003C1F00781F00780E00F80000F80000F80000F80000F800007800 -007800003C01801C03000F060003FC0011117F9014>I<0007E00007E00001E00001E000 -01E00001E00001E00001E00001E003F9E00F07E01C03E03C01E07801E07801E0F801E0F8 -01E0F801E0F801E0F801E07801E07801E03C01E01C03E00F0DF803F9F8151A7F9919>I< -03F0000E1C001C0E003C0700780700780780F80780F80780FFFF80F80000F80000780000 -7800003C01801C03000E060003FC0011117F9014>I<07F1C01C1EE0380EE0780FC0780F -00780F00780F00780F00380E001C1C0037F0002000003000003000003FFE001FFF801FFF -C07003C0E000E0E000E0E000E0E000E07001C03C078007FC0013197F9016>103 -D107 D109 DI<03F8000E0E003C07803803807803C07803C0F803E0F803E0F803E0F803 -E0F803E0F803E07803C07C07C03C07800E0E0003F80013117F9016>I114 -D117 D E /Fg -2 111 df<040C0000000000305898983030606464683006127E910B>105 -D<71F09A189C18981818183030303030323062606460380F0B7E8A13>110 -D E /Fh 3 108 df<0F88305860384018C008C008C008E00070007F003FE01FF003F800 -38001C000C800C800C800CC008E018D83087C00E177E9614>83 D<7FFFF8603818403808 -403808803804803804803804003800003800003800003800003800003800003800003800 -00380000380000380000380000380000380000380007FFC016177F961A>I107 D E /Fi 19 122 df<000C001C007000E001 -C0038007000E000C001C003800380030007000700070006000E000E000E0006000700070 -003000380018000C00060002000E1D779914>40 D<0100018000C0006000700030003800 -38003800380038003800380038003800380070007000E000E001C00180038007000E001C -007000E00080000D1D7D9914>I<0C1E3E1E1C00000000000070F0F8F0600710778F14> -58 D<030007800F800780070000000000000000000000000018003C003E003C001C000C -0018003000E000C0000915798F14>I<03980FFC1C78387830787078E070E070E070E070 -E0EEE0EEE1EE63EC7F7C1C380F107B8F14>97 D<03E007F00E381838383870006000E000 -E000E000E000E000E01070783FF81FE00D107A8F14>99 D<003E003E000E000E000E001C -001C039C0FFC1C78387830787078E070E070E070E070E0EEE0EEE1EE63EC7F7C1C380F17 -7B9614>I<03E007F81E1C381C301C7038E0F8FFE0FF80E000E000E000E01070783FF81F -E00E107A8F14>I<00F30003FB80070F000E0F000C0F001C0F00380E00380E00380E0038 -0E00381C00381C00383C00187C000FF80007B800003800003800007000007000C0E000E1 -C000FF80007E000011187C8F14>103 D<004000E00040000000000000000000000E003F -007380E380E380E780070007000E000E001E701C701C701CE00FC007000C187A9714> -105 D108 D<0DE3C00FF7E01F3E701E3C701E3C -701C38703C78E03870E03870E03871C070E1C070E1C070E18070E180E1C1C060C0C01410 -7E8F14>I<30F879FCFF8EFE0EFE0EFC0E3C1C381C381C3838703F703F70777076E03E60 -1C10107C8F14>I<03E007F00E38181C381C701C601CE01CE01CE018E038E070E06071C0 -3F801F000E107B8F14>I<070E000FBF800DF1801DE1C01DC1C01DC1C00381C00381C003 -81C00381C0078380078300078700078E000FFC000E70000E00000E00001C00001C00001C -00001C0000FF0000FF000012187F8F14>I<387E007CFF00EF8380EF0380EF0100EE0000 -1E00001C00001C00001C000038000038000038000038000070000030000011107B8F14> -114 D<01F807FC0C0E180E18041C000FC007F001F8001C000CE00CE00CE0387FF01FC00F -107C8F14>I<0180038003800380038007000700FFE0FFE00E000E000E000E001C001C00 -1C001C003870387038E038C01F800F000C177A9614>I<1C03003E0380770700E70700EE -0700EE07000E0E001C0E001C0E001C0E00381C00381C00183C001C7C000FF80007B80000 -380000300000700070E00070C0007380003F00001E000011187C8F14>121 -D E /Fj 6 116 df<07E100181B00200700600300C00300C00100C00100C00100E00000 +377BB52F>115 D E /Ff 15 124 df<78FCFCFCFC7800000000000078FCFCFCFC780612 +7D910D>58 D<0FF0303C601EF01FF81FF81F701F003E003C007000E001C0018001800300 +0300030003000300000000000000000007800FC00FC00FC00FC00780101D7D9C17>63 +D<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F07C03C07C07C07 +C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 DI<03FC000E0E001C1F003C1F00781F00780E00F80000F800 +00F80000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115 +>I<000FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F001 +F9F00F07F01C03F03C01F07801F07801F0F801F0F801F0F801F0F801F0F801F0F801F078 +01F07801F03C01F01C03F00F0FFE03F9FE171D7E9C1B>I<03FC000F07001C03803C01C0 +7801C07801E0F801E0F801E0FFFFE0F80000F80000F800007800007800603C00601E00C0 +0F038001FC0013127F9116>I<03F0F00E1F383C0F383807307807807807807807807807 +803807003C0F001E1C0033F0003000003000003000003FFF003FFFC01FFFE01FFFF07801 +F8F00078F00078F000787000707800F01E03C007FF00151B7F9118>103 +D107 D109 DI<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F800F8F8 +00F8F800F87800F07800F03C01E01E03C00F078001FC0015127F9118>I114 D117 D123 D E /Fg 2 +111 df<06070600000000384C4C8C98181830323264643808147F930C>105 +D<30F8590C4E0C9C0C980C180C180C30183019303130316032601C100D7F8C15>110 +D E /Fh 3 108 df<07E100181B00200700600300C00300C00100C00100C00100E00000 7000007E00003FE0001FFC0003FE00003F00000700000380000380800180800180800180 C00100C00300E00200DC0C0083F000111A7D9917>83 D<7FFFFF00701C0700401C010040 1C0100C01C0180801C0080801C0080801C0080001C0000001C0000001C0000001C000000 1C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C000000 1C0000001C0000001C0000001C000003FFE000191A7E991D>I107 DI<03F8000E0E001C07003803807001C07001C06000C0E000E0 -E000E0E000E0E000E0E000E0E000E07001C07001C03803801C07000E0E0003F80013137E -9218>111 D<1F9020704030C010C010C000E0007C007F803FC007E00070007000308030 -8030C020E0409F800C137E9211>115 D E /Fk 16 119 df<00000600001E0000780001 -E0000780001E0000380000E00003C0000F00003C0000F00000F000003C00000F000003C0 -0000E000003800001E000007800001E000007800001E00000617187D941E>60 -D62 D<000010000000300000007000000070000000F8000000B800000138 -00000238000002380000043800000C38000008380000103C0000101C0000201C0000401C -00007FFC0000801C0000801C0001001C0002001C0002000E0004000E000C000E001C000E -00FF00FFC01A1A7F991D>65 D<03FFFC000070070000700380007003C000E003C000E003 -C000E003C000E003C001C0078001C00F0001C01E0001C03C0003FFF80003803C0003801E -0003800F0007000F0007000F0007000F0007000F000E001E000E001E000E003C000E0078 -001C01E000FFFF80001A1A7E991D>I<0007E040003C18C000E005C001C003C003800180 -070001800E0001801C0001803C000100380001007800000078000000F0000000F0000000 -F0000000F0000000F0000400F0000400F0000400F0000800700010003000100038006000 -1C0080000703000001FC00001A1A7E991B>I<03FFF80000700F00007007800070038000 -E003C000E003C000E003C000E003C001C0078001C0070001C01E0001C0780003FFC00003 -8060000380300003803800070038000700380007003800070038000E0078000E0078000E -0078400E0078801C003C80FFC01F001A1A7E991D>82 D<001F080060D800803801003803 -001006001006001006001006000007000007C00003FC0001FF00007F80000FC00001C000 -01C00000C02000C02000C0600180600180600300700600CC1C0083F000151A7E9917>I< -000FC00001C00001C00001C000038000038000038000038000070000070003E700061700 -1C0E00380E00300E00700E00601C00E01C00E01C00E01C00E03900C03900E03900607900 -219A001E0E00121A7F9914>100 D<01F006081C04380470047008FFF0E000E000E000E0 -00E0046008601030600F800E107F8F12>I<0007C0000C60001CE00018C0003800003800 -00380000380000700000700007FF0000700000700000E00000E00000E00000E00000E000 -01C00001C00001C00001C00001C00001C000038000038000038000030000030000670000 -E60000CC000078000013217E9913>I<0300038003000000000000000000000000000000 -3C004E004E008E008E009C001C001C0038003800390071007100720072003C00091A7E99 -0D>105 D<703E0058C7009D03809E03809C03809C0380380700380700380700380E0070 -0E40700E40701C40701C80E00C8060070012107E8F17>110 D<30F059189E389C189C00 -9C0038003800380038007000700070007000E00060000D107E8F11>114 -D<03E006180818183818301C001FC00FE007F000700030E030E030806040C03F000D107E -8F12>I<06000E000E000E000E001C001C00FFE01C003800380038003800700070007000 -7000E080E080E100E100660038000B177E960E>I<380C4C0E4E0E8E069C069C061C0438 -0438043808700870083010382018400F800F107E8F13>118 D E -/Fl 59 122 df<60E0F0703010080507759914>18 D<183C3C1C08080810204080060B78 -990C>39 D<000400180030006000C0008001800300030006000E000C001C001800180038 -003000300070007000600060006000E000E000E000C000C000C000C000C0006000600060 -0020003000100008000E267B9B10>I<0040006000200030001000180018001800180018 -001800180018001800180018003800380030003000700070006000E000C000C001C00180 -03800300060006000C00180010002000400080000D267F9B10>I<183878380810102020 -4080050B7D830C>44 DI<3078F06005047C830C>I<000008 -0000180000180000300000300000600000600000C00000C0000180000300000300000600 -000600000C00000C0000180000300000300000600000600000C00000C000018000030000 -0300000600000600000C00000C0000180000180000300000600000600000C00000800000 -15257F9B14>I<007C000186000303000603000C03801C03801C03803803803803803803 -80700700700700700700700700E00E00E00E00E00E00E01C00E01C00E01800E030006060 -0030C0001F000011187C9714>I<000800180030007001F00E7000E000E000E000E001C0 -01C001C001C0038003800380038007000700070007000F00FFE00D187C9714>I<007C00 -0186000203000403800483800883801083801083801083801107001207000C0E00001C00 -0030000060000180000200000C00001001002001003C060067FE00C1FC0080F00011187D -9714>I<000300000380000700000700000700000E00000E00000E00001C00001C000018 -0000300000300000600000C00000C600018E00030E00021C00041C00081C00101C007FB8 -00807F80003800003800007000007000007000007000006000111F7F9714>52 -D<001E000061800180800303800603800E00001C000018000038000039F000721800740C -00780E00700E00F00E00E00E00E00E00E00E00E01C00E01C0060380060700030C0001F80 -0011187C9714>54 D<09C04017E0801FF1803C1F00300200600600400400800C00000800 -00180000300000300000700000600000E00000C00001C00001C000018000038000038000 -03800007000003000012187B9714>I<007C000186000703000E03000C03801C03803803 -80380380380380380780380700380F001817000C270007CE00000E00000C00001C000018 -00E03000E0600080C000C380003E000011187C9714>57 D<060F1E0C0000000000000000 -3078F06008107C8F0C>I<0000200000600000E00000E00001E00001F000027000027000 -047000087000087000107000107000207000407000407000803800FFF801003802003802 -0038040038040038080038180038FE01FF181A7E991D>65 D<03FFF800700E0070060070 -0700E00700E00700E00700E00701C00E01C01C01C03801C07003FFE00380780380380380 -1C07001C07001C07001C07001C0E00380E00380E00700E00E01C03C0FFFF00181A7D991B ->I<000F8200706200C01603801E07000C0E000C1C000C18000C38000830000870000070 -0000E00000E00000E00000E00000E00020E00020E00020E0004060004060008030010010 -06000C180003E000171A7A991B>I<03FFF80000700E00007007000070030000E0018000 -E0018000E0018000E001C001C001C001C001C001C001C001C001C0038003800380038003 -80038003800300070007000700070007000E0007000C000E001C000E0038000E0070000E -00E0001C038000FFFE00001A1A7D991D>I<03FFFF00700700700300700100E00100E001 -00E00100E00101C08001C08001C08001C18003FF00038100038100038100070200070004 -0700040700080E00080E00180E00100E00301C00E0FFFFE0181A7D991A>I<03FF007000 -70007000E000E000E000E001C001C001C001C0038003800380038007000700070007000E -000E000E000E001C00FF80101A7D990F>73 D<03FF0000700000700000700000E00000E0 -0000E00000E00001C00001C00001C00001C0000380000380000380000380000700000700 -100700100700200E00200E00600E00400E00C01C0380FFFF80141A7D9918>76 -D<03F8001FC00078003C000078003C000078005C0000B800B80000B800B800009C013800 -009C013800011C027000011C027000011C047000011C087000021C08E000021C10E00002 -1C10E000021C20E000041C41C000041C41C000041C81C000041C81C000080F038000080F -038000080E038000180C038000180C070000FE083FE000221A7D9922>I<03F007F80078 -00C00078008000780080009C0100009C0100009C0100008E0100010E0200010602000107 -0200010702000203840002038400020384000201C4000401C8000401C8000400E8000400 -E8000800F00008007000080070001800700018002000FE0020001D1A7D991D>I<001F80 -00706001C03003001806001C0E000C1C000C18000E38000E30000E70000E70000EE0001C -E0001CE0001CE00038E00038E00030E00070E000E0E000C06001807003003806001C1C00 -07E000171A7A991D>I<03FFF800701C00700600700700E00700E00700E00700E00701C0 -0E01C00E01C01C01C03803806003FF800380000380000700000700000700000700000E00 -000E00000E00000E00001C0000FF8000181A7D991A>I<03FFF000701C00700E00700700 -E00700E00700E00700E00701C00E01C01C01C03801C0E003FF800380C003806003807007 -00700700700700700700700E00E00E00E00E00E10E00E21C0062FF803C181A7D991C>82 -D<003F1000609001807001007003002006002006002006002006000007000007C00003F8 -0001FE00007F00000F80000380000180000180200180200180600300600300600600700C -00C8180087E000141A7D9916>I<3FFFFC381C0C201C04401C0440380480380480380480 -380400700000700000700000700000E00000E00000E00000E00001C00001C00001C00001 -C000038000038000038000038000078000FFF800161A79991B>I<7FE0FF0E00180E0010 -0E00101C00201C00201C00201C0020380040380040380040380040700080700080700080 -700080E00100E00100E00100E00200E00200E004006008006010003860000F8000181A78 -991D>I87 -D<01FF07F8007801C000380180003C0300001C0200001C0400001E0800000E1000000E20 -0000074000000780000007800000038000000380000007C0000009C0000011C0000020E0 -000040E0000080F0000100700003007000020078000C0038001C003800FF01FF001D1A7E -991D>I<007E007E00C000C000C000C00180018001800180030003000300030006000600 -060006000C000C000C000C00180018001800180030003000300030006000600060006000 -C000FC00FC000F257E9B0C>91 D<007E007E000C000C000C000C00180018001800180030 -003000300030006000600060006000C000C000C000C00180018001800180030003000300 -030006000600060006000C00FC00FC000F25819B0C>93 D<03CC0E2E181C381C301C701C -E038E038E038E038C072C072C07260F261341E180F107C8F14>97 -D<7E000E000E000E001C001C001C001C00380038003BC03C307830701870187018E038E0 -38E038E038C070C060C0E060C063801E000D1A7C9912>I<01E006180C18183830107000 -6000E000E000E000E000E008E010602030C01F000D107C8F12>I<001F80000380000380 -000380000700000700000700000700000E00000E0003CE000E2E00181C00381C00301C00 -701C00E03800E03800E03800E03800C07200C07200C0720060F2006134001E1800111A7C -9914>I<01E00E181C08380870087010FFE0E000E000E000E000E0086010602030C01F00 -0D107C8F12>I<000700000980001B80003B000038000030000070000070000070000070 -0007FF0000E00000E00000E00000E00000E00001C00001C00001C00001C00001C0000380 -00038000038000038000030000070000070000060000660000E40000CC00007000001121 -81990C>I<00F300038B800607000E07000C07001C0700380E00380E00380E00380E0030 -1C00301C00301C00183C0018780007B800003800003800007000607000E0E000C1C0007F -000011177E8F12>I<1F80000380000380000380000700000700000700000700000E0000 -0E00000E7C000F86001E07001E07001C07001C0700380E00380E00380E00381C00701C80 -701C80703880703900E01900600E00111A7E9914>I<030706000000000000384C4E8E9C -9C1C3838707272E2E4643808197C980C>I<000C000E000C000000000000000000000000 -00E001380238043804380438007000700070007000E000E000E000E001C001C001C001C0 -03806380E700CE0078000F2081980C>I<1F8003800380038007000700070007000E000E -000E0E0E131C271C431C801F003C003F8039C038E070E270E270E270E4E0646038101A7E -9912>I<1F0707070E0E0E0E1C1C1C1C3838383870707070E4E4E4E4E830081A7D990A>I< -307C1E00598663009E0783809E0703809C0703809C070380380E0700380E0700380E0700 -380E0E00701C0E40701C0E40701C1C40701C1C80E0380C80601807001A107C8F1F>I<30 -7C005986009E07009E07009C07009C0700380E00380E00380E00381C00701C80701C8070 -3880703900E01900600E0011107C8F16>I<01F006180C0C180E300E700E600EE00EE00E -E00CE01CE018E030606030C01F000F107C8F14>I<030F000590C009E0C009C06009C060 -09C0600380E00380E00380E00380E00701C00701800703800703000E8E000E78000E0000 -0E00001C00001C00001C00001C0000FF00001317808F14>I<03C20E2E181C381C301C70 -1CE038E038E038E038C070C070C07060F061E01EE000E000E001C001C001C001C01FF00F -177C8F12>I<30F05D189E389C189C009C0038003800380038007000700070007000E000 -60000D107C8F10>I<03E004300830187018601C001F801FC00FE000E00060E060E06080 -C041803E000C107D8F10>I<06000E000E000E000E001C001C00FFC01C00380038003800 -38007000700070007000E100E100E100E200E40038000A177C960D>I<38064C074E0E8E -0E9C0E9C0E1C1C381C381C381C7039703970393079389A0F0C10107C8F15>I<38184C1C -4E1C8E0C9C0C9C0C1C08380838083810701070107020304018C00F000E107C8F12>I<38 -0C104C0E384E1C388E1C189C1C189C1C181C381038381038381038381070702070702070 -704030704018B8800F0F0015107C8F19>I<38064C074E0E8E0E9C0E9C0E1C1C381C381C -381C703870387038307838F00F700070006060E0E1C0C18047003C0010177C8F13>121 -D E /Fm 6 106 df0 D<03C00FF01FF83FFC7FFE7FFE -FFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010107E9115>15 +03801C03C01C03E0FF87F815137F9218>107 D E /Fi 19 122 df<000E001E007800F0 +01C00380070007000E001C001C003800380070007000E000E000E000E000E000E000E000 +E000E000E000E000E0007000700038001C000E0006000F21769C16>40 +D<00C000E0007000700038001C001C001C001C000E000E000E000E000E000E001C001C00 +1C001C003800380070007000E001C001C0038007000E001C007800F000C0000F217C9C16 +>I<060F1F1E0C000000000000000070F0F8F0600812769116>58 +D<00C001E003E003C00180000000000000000000000000000000000C001E001E001E000E +000E001C003C007800F00040000B18799116>I<03C807FC0FFC1C7C3878383870387038 +E070E070E070E0F3E0E7E1E7E3E77FFE3F7C1C3810127A9116>97 +D<00F803FC07FE0F0E1C1E380E70007000E000E000E000E000E000F002700F3FFE1FFC0F +F010127A9116>99 D<003E007F003F000E000E000E000E03DC07FC0FFC1C7C3878383870 +387038E070E070E070E0F3E0E7E1E7E3E77FFE3F7C1C3810197A9816>I<00F803FC07FE +0F0E1C0E380E701E7FFCFFF8FFE0E000E000E000F002780F3FFE1FFC0FF010127A9116> +I<001E20007F7000FFF001E1F003C1E00381E00700E00700E00E01C00E01C00E01C00E03 +C00E03800E0780071F8007FF8003FF0001E700000700000700000E00000E00300E00783C +00FFF8007FF0003FC000141B7E9116>103 D<006000F000F0006000000000000000000F +001F803F8071C07380E380E3800700070007000E000E301C701C701CE01FE00FC007000C +1A799916>105 D<7F00FF807F8007000700070007000E000E000E000E001C001C001C00 +1C00380038003800386070E070E070E07FC03F800F000B19789816>108 +D<06F0F00FF9F80FFFFC0F9F9C1F1F1C1E1E1C1C1C1C1C1C1C3C3C383838383838383838 +70707070707070707060707070E0E07060603016127E9116>I<1C3C003EFE007FFF007F +C700EF8700EF0700EF07000E07001E0E001C0E001C0E001C1CC0381DC0381DC03839C038 +1F80701F00300E0012127C9116>I<01E007F00FF81E1C3C1C381E700E700EE01CE01CE0 +1CE038E038E07071E07FC03F801E000F127A9116>I<03878007CFC00FFFE00EF8E01CF0 +F01CF0701CE07000E07001C0E001C0E001C0E001C1C003C1C003C38003C78003FF00077E +000738000700000700000E00000E00000E00000E00007F8000FFC0007F8000141B7F9116 +>I<1C1F003E7F807FFFC077E1E0E7C0E0E781E0E781E00700C00F00000E00000E00000E +00001C00001C00001C00001C000038000018000013127B9116>114 +D<00FC0001FE0003FF000707800E07000E06000E000007F00003FC0000FE000007000007 +00700700F00700E01E00FFFC007FF8001FE00011127C9116>I<004000E000E001C001C0 +01C001C07FFCFFFC7FFC038007000700070007000E000E000E000E0C1C1C1C1C1C381FF0 +0FE007C00E197A9816>I<0E00801F01C03F81C07381C0738380E38380E703800703800E +07000E07000E07000E0F000E0E000E1E000E3E000FFE0007FC0003DC00001C00001C0000 +380038780078700071E0007FC0003F80001E0000121B7C9116>121 +D E /Fj 2 84 df<03FFF80000700F00007007800070038000E003C000E003C000E003C0 +00E003C001C0078001C0070001C01E0001C0780003FFC000038060000380300003803800 +070038000700380007003800070038000E0078000E0078000E0078400E0078801C003C80 +FFC01F001A1A7E991D>82 D<001F080060D8008038010038030010060010060010060010 +06000007000007C00003FC0001FF00007F80000FC00001C00001C00000C02000C02000C0 +600180600180600300700600CC1C0083F000151A7E9917>I E /Fk +6 116 df<03F0400C0CC01002C03001C06000C0E000C0E00040E00040E00040F00000F8 +00007E00007FE0003FFC001FFF0007FF80007F800007C00003E00001E00000E08000E080 +00E08000E0C000C0C000C0E00180D00300CE060081F800131E7D9C19>83 +D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F00 +20000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00 +00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F80 +0003FFFC001B1C7D9B21>I107 DI<01F800070E000C03001C03803801C07801E07000E0F000F0F000 +F0F000F0F000F0F000F0F000F0F000F07000E07801E03801C01C03801E0780070E0001F8 +0014157E941A>111 D<1F1030F06030C030C010C010E000E0007E003FC01FE003F00078 +00380018801880188010C030F0608F800D157E9413>115 D E /Fl +16 119 df<000001800000078000001E00000078000001E00000078000000E0000003800 +0000F0000003C000000F0000003C000000F0000000F00000003C0000000F00000003C000 +0000F0000000380000000E0000000780000001E0000000780000001E0000000780000001 +80191A7D9620>60 D62 D<00000C0000000C0000001C0000001C0000003C0000005C +0000005C0000009E0000008E0000010E0000020E0000020E0000040E0000040E0000080E +0000100E0000100E0000200700003FFF0000400700008007000080070001000700010007 +000200070004000700040007001C000780FF803FF01C1D7F9C1F>65 +D<01FFFF00003C01C0003800E0003800F0003800700038007000700070007000F0007000 +F0007001E000E003C000E0078000E01F0000FFFC0001C00F0001C0078001C003C001C003 +C0038003C0038003C0038003C0038003C0070007800700070007000E0007001C000E0078 +00FFFFC0001C1C7E9B1F>I<0001F808000E061800380138006000F001C0007003800070 +070000300F0000200E0000201C0000203C0000203C000000780000007800000078000000 +F0000000F0000000F0000000F0000000F0000100F0000100F00001007000020070000200 +30000400380008001C0010000E0060000701800000FE00001D1E7E9C1E>I<01FFFE0000 +3C03C0003800E0003800F00038007000380070007000F0007000F0007000F0007001E000 +E001C000E0078000E01E0000FFF00001C0380001C00C0001C00E0001C00E0003800E0003 +800E0003800E0003800E0007001E0007001E0807001E0807001E100F000F10FFE00F2000 +0003C01D1D7E9B20>82 D<000FC100303300400F00800601800603000603000606000406 +000407000007000007800003F00001FF0000FFC0003FE00003E00000F000007000003000 +00302000302000306000606000606000C0600080F00300CC060083F800181E7E9C19>I< +0007E00000E00000E00001C00001C00001C00001C000038000038000038000038001E700 +0717000C0F00180F00380E00300E00700E00700E00E01C00E01C00E01C00E01C00E03880 +E03880E038806078803199001E0E00131D7E9C16>100 D<01F007080C08180438083008 +70307FC0E000E000E000E000E000E0046008601030600F800E127E9113>I<0001E00006 +30000E78000EF0001C60001C00001C00001C00001C0000380000380003FFC00038000038 +0000700000700000700000700000700000E00000E00000E00000E00000E00001C00001C0 +0001C00001C00001C000018000038000038000630000F30000F60000E400007800001525 +7E9C14>I<01C003C003C001800000000000000000000000001C00270047004700870087 +000E000E001C001C001C003800388038807080710032001C000A1C7E9B0E>105 +D<3C1F004E61804681C04701C08F01C08E01C00E01C00E01C01C03801C03801C03801C07 +00380710380710380E10380E2070064030038014127E9119>110 +D<3C3C4E424687470F8E1E8E0C0E000E001C001C001C001C003800380038003800700030 +0010127E9113>114 D<01F0060C0C040C0E180C1C001F000FE00FF003F80038201C7018 +F018F010803060601F800F127E9113>I<00C001C001C001C00380038003800380FFF007 +00070007000E000E000E000E001C001C001C001C00382038203840384018800F000C1A80 +990F>I<1C03270747074703870187010E010E011C021C021C021C041804180818081C10 +0C2007C010127E9114>118 D E /Fm 7 58 df<0C001C00EC000C000C000C000C000C00 +0C000C000C000C000C000C000C000C000C000C00FFC00A137D9211>49 +D<1F0060C06060F070F030603000700070006000C001C00180020004000810101020207F +E0FFE00C137E9211>I<0FC030707038703870380038003000E00FC0007000380018001C +601CF01CF018E03860701FC00E137F9211>I<006000E000E00160026006600C60086010 +6020606060C060FFFC0060006000600060006003FC0E137F9211>I<60607FC07F804400 +4000400040004F0070C040E0006000700070E070E070E06040E021C01F000C137E9211> +I<0FC0107020186018601870183C303F600F800FE031F06078C01CC00CC00CC00C601830 +300FC00E137F9211>56 D<0F00308060404060C020C030C030C0304030607030B00F3000 +3000200060E040E08041003E000C137E9211>I E /Fn 60 122 df18 D<183C3C3C0404080810204080060C779C0D>39 +D<00030006000800180030006000C000C0018003000300060006000C000C001C00180018 +00380030003000700070006000600060006000E000E000E000E000E00060006000600060 +00600020003000100008000800102A7B9E11>I<001000100008000C0004000600060006 +00060006000700070007000700070006000600060006000E000E000C000C001C00180018 +0038003000300060006000C000C001800300030006000C00180010006000C000102A809E +11>I<183878380808101020404080050C7D830D>44 DI<30 +78F06005047C830D>I<00000200000600000600000C00000C0000180000300000300000 +600000600000C00000C0000180000180000300000600000600000C00000C000018000018 +0000300000300000600000C00000C0000180000180000300000300000600000C00000C00 +00180000180000300000300000600000600000C0000080000017297F9E15>I<003E0000 +E1800181C00300C00700C00600C00E00E00C00E01C00C01C00C01801C03801C03801C038 +01C0700380700380700380700380600700E00700E00600E00E00E00E00E00C00E0180060 +380060700030C0001F0000131D7C9B15>I<0004000C00180038007807B8007000700070 +007000E000E000E000E001C001C001C001C0038003800380038007000700070007000F00 +FFF00E1C7B9B15>I<003E000041800080C00100C00200E00440E00440E00840E00840E0 +0840E01081C01081C01103800E0300000600000C00001800006000008000030000040000 +0800401000802000802001007F070043FE0081FC00807800131D7D9B15>I<0001800001 +C0000380000380000380000300000700000700000600000E00000C00001C000018000018 +0000300000300000600000400000C600018E00010E00020E00061C000C1C00181C003F1C +0040F800803F8000380000380000700000700000700000700000E00000600012247E9B15 +>52 D<000F8000386000602000C0E00180E00300000600000E00000C00001C00001CF800 +3904003A06003C0300780300780300700380700300600700E00700E00700E00600E00E00 +E00C00601C0060180020300030C0000F8000131D7C9B15>54 D<09C0400FE0801FE1801C +6100302600201A00600400400C0080080080180000300000300000600000600000C00000 +C00001C0000180000380000300000700000700000700000E00000E00000E00001C00001C +0000180000121D799B15>I<001F000060C000C060018060030030030030060060070060 +0700C00780C003C10003E60001FC0000780001BC00061E000C0F00180700300380200380 +600180600180C00300C00300C006006004006008003830000FC000141D7D9B15>I<003E +0000E1000181800300C00600C00E00C00C00C01C00C01C00C01C01C03801C03801C03801 +C03803C0180380180780080B800C330003C700000700000E00000C00001C00001800E030 +00E0600080C000C180003E0000121D7C9B15>I<060F0F06000000000000000000003078 +F06008127C910D>I<0000180000001800000038000000380000007800000078000000B8 +00000138000001380000023C0000021C0000041C00000C1C0000081C0000101C0000101C +0000201C0000201C00007FFC0000C01C0000801C0001001C0001001E0002000E0002000E +0004000E000C000E001C001E00FF00FFC01A1D7E9C1F>65 D<01FFFF00003C0380003801 +C0003800E0003800E0003800E0007000E0007001E0007001E0007003C000E0038000E00F +0000E01E0000FFFC0001C00E0001C0070001C0078001C007800380078003800780038007 +800380078007000F0007000E0007001E0007003C000E00F000FFFFC0001B1C7E9B1D>I< +0003F020001E0C60003002E000E003C001C001C0038001C0070000C00E0000801E000080 +1C0000803C0000803C000000780000007800000078000000F0000000F0000000F0000000 +F0000000F0000400F0000400F0000400F000080070000800700010003800200018004000 +0C0180000706000001F800001B1E7A9C1E>I<01FFFF00003C03C0003800E0003800E000 +380070003800700070007800700038007000380070007800E0007800E0007800E0007800 +E0007801C000F001C000F001C000F001C000E0038001E0038001C0038003C00380038007 +00070007000E0007001C00070038000E00E000FFFF80001D1C7E9B1F>I<01FFFFF0003C +00F0003800300038002000380020003800200070002000700020007008200070080000E0 +100000E0100000E0300000FFF00001C0200001C0200001C0200001C02000038040800380 +00800380008003800100070001000700030007000200070006000E003C00FFFFFC001C1C +7E9B1C>I<03FF0078007000700070007000E000E000E000E001C001C001C001C0038003 +800380038007000700070007000E000E000E000E001E00FFC0101C7D9B10>73 +D<01FFC0003C0000380000380000380000380000700000700000700000700000E00000E0 +0000E00000E00001C00001C00001C00001C0000380020380020380020380040700040700 +0C0700180700380E00F0FFFFF0171C7E9B1A>76 D<01FE0001FE003E0001E0002E0003C0 +002E0005C0002E0005C0002E0009C0004E000B80004E001380004E002380004700238000 +870047000087004700008700870000870107000107010E000107020E000107040E000107 +040E000207081C000203881C000203901C000203A01C000403A038000403C038000403C0 +38000C038038001C03007800FF8307FF00271C7E9B25>I<01FC00FF80001C001C00002E +001800002E001000002E0010000027001000004700200000430020000043802000004380 +20000081C040000081C040000081C040000080E040000100E08000010070800001007080 +00010070800002003900000200390000020039000002001D000004001E000004000E0000 +04000E00000C000E00001C00040000FF80040000211C7E9B1F>I<0007F000001C1C0000 +700E0000E0070001C0038003800380070003800E0003C01E0003C01C0003C03C0003C03C +0003C0780003C0780003C0780003C0F0000780F0000780F0000780F0000F00F0000F00F0 +000E00F0001E00F0003C0070003800700070007800E0003801C0001C0380000E0E000003 +F800001A1E7A9C20>I<01FFFE00003C0380003801C0003800E0003800E0003800E00070 +01E0007001E0007001E0007001C000E003C000E0038000E0070000E01C0001FFF00001C0 +000001C0000001C000000380000003800000038000000380000007000000070000000700 +0000070000000F000000FFE000001B1C7E9B1C>I<01FFFE00003C0780003801C0003801 +E0003800E0003800E0007001E0007001E0007001E0007003C000E0038000E0070000E01C +0000FFE00001C0300001C0180001C01C0001C01C0003801C0003801C0003801C0003801C +0007003C0007003C2007003C2007003C200F003C40FFE01E8000000F001B1D7E9B1E>82 +D<000F8400304C00403C0080180100180300180300180600100600100600000700000700 +0003E00003FC0001FF00007F800007C00001C00001C00000C00000C02000C02000C06001 +80600180600300600200F00400CC180083E000161E7D9C17>I<1FFFFFC01C0701C0300E +00C0200E0080600E0080400E0080401C0080801C0080801C0080001C0000003800000038 +000000380000003800000070000000700000007000000070000000E0000000E0000000E0 +000000E0000001C0000001C0000001C0000001C0000003C000007FFE00001A1C799B1E> +I<7FF03FE00F0007000E0006000E0004000E0004000E0004001C0008001C0008001C0008 +001C00080038001000380010003800100038001000700020007000200070002000700020 +00E0004000E0004000E0004000E0008000E0008000E00100006002000060040000300800 +001830000007C000001B1D789B1F>I87 D<01FF81FE003E0078001C00 +60001C00C0001E0080000E0100000F02000007040000070800000790000003A0000003E0 +000001C0000001C0000001E0000002E0000004E0000008F0000010700000207000006038 +0000C0380000803C0001001C0002001C0006001E001E001E00FF007FC01F1C7E9B1F>I< +003F80007F0000600000600000600000C00000C00000C00000C000018000018000018000 +0180000300000300000300000300000600000600000600000600000C00000C00000C0000 +0C0000180000180000180000180000300000300000300000300000600000600000600000 +600000C00000C00000FE0000FE000011297E9E0D>91 D<003F80007F0000030000030000 +0300000600000600000600000600000C00000C00000C00000C0000180000180000180000 +180000300000300000300000300000600000600000600000600000C00000C00000C00000 +C000018000018000018000018000030000030000030000030000060000060000FE0000FE +00001129819E0D>93 D<01E307170C0F180F380E300E700E700EE01CE01CE01CE01CE039 +E039E0396079319A1E0C10127C9115>97 D<3F00070007000E000E000E000E001C001C00 +1C001C0039E03A183C0C380C700C700E700E700EE01CE01CE01CE018E038E030E06060C0 +31801E000F1D7C9C13>I<00F803040E041C0E181C300070007000E000E000E000E000E0 +00E0046008601030600F800F127C9113>I<0007E00000E00000E00001C00001C00001C0 +0001C000038000038000038000038001E7000717000C0F00180F00380E00300E00700E00 +700E00E01C00E01C00E01C00E01C00E03900E03900E03900607900319A001E0C00131D7C +9C15>I<00F807040C0418023804300470087FF0E000E000E000E000E000600460083010 +30600F800F127C9113>I<0003C0000670000C70001C60001C00001C0000380000380000 +380000380000380003FF8000700000700000700000700000700000E00000E00000E00000 +E00000E00001C00001C00001C00001C00001C00003800003800003800003000003000007 +0000C60000E60000CC00007800001425819C0D>I<0078C001C5C00303C00603C00E0380 +0C03801C03801C0380380700380700380700380700380E00380E00380E00181E000C7C00 +079C00001C00001C00003800003800C03000E07000C1C0007F0000121A7E9113>I<0FC0 +0001C00001C0000380000380000380000380000700000700000700000700000E3E000EC3 +000F03800E03801E03801C03801C03801C0380380700380700380700380E00700E40700E +40701C40701C80E00C80600700121D7E9C15>I<01800380010000000000000000000000 +000000001C002600470047008E008E000E001C001C001C00380038007100710071007200 +72003C00091C7C9B0D>I<00030007000300000000000000000000000000000078008C01 +0C020C021C041C001C001C0038003800380038007000700070007000E000E000E000E001 +C001C0C180E300C60078001024819B0D>I<0FC00001C00001C000038000038000038000 +0380000700000700000700000700000E07800E08800E11C00E21C01C41801C80001D0000 +1E00003FC00038E000387000387000707100707100707100707200E03200601C00121D7E +9C13>I<1F800380038007000700070007000E000E000E000E001C001C001C001C003800 +3800380038007000700070007000E200E200E200E40064003800091D7D9C0B>I<1C1E07 +80266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C0701 +C01C0701C01C070380380E0388380E0388380E0708380E0710701C0320300C01C01D127C +9122>I<383E004CC3004D03804E03809E03809C03801C03801C03803807003807003807 +00380E00700E40700E40701C40701C80E00C8060070012127C9117>I<00F800030C000E +06001C0300180300300300700380700380E00700E00700E00700E00E00E00E00E01C0060 +180060300030E0000F800011127C9115>I<03878004C86004D03004E03009C03009C038 +01C03801C0380380700380700380700380600700E00700C00701800783000E86000E7800 +0E00000E00001C00001C00001C00001C0000380000FF0000151A809115>I<01E107130C +0F180F380E300E700E700EE01CE01CE01CE01CE038E038E038607831F01E700070007000 +E000E000E000E001C00FF8101A7C9113>I<1C3C2642468747078E068E000E000E001C00 +1C001C001C0038003800380038007000300010127C9112>I<01F006080C080C1C18181C +001F001FC00FF007F0007800386030E030C030806060C01F000E127D9111>I<03000700 +070007000E000E000E000E00FFE01C001C001C0038003800380038007000700070007000 +E080E080E100E100660038000B1A7C990E>I<1C01802E03804E03804E03808E07008E07 +001C07001C0700380E00380E00380E00380E00301C80301C80301C80383C80184D000F86 +0011127C9116>I<1C062E0E4E064E068E028E021C021C02380438043804380830083008 +3010382018400F800F127C9113>I<1E01832703874703874703838707018707010E0701 +0E07011C0E021C0E021C0E021C0E04180C04181C04181C081C1E080C263007C3C018127C +911C>I<1C01802E03804E03804E03808E07008E07001C07001C0700380E00380E00380E +00380E00301C00301C00301C00383C001878000FB800003800003000007000E06000E0C0 +008180004300003C0000111A7C9114>121 D E /Fo 6 106 df0 D<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0 +FFFFC0FFFFC07FFF807FFF803FFF001FFE000FFC0003F00012127E9317>15 +D<000F0038006000E001C001C001C001C001C001C001C001C001C001C001C001C001C001 +C001C0038007001E00F8001E000700038001C001C001C001C001C001C001C001C001C001 +C001C001C001C001C001C000E000600038000F102D7DA117>102 +DI<0020006000C000C000C0 +01800180030003000300060006000C000C0018001800180030003000600060006000C000 +C000600060006000300030001800180018000C000C000600060003000300030001800180 +00C000C000C0006000200B2E7CA112>II E /Fp 9 108 df0 +D<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010107E +9115>15 D<00000030000000001800000000180000000018000000000C000000000C0000 +000006000000000300000000038000000000C0FFFFFFFFF8FFFFFFFFF800000000C00000 +000380000000030000000006000000000C000000000C0000000018000000001800000000 +1800000000300025167E942A>33 D<000003000000000180000000018000000000C00000 +0000E0000000006000FFFFFFF000FFFFFFFC000000000E00000000038000000001E00000 +00007800000000E0000000038000000007000000000C00FFFFFFF800FFFFFFF000000000 +6000000000C000000000C00000000180000000018000000003000025187E952A>41 D<003C00E001C00180038003800380038003800380038003800380038003800380038003 0007001C00F0001C00070003000380038003800380038003800380038003800380038003 800380018001C000E0003C0E297D9E15>102 DII E /Fn 9 108 df0 D<07801FE03FF07FF87FF8FFFC -FFFCFFFCFFFCFFFCFFFC7FF87FF83FF01FE007800E107E9013>15 -D<00000180000000018000000000C000000000C000000000600000000060000000003000 -00000018000000000C00FFFFFFFF80FFFFFFFF800000000C000000001800000000300000 -000060000000006000000000C000000000C0000000018000000001800021147E9226>33 -D<000018000000000C000000000C0000000006000000000700000000030000FFFFFFC000 -FFFFFFE00000000038000000001E0000000007800000000E0000000038000000007000FF -FFFFC000FFFFFF800000000300000000060000000006000000000C000000000C00000000 -18000021167E9326>41 D<003C00E001C003800380038003800380038003800380038003 -8003800380038007001E00F8001E00070003800380038003800380038003800380038003 -8003800380038001C000E0003C0E257E9B13>102 DI<0080018003 -0003000300060006000C000C000C0018001800180030003000600060006000C000C00060 -0060006000300030001800180018000C000C000C00060006000300030003000180008009 -267D9B0F>II<8040C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 -C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 -C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C080400A267C9B13>107 -D E /Fo 45 122 df<60F0F0F0F0F0F0F0F0F0F0700000000060F0F0600414799312>33 -D<0100030003000F803FE073704338C338C338C31073007F003FC00FE003F003384318E3 -18E318E33073603FC00F800300030001000D1A7E9612>36 D<60F0F878181818303060C0 -80050C799312>39 D<0180038006000C0018003800300070007000E000E000E000E000E0 -00E000E000700070003000380018000C0006000380018009197B9612>I<80C06030181C -0C0E0E070707070707070E0E0C1C183060C08008197C9612>I<070007000700E738FFF8 -7FF01FC01FC07FF0FFF8E7380700070007000D0E7E9012>I<0380038003800380038003 -80FFFEFFFEFFFE0380038003800380038003800F0F7F9112>I45 D<60F0F0600404798312>I<0018003800380070007000E000E001C001C001C003 -800380070007000E000E001C001C001C003800380070007000E000E000C0000D1A7E9612 ->I<07C00FE01C703838701C701CE00EE00EE00EE00EE00EE00EE00EE01E701C701C3838 -1C700FE007C00F147F9312>I<060006000E001E00FE00EE000E000E000E000E000E000E -000E000E000E000E000E000E00FFE0FFE00B147D9312>I<0F803FC070E0E070E038E038 -403800380030007000E000C00180030006000C00183830387FF87FF80D147E9312>I<0F -C03FF07838701C201C001C0038007007E007F00038001C000E000E400EE00EE01C78383F -F00FC00F147F9312>I<00F001F00370037006700E700C701C70387038707070E070FFFE -FFFE007000700070007003FE03FE0F147F9312>I<60F0F06000000000000060F0F06004 -0E798D12>58 D<60F0F06000000000000060F0F070303060C0800413798D12>I<001800 -7800F801E007C00F801E003C00F800F000F8003C001E000F8007C001E000F8007800180D -137E9312>I62 D<7FFEFFFEE38EE38EE38E03800380038003800380 -038003800380038003800380038003800FE00FE00F147F9312>84 -D86 D<1FC0003FF000383800101C00001C0007FC003FFC00781C -00E01C00E01C00E01C00703C003FFF801FCF80110E7F8D12>97 DI<07F01FF8383870106000E000E000E000E0006000703838381FF007E00D0E7E8D12>I< -00F800F8003800380038003807B81FF8387870386038E038E038E038E038603870783878 -1FFE0FBE0F147F9312>I<07801FE0387070706038E038FFF8FFF8E0006000703838381F -F007C00D0E7E8D12>I<007E00FF01C70382038003807FFEFFFE03800380038003800380 -038003800380038003803FF83FF81014809312>I<0F9E1FFF38E7707070707070707038 -E03FC03F8070003FE03FF83FFC701EE00EE00EE00E600C783C1FF00FE010167F8D12>I< -F800F800380038003800380039E03FF03E383C3838383838383838383838383838383838 -FE3EFE3E0F147F9312>I<06000F000F0006000000000000007F007F0007000700070007 -00070007000700070007000700FFF0FFF00C157D9412>I107 -DIII<0F803FE038E07070E038E038 -E038E038E038F078707038E03FE00F800D0E7E8D12>II< -079C1FFC387C703C601CE01CE01CE01CE01C601C703C387C1FFC079C001C001C001C001C -001C007F007F10157F8D12>II<1FF03FF06070C070E0007F003FE00FF000786018E018F030 -FFE0DFC00D0E7E8D12>I<06000E000E000E007FF8FFF80E000E000E000E000E000E000E -000E1C0E1C0E1C07F801E00E127F9112>IIII<7C7C7C7C1CF00EE00FC007C00380078007C00EE01E -F01C70FC7EFC7E0F0E7F8D12>II -E /Fp 21 119 df<000180000180000380000380000780000780000B8000138000138000 -21C00021C00041C00081C00081C00101C001FFC00201C00201C00401C00801C00801C018 -01E0FE07F815177E961A>65 D<03FE0000E00000E00000E00000E00001C00001C00001C0 -0001C0000380000380000380000380000700000700200700200700400E00400E00C00E00 -800E01801C0780FFFF0013177E9616>76 D<03FFE000E03800E01C00E01C00E01C01C01C -01C01C01C01C01C0380380700381C003FF000381800700C00700E00700E00700E00E01C0 -0E01C00E01C20E01C21C00C4FF807817177E961A>82 D<007C4001828003018006018006 -01800C01000C01000E00000E00000FC00007F80003FC00007C00000E00000E0000060020 -0600400C00400C00600800601000D8600087C00012177D9614>I<03900C701870303030 -60606060606060C0C0C0C840C841C862D01C700D0E7C8D12>97 D<07C00C6030E020E060 -00C000C000C00080008000C020C04061803E000B0E7C8D10>99 D<003E000C000C000C00 -0C001800180018001803B00C70187030303060606060606060C0C0C0C840C841C862D01C -700F177C9612>I<07801840302060206040FF80C000C000C000C000C020C04061803E00 -0B0E7C8D10>I<01C4063C0C1C181C1818301830183018203020302030307011E00E6000 -60006060C0E0C0C3807E000E147E8D10>103 D<1F0006000600060006000C000C000C00 -0C0019E01A301C10181030303030303030306060606460C460C8C048C0700E177D9612> -I<030706000000000000182C4C4C8C18181830326264243808177D960B>I<3E0C0C0C0C -181818183030303060606060C0C8C8C8D06007177D9609>108 D<30783C00498CC6004E -0502004C0602009C0E0600180C0600180C0600180C060030180C0030180C803018188030 -1818806030090060300E00190E7D8D1D>I<3078498C4E044C049C0C180C180C180C3018 -3019303130316012601C100E7D8D14>I<078018C0304060606060C060C060C06080C080 -C08180C10046003C000B0E7B8D12>I<0C3812C41306130626060606060606060C0C0C0C -0C180C101A2019C018001800300030003000FC000F147F8D12>I<30F04B184E384C3098 -001800180018003000300030003000600060000D0E7D8D0F>114 -D<07800C4018E018E038001E001F8007C000C060C0E0C0C180C3003E000B0E7D8D0F>I< -060006000C000C000C000C00FF8018001800180030003000300030006000610061006200 -6400380009147D930C>I<38042C0C4C0C4C0C8C18181818181818303030323032307218 -B40F1C0F0E7D8D13>I<38102C184C184C188C1018101810181030203020304030401880 -0F000D0E7D8D10>I E /Fq 66 122 df<00FCF807839C0E079C1C07081C07001C07001C -07001C07001C0700FFFFE01C07001C07001C07001C07001C07001C07001C07001C07001C -07001C07001C07001C07007F1FE01617809615>11 D<00FC000782000E07001C07001C02 -001C00001C00001C00001C0000FFFF001C07001C07001C07001C07001C07001C07001C07 -001C07001C07001C07001C07001C07007F1FC01217809614>I<60C0F1E0F1E070E01020 -102020402040408040800B0A7F9612>34 D<60F0F070101020204040040A7D960A>39 -D<0102040C1818303070606060E0E0E0E0E0E0E0E0E0E060606070303018180C04020108 -227D980E>I<8040203018180C0C0E060606070707070707070707070606060E0C0C1818 -3020408008227E980E>I<60F0F070101020204040040A7D830A>44 -DI<60F0F06004047D830A>I<07C018303018701C600C600CE00E -E00EE00EE00EE00EE00EE00EE00EE00E600C600C701C30181C7007C00F157F9412>48 -D<06000E00FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E -000E000E00FFE00B157D9412>I<0F8030E040708030C038E03840380038007000700060 -00C00180030006000C08080810183FF07FF0FFF00D157E9412>I<0FE030306018701C70 -1C001C00180038006007E000300018000C000E000EE00EE00EC00C401830300FE00F157F -9412>I<00300030007000F001F001700270047008701870107020704070C070FFFE0070 -007000700070007003FE0F157F9412>I<60307FE07FC0440040004000400040004F8070 -E040700030003800384038E038E0388030406020C01F000D157E9412>I<01F00608080C -181C301C70006000E000E3E0EC30F018F00CE00EE00EE00E600E600E300C3018183007C0 -0F157F9412>I<07E018302018600C600C700C78183E101F6007C00FF018F8607C601EC0 -0EC006C006C004600C38300FE00F157F9412>56 D<07C0183030186018E00CE00CE00EE0 -0EE00E601E301E186E0F8E000E000C001C70187018603020E01F800F157F9412>I<60F0 -F06000000000000060F0F060040E7D8D0A>I<00FC000303000C00C01000202078102184 -104302084701C88601C48E01C48E01C48E01C48E01C48E01C48601C44701C44303C42184 -C82078701000000C001C0300F000FF0016177E961B>64 D66 -D<00FC100383300E00B01C0070380030300030700010600010E00010E00000E00000E000 -00E00000E00000E000106000107000103000203800201C00400E008003830000FC001417 -7E9619>II70 D<007E080381980600580C003818001830001870000870 -0008E00008E00000E00000E00000E00000E003FEE000387000387000383000381800380C -00380600380380D8007F0817177E961C>III<0FF800E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000 -E000E0E0E0E0E0C1C061801F000D177E9612>I76 DII<00FC000303000E01C01C00E038007030 -0030700038600018E0001CE0001CE0001CE0001CE0001CE0001CE0001C70003870003830 -00303800701C00E00E01C003030000FC0016177E961B>II<0FC4302C601C400C -C004C004C004E00070007F003FE00FF801FC001C000E0006800680068006C004E008D810 -87E00F177E9614>83 D<7FFFF86038184038084038088038048038048038040038000038 -000038000038000038000038000038000038000038000038000038000038000038000038 -0000380003FF8016177F9619>II87 -DI91 D<204020404080408081008100E1C0F1E0F1E060C00B0A7B9612> -II<3FC0706070302038003803F81E3830387038E039E039E07970FF1F1E100E7F -8D12>97 DI<07F01838303870106000E000E000E000E000600070083008183007 -C00D0E7F8D10>I<003E00000E00000E00000E00000E00000E00000E00000E00000E0007 -CE001C3E00300E00700E00600E00E00E00E00E00E00E00E00E00600E00700E00301E0018 -2E0007CF8011177F9614>I<0FC0186030307038E018FFF8E000E000E000600070083010 -183007C00D0E7F8D10>I<03E006700E701C201C001C001C001C001C00FF801C001C001C -001C001C001C001C001C001C001C001C001C007F800C1780960B>I<0F9E18E330607070 -70707070306018C02F80200060003FE03FF83FFC600EC006C006C006600C38380FE01015 -7F8D12>II<307878300000000000F8383838383838383838383838FE07177F96 -0A>I<0300078007800300000000000000000000001F8003800380038003800380038003 -80038003800380038003800380038003804380E300E7007C00091D82960B>IIIII<07C018303018600C600CE00EE00EE00EE00EE00E701C301818 -3007C00F0E7F8D12>II<07C2001C2600381E00700E00600E00E00E00E00E00E00E00E00E00600E0070 -0E00301E001C2E0007CE00000E00000E00000E00000E00000E00003F8011147F8D13>I< -F9E03A703C703820380038003800380038003800380038003800FF000C0E7F8D0E>I<1F -4060C0C040C040E000FF007F801FC001E080608060C060E0C09F000B0E7F8D0E>I<0800 -08000800180018003800FFC0380038003800380038003800380038403840384038401C80 -0F000A147F930E>IIIIII E /Fr 10 58 df<1F00318060C04040C060C060C060C060C060C060C0 -60C060404060C031801F000B107F8F0F>48 D<187898181818181818181818181818FF08 -107D8F0F>I<1F00618040C08060C0600060006000C00180030006000C00102020207FC0 -FFC00B107F8F0F>I<1F00218060C060C000C0008001001F00008000400060C060C06080 -4060801F000B107F8F0F>I<01800180038005800D801980118021804180C180FFE00180 -0180018001800FE00B107F8F0F>I<20C03F802E002000200020002F0030802040006000 -600060C06080C061801F000B107F8F0F>I<0780184030C060C06000C000CF00F080E040 -C060C060C060406060C030801F000B107F8F0F>I<40007FF07FE0804080400080010002 -0002000600040004000C000C000C000C000C000C117F900F>I<1F00318060C060C060C0 -31803F000E00338061C0C060C060C060C04060C01F000B107F8F0F>I<1F00318060C0C0 -40C060C060C06040E021E01E600060004060C0608063001E000B107F8F0F>I -E /Fs 84 125 df<00FE7C0381C60603CE0E03841C03801C03801C03801C03801C03801C +10>I<8010C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C0 +30C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C0 +30C030C030C030C030C030C03080100C2A7C9E15>107 D E /Fq +46 122 df<60F0F0F0F0F0F0F0F0F0F0F0F0F0600000000060F0F0600417789614>33 +D<00800180018007E01FF039BC619CC18EC18EC18EE18471807F801FE00FF001F8019C01 +8E4186E186E186E186718C39B81FF00FC00180018000800F1D7E9914>36 +D<60F0F878181818303060C080050C789614>39 D<0180038006000C001C001800380070 +0070007000E000E000E000E000E000E000E000E000E000700070007000380018001C000C +00060003800180091D799914>I<80C0603038181C0E0E0E0707070707070707070E0E0E +1C18383060C080081D7C9914>I<038003800380638CF39E7FFC3FF80FE00FE03FF87FFC +F39E638C0380038003800F107E9214>I<01C00001C00001C00001C00001C00001C00001 +C000FFFF80FFFF80FFFF8001C00001C00001C00001C00001C00001C00001C00011117F93 +14>I45 D<70F8F8F8700505798414>I<0006000E000E001C +001C003800380070007000E000E001C001C0038003800380070007000E000E001C001C00 +3800380070007000E000E000C0000F1D7E9914>I<07C00FE01C7038383018701C701CE0 +0EE00EE00EE00EE00EE00EE00EE00EE00E701C701C383838381C700FE007C00F177E9614 +>I<0300030007000F003F00F70047000700070007000700070007000700070007000700 +07000700070007007FF07FF00C177C9614>I<0FC01FF03838701CE00EE00EE00E400E00 +0E001C001C00380030007000E001C0030006000C00180E300E7FFE7FFE0F177E9614>I< +0FC01FF03838701C701C201C001C0018003800700FE00FF00038001C000E000E400EE00E +E00E701C78383FF00FC00F177E9614>I<00780000F80001B80001B80003380003380006 +38000E38000C38001C3800383800303800703800E03800FFFF80FFFF8000380000380000 +380000380000380001FF0001FF0011177F9614>I<70F8F8F87000000000000070F8F8F8 +700510798F14>58 D<70F8F8F87000000000000060F0F8F878183070E0800515798F14> +I<0006001E003E00F801F003C00F801F003C00F800F000F8003C001F000F8003C001F000 +F8003E001E00060F157E9514>I62 +D76 D<7FFF80FFFF80E1C380E1C380E1C380E1C3 +8001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 +0001C00001C00001C0000FF8000FF80011177F9614>84 D86 +D<1FC0007FF000707800201800001C00001C0007FC001FFC003C1C00701C00E01C00E01C +00E01C00707C003FFF800F8F8011107E8F14>97 DI<03F80FFE1C0E3804700060 +00E000E000E000E00060007000380E1C1E0FFC03F00F107E8F14>I<007E00007E00000E +00000E00000E00000E00000E0007CE000FFE001C3E00301E00700E00E00E00E00E00E00E +00E00E00E00E00E00E00700E00301E00383E001FEFC007CFC012177F9614>I<07E00FF0 +1C38301C700CE00EE00EFFFEFFFEE00060007000380E1C1E0FFC03F00F107E8F14>I<00 +FC01FE038E07040700070007007FFEFFFE07000700070007000700070007000700070007 +0007000700FFF8FFF80F177F9614>I<07CF001FFF80383B80301800701C00701C00701C +003018003838003FF00037C0007000007000003FF8001FFC003FFE00700F00E00380E003 +80E00380E003807007003C1E001FFC0007F00011197F8F14>II<06000F000F00 +06000000000000000000FF00FF0007000700070007000700070007000700070007000700 +0700FFF8FFF80D187C9714>I107 DI< +FB8E00FFDF003CF3803CF38038E38038E38038E38038E38038E38038E38038E38038E380 +38E38038E380FEFBE0FE79E01310808F14>II<07C01FF03C78701C701CE00EE00EE00EE00EE00EE00E701C783C3C781FF007C00F10 +7E8F14>II<03E7000FF7001C1F00300F00700F00E00700E00700E00700 +E00700E00700E00700700F00300F001C3F000FF70007C700000700000700000700000700 +000700000700003FE0003FE013187F8F14>II<0FD83FF86038C038C038F0007F803FF007F8001C6006E006F006F81CFFF8CFE00F10 +7E8F14>I<06000E000E000E000E007FFCFFFC0E000E000E000E000E000E000E000E000E +0E0E0E0E0E0E1C07F801F00F157F9414>I +III<7E3F007E3F001E3C000E780007700007E00003E00001C00003C00003E000077000 +0E78000E38001C1C00FE3F80FE3F8011107F8F14>II +E /Fr 21 119 df<0000200000600000E00000E00001E00001F000027000027000047000 +087000087000107000107000207000407000407000803800FFF801003802003802003804 +0038040038080038180038FE01FF181A7E991D>65 D<03FF0000700000700000700000E0 +0000E00000E00000E00001C00001C00001C00001C0000380000380000380000380000700 +000700100700100700200E00200E00600E00400E00C01C0380FFFF80141A7D9918>76 +D<03FFF000701C00700E00700700E00700E00700E00700E00701C00E01C01C01C03801C0 +E003FF800380C00380600380700700700700700700700700700E00E00E00E00E00E10E00 +E21C0062FF803C181A7D991C>82 D<003F10006090018070010070030020060020060020 +06002006000007000007C00003F80001FE00007F00000F80000380000180000180200180 +200180600300600300600600700C00C8180087E000141A7D9916>I<03CC0E2E181C381C +301C701CE038E038E038E038C072C072C07260F261341E180F107C8F14>97 +D<01E006180C181838301070006000E000E000E000E000E008E010602030C01F000D107C +8F12>99 D<001F80000380000380000380000700000700000700000700000E00000E0003 +CE000E2E00181C00381C00301C00701C00E03800E03800E03800E03800C07200C07200C0 +720060F2006134001E1800111A7C9914>I<01E00E181C08380870087010FFE0E000E000 +E000E000E0086010602030C01F000D107C8F12>I<00F300038B800607000E07000C0700 +1C0700380E00380E00380E00380E00301C00301C00301C00183C0018780007B800003800 +003800007000607000E0E000C1C0007F000011177E8F12>103 D<1F8000038000038000 +0380000700000700000700000700000E00000E00000E7C000F86001E07001E07001C0700 +1C0700380E00380E00380E00381C00701C80701C80703880703900E01900600E00111A7E +9914>I<030706000000000000384C4E8E9C9C1C3838707272E2E4643808197C980C>I<1F +0707070E0E0E0E1C1C1C1C3838383870707070E4E4E4E4E830081A7D990A>108 +D<307C1E00598663009E0783809E0703809C0703809C070380380E0700380E0700380E07 +00380E0E00701C0E40701C0E40701C1C40701C1C80E0380C80601807001A107C8F1F>I< +307C005986009E07009E07009C07009C0700380E00380E00380E00381C00701C80701C80 +703880703900E01900600E0011107C8F16>I<01F006180C0C180E300E700E600EE00EE0 +0EE00CE01CE018E030606030C01F000F107C8F14>I<030F000590C009E0C009C06009C0 +6009C0600380E00380E00380E00380E00701C00701800703800703000E8E000E78000E00 +000E00001C00001C00001C00001C0000FF00001317808F14>I<30F05D189E389C189C00 +9C0038003800380038007000700070007000E00060000D107C8F10>114 +D<03E004300830187018601C001F801FC00FE000E00060E060E06080C041803E000C107D +8F10>I<06000E000E000E000E001C001C00FFC01C003800380038003800700070007000 +7000E100E100E100E200E40038000A177C960D>I<38064C074E0E8E0E9C0E9C0E1C1C38 +1C381C381C7039703970393079389A0F0C10107C8F15>I<38184C1C4E1C8E0C9C0C9C0C +1C08380838083810701070107020304018C00F000E107C8F12>I +E /Fs 67 122 df<00FE7C0381C60603CE0E03841C03801C03801C03801C03801C03801C 0380FFFFF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C 03801C03801C03801C0380FF8FF0171A809916>11 D<00FE000381000601800E03801C01 001C00001C00001C00001C00001C0000FFFF801C03801C03801C03801C03801C03801C03 -801C03801C03801C03801C03801C03801C03801C03801C0380FF8FF0141A809915>I<00 -7E1F8001C170400703C060060380E00E0380400E0380000E0380000E0380000E0380000E -038000FFFFFFE00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E -0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E07F8FE3FC1E1A809920 ->14 D18 D<1C1C3C7060C0800607789913>I<60F0F0F0 -F0F0F060606060606060606060200000000060F0F060041A7D990B>33 -D<60C0F1E0F9F068D008100810081010201020204040800C0B7F9913>I<60F0F8680808 -0810102040050B7D990B>39 D<00800100020004000C0008001800300030003000600060 -0060006000E000E000E000E000E000E000E000E000E000E0006000600060006000300030 -003000180008000C00040002000100008009267D9B0F>I<800040002000100018000800 -0C0006000600060003000300030003000380038003800380038003800380038003800380 -03000300030003000600060006000C0008001800100020004000800009267E9B0F>I<60 -F0F07010101020204040040B7D830B>44 DI<60F0F06004047D -830B>I<0004000C00180018001800300030003000600060006000C000C000C001800180 -01800300030003000600060006000C000C000C0018001800180030003000300060006000 -6000C000C0000E257E9B13>I<07E01C38381C300C700E60066006E007E007E007E007E0 -07E007E007E007E007E00760066006700E300C381C1C3807E010187F9713>I<03000700 -FF0007000700070007000700070007000700070007000700070007000700070007000700 -0700070007007FF80D187D9713>I<0F80106020304038803CC01CE01C401C003C003800 -380070006000C001800100020004040804100430083FF87FF8FFF80E187E9713>I<07E0 -1838201C601E700E201E001E001C001C0038007007E00038001C000E000F000FE00FE00F -C00F400E601C183807E010187F9713>I<001800180038007800F800B801380238023804 -3808381838103820384038C038FFFF00380038003800380038003803FF10187F9713>I< -30183FF03FE03F80200020002000200020002FC03060203000380018001C001C401CE01C -E01C80184038403030E00F800E187E9713>I<01F807040C06180E300E300070006000E0 -00E3E0E418E80CF00EE006E007E007E007600760077006300E180C0C3807E010187F9713 ->I<40007FFF7FFE7FFE4004800880108010002000400040008001800100030003000700 -060006000E000E000E000E000E00040010197E9813>I<07E01818300C20066006600670 -06780C3E181F3007C003E00CF8307C601E600FC007C003C003C00360022004181807E010 -187F9713>I<07E01C303018700C600EE006E006E007E007E0076007700F3017182707C7 -00070006000E000C700C7018603030600F8010187F9713>I<60F0F06000000000000000 -0060F0F06004107D8F0B>I<60F0F060000000000000000060F0F0701010102020404004 -177D8F0B>I61 D<1FC020604030C038E038E0380038007000E0 -018001000300020002000200020002000200000000000000000006000F000F0006000D1A -7E9912>63 D<000C0000000C0000000C0000001E0000001E0000002F0000002700000027 -00000043800000438000004380000081C0000081C0000181E0000100E0000100E00003FF -F000020070000200700004003800040038000400380008001C0008001C003C001E00FF00 -FFC01A1A7F991D>65 DI<003F0201C0C603002E0E001E1C -000E1C0006380006780002700002700002F00000F00000F00000F00000F00000F0000070 -00027000027800023800041C00041C00080E000803003001C0C0003F00171A7E991C>I< -FFFF80000E00E0000E0070000E0038000E001C000E000E000E000E000E0007000E000700 -0E0007800E0007800E0007800E0007800E0007800E0007800E0007800E0007800E000700 -0E0007000E000F000E000E000E001C000E001C000E0078000E00E000FFFF8000191A7F99 -1D>III<003F020001C0C6 -0003002E000E001E001C000E001C00060038000600780002007000020070000200F00000 -00F0000000F0000000F0000000F0000000F001FFC070000E0070000E0078000E0038000E -001C000E001C000E000E000E000300160001C06600003F82001A1A7E991E>III<0FFE007000700070007000700070 -00700070007000700070007000700070007000700070007000704070E070E07040E061C0 -1F000F1A7E9914>IIIII<007F000001 -C1C000070070000E0038001C001C003C001E0038000E0078000F0070000700F0000780F0 -000780F0000780F0000780F0000780F0000780F0000780F000078078000F0078000F0038 -000E003C001E001C001C000E0038000700700001C1C000007F0000191A7E991E>II<007F000001C1C000070070000E0038001C001C003C001E0038 -000E0078000F0070000700F0000780F0000780F0000780F0000780F0000780F0000780F0 -000780F00007807000070078000F0038000E003C1C1E001C221C000E4138000741F00001 -E1C000007F80800000C0800000C0800000E18000007F0000007F0000003E0000001C0019 -217E991E>II<0FC21836200E6006C006C002C002C002E00070007E003FE01FF803 -FC007E000E00070003800380038003C002C006E004D81887E0101A7E9915>I<7FFFFF00 -701C0700401C0100401C0100C01C0180801C0080801C0080801C0080001C0000001C0000 -001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000 -001C0000001C0000001C0000001C0000001C0000001C000003FFE000191A7F991C>IIII -II91 D<2040204040804080810081008100E1C0F1E0F1E060C00B -0B7A9913>II<1FC000387000383800101C00001C00001C0003FC001E -1C00381C00701C00E01C00E01C80E01C80E03C80705F801F8F0011107F8F13>97 -DI<07F81C1C381C70087000E000E000E000E000E000E000 -7000700438081C1807E00E107F8F11>I<003F0000070000070000070000070000070000 -070000070000070000070003E7000C1700180F00300700700700E00700E00700E00700E0 -0700E00700E00700600700700700380F001C370007C7E0131A7F9915>I<07C01C303018 -7018600CE00CFFFCE000E000E000E0006000700438081C1807E00E107F8F11>I<01F007 -180E381C101C001C001C001C001C001C00FFC01C001C001C001C001C001C001C001C001C -001C001C001C001C001C00FF800D1A80990C>I<0FCF0018718030300070380070380070 -38007038003030001860002FC0006000006000007000003FF0003FFC001FFE00600F00C0 -0300C00300C00300C00300600600381C0007E00011187F8F13>II<183C3C18000000000000FC1C1C1C1C1C1C1C1C1C1C1C1C1C1CFF081A80990A>I< -018003C003C001800000000000000000000000000FC001C001C001C001C001C001C001C0 -01C001C001C001C001C001C001C001C001C001C001C041C0E180E3007E000A2182990C> -II -II< -FC7C001D87001E03801E03801C03801C03801C03801C03801C03801C03801C03801C0380 -1C03801C03801C0380FF9FF01410808F15>I<07E01C38300C700E6006E007E007E007E0 -07E007E0076006700E381C1C3807E010107F8F13>II<03E1000C1300180B0030 -0F00700700E00700E00700E00700E00700E00700E00700700700700700380F001C370007 -C700000700000700000700000700000700000700003FE013177F8F14>II<1F2060 -E04020C020C020F0007F003FC01FE000F080708030C030C020F0408F800C107F8F0F>I< -0800080008000800180018003800FFC03800380038003800380038003800380038203820 -3820382018201C4007800B177F960F>II< -FF0F803C07001C06001C04001C04000E08000E080007100007100007100003A00003A000 -01C00001C00001C00000800011107F8F14>II -IIIII -E /Ft 89 127 df<60F87E3F0708057C9614>18 D<60F0F0F0F0F0F0F0F0F0F0F0F0F060 -0000000060F0F0600417789614>33 DI<071C00071C00071C00071C00071C00FFFF80FFFF807FFF800E3800 -0E38000E38000E38000E38000E38000E38007FFF80FFFF80FFFF801C70001C70001C7000 -1C70001C700011177F9614>I<00800180018007E01FF039BC619CC18EC18EC18EE18471 -807F801FE00FF001F8019C018E4186E186E186E186718C39B81FF00FC00180018000800F -1D7E9914>I<3806007C0E006C0E00EE1C00EE1C00EE3800EE38006C38007C7000387000 -00700000E00000E00001C00001C00001C000038000038000070000070E00071F000E1B00 -0E3B800E3B801C3B801C3B80381B00381F00180E00111D7F9914>I<60F0F87818181830 -3060C080050C789614>39 D<0180038006000C001C0018003800700070007000E000E000 -E000E000E000E000E000E000E000700070007000380018001C000C00060003800180091D -799914>I<80C0603038181C0E0E0E0707070707070707070E0E0E1C18383060C080081D -7C9914>I<038003800380638CF39E7FFC3FF80FE00FE03FF87FFCF39E638C0380038003 -800F107E9214>I<01C00001C00001C00001C00001C00001C00001C000FFFF80FFFF80FF -FF8001C00001C00001C00001C00001C00001C00001C00011117F9314>I<70F8FCFC7C0C -1830E0C0060A798414>II<70F8F8F8700505798414>I<00 -06000E000E001C001C003800380070007000E000E001C001C0038003800380070007000E -000E001C001C003800380070007000E000E000C0000F1D7E9914>I<07C00FE01C703838 -3018701C701CE00EE00EE00EE00EE00EE00EE00EE00EE00E701C701C383838381C700FE0 -07C00F177E9614>I<0300030007000F003F00F700470007000700070007000700070007 -0007000700070007000700070007007FF07FF00C177C9614>I<0FC01FF03838701CE00E -E00EE00E400E000E001C001C00380030007000E001C0030006000C00180E300E7FFE7FFE -0F177E9614>I<0FC01FF03838701C701C201C001C0018003800700FE00FF00038001C00 -0E000E400EE00EE00E701C78383FF00FC00F177E9614>I<00780000F80001B80001B800 -0338000338000638000E38000C38001C3800383800303800703800E03800FFFF80FFFF80 -00380000380000380000380000380001FF0001FF0011177F9614>I<7FFC7FFC70007000 -7000700070007000700077C07FF07838601C000C000E000E400EE00EE01C601C78783FF0 -0FC00F177E9614>I<01F007F80E1C1C1C381C300070007000E000E7C0EFF0F838F01CF0 -0CE00EE00E600E700E700C381C1C380FF007C00F177E9614>II<0FE03FF8783C701CE00EE00EE00EE00E701C1EF003801FF0383870 -1CE00EE00EE00EE00EF01E701C38381FF007C00F177E9614>I<07C01FE038307038601C -E01CE00CE00EE00E601E701E383E1FEE07CE000E001C001C001C7038703070E03FC01F00 -0F177E9614>I<70F8F8F87000000000000070F8F8F8700510798F14>I<70F8F8F8700000 -0000000060F0F8F878183070E0800515798F14>I<0006001E003E00F801F003C00F801F -003C00F800F000F8003C001F000F8003C001F000F8003E001E00060F157E9514>III<1FE03FF8701CE00EE00E400E003C007000E001C003800380038003 -800300000000000000000003000780078003000F177E9614>I<01E007F00E38181C38FC -71FC731E771EEE0EEE0EEE0EEE0EEE0EEE0EEE0E771C731871F038E018060E1E07F801F0 -0F177E9614>I<01C00003E00003E0000360000360000770000770000770000770000630 -000E38000E38000E38000E38001C1C001FFC001FFC001C1C001C1C00380E00380E00FE3F -80FE3F8011177F9614>II<01F18007FF800E1F -801C0780380780700380700380700380E00000E00000E00000E00000E00000E00000E000 -007003807003807003803807001C07000E0E0007FC0001F00011177F9614>II< -FFFF00FFFF003807003807003807003807003800003800003838003838003FF8003FF800 -383800383800380000380000380000380380380380380380380380FFFF80FFFF8011177F -9614>II<03C60FFE1C3E181E381E700E700E600EE000E000E000E000E07FE07F -E00E600E700E700E381E181E1C3E0FFE03CE10177F9614>III<07FC07FC00700070007000700070007000700070007000700070 -00700070007000700070E070E070F0E07FC01F000E177D9614>IIIII<1FF07FFC783C701CE00EE00EE00EE00E -E00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00E701C783C7FFC1FF00F177E9614> -II<1FF07FFC783C701CE00EE00EE00EE00EE00E -E00EE00EE00EE00EE00EE00EE00EE00EE38EE1CE71DC78FC7FFC1FF000780038003C001C -001E0F1C7E9614>II<0FCC1FFC307C603CE01CE01CE01CE00070007E003FE00F -F001F8001C001E000E600EE00EE00EF01CF838FFF0C7E00F177E9614>I<7FFF80FFFF80 -E1C380E1C380E1C380E1C38001C00001C00001C00001C00001C00001C00001C00001C000 -01C00001C00001C00001C00001C00001C00001C0000FF8000FF80011177F9614>II87 D<7E3E007E3E001C3C001E38000E78000F700007700007E00003E00003C0 -0001C00003C00003E00003E0000770000770000E78000E38001C3C001C1C003C1E00FE3F -80FE3F8011177F9614>II<7FFEFFFEE01CE01CE038E038007000E000E001C001 -C00380070007000E000E001C00380E380E700E700EFFFEFFFE0F177E9614>IIII<04001F007FC0F1E0E0E00B057C9614>I<1FC0007FF000707800 -201800001C00001C0007FC001FFC003C1C00701C00E01C00E01C00E01C00707C003FFF80 -0F8F8011107E8F14>97 DI<03F80FFE1C0E380470006000E000E000E000E00060 -007000380E1C1E0FFC03F00F107E8F14>I<007E00007E00000E00000E00000E00000E00 -000E0007CE000FFE001C3E00301E00700E00E00E00E00E00E00E00E00E00E00E00E00E00 -700E00301E00383E001FEFC007CFC012177F9614>I<07E00FF01C38301C700CE00EE00E -FFFEFFFEE00060007000380E1C1E0FFC03F00F107E8F14>I<00FC01FE038E0704070007 -0007007FFEFFFE070007000700070007000700070007000700070007000700FFF8FFF80F -177F9614>I<07CF001FFF80383B80301800701C00701C00701C003018003838003FF000 -37C0007000007000003FF8001FFC003FFE00700F00E00380E00380E00380E00380700700 -3C1E001FFC0007F00011197F8F14>II<06000F000F0006000000000000000000 -FF00FF00070007000700070007000700070007000700070007000700FFF8FFF80D187C97 -14>I<006000F000F0006000000000000000001FF01FF000700070007000700070007000 -700070007000700070007000700070007000700070007040E0E0C07F803F000C207E9714 ->IIIII<07C01FF03C78701C701CE0 -0EE00EE00EE00EE00EE00E701C783C3C781FF007C00F107E8F14>II<03 -E7000FF7001C1F00300F00700F00E00700E00700E00700E00700E00700E00700700F0030 -0F001C3F000FF70007C700000700000700000700000700000700000700003FE0003FE013 -187F8F14>II<0FD83FF86038C038C038F0 -007F803FF007F8001C6006E006F006F81CFFF8CFE00F107E8F14>I<06000E000E000E00 -0E007FFCFFFC0E000E000E000E000E000E000E000E000E0E0E0E0E0E0E1C07F801F00F15 -7F9414>IIII<7E3F007E3F001E3C000E -780007700007E00003E00001C00003C00003E0000770000E78000E38001C1C00FE3F80FE -3F8011107F8F14>II<3FFF7FFF700E701C7038007000E001C003800700 -0E001C0738077007FFFFFFFF10107F8F14>I124 D<1C103F38E7E041C00D047D9614>126 -D E /Fu 82 127 df18 D<60F0F0F0F0F0F0F0F0F0F0F0F0F0 -F0F0600000000060F0F0600419779816>33 DI<038700038700038700038700038700038700FFFFE0FFFFE0 -7FFFE0070E00070E00070E000E1C000E1C000E1C000E1C007FFFE0FFFFE0FFFFE01C3800 -1C38001C38001C38001C38001C380013197F9816>I<00C00001C00001C00001C00007F0 -001FFC003FFE007DCF0071C780E1C380E1C780E1C780F1C30079C0003FC0001FF00007FC -0001FE0001CF0001C70061C380F1C380F1C380E1C38071C70079DF003FFE001FF80007E0 -0001C00001C00000C00011207E9C16>I<30787C3C1C1C1C1C3878F0E040060D789816> -39 D<00E001E0038007000E001C001C0038003800700070007000E000E000E000E000E0 -00E000E000E000E000700070007000380038001C001C000E000700038001E000E00B217A -9C16>II<0380038003800380E38EF39EFFFE3FF80FE00FE03FF8FFFEF39EE38E038003 -80038003800F127D9516>I<00E00000E00000E00000E00000E00000E00000E00000E000 -FFFFE0FFFFE0FFFFE000E00000E00000E00000E00000E00000E00000E00000E00013137F -9516>I<387C7E7E3E0E1E1C78F060070B798416>I -I<70F8F8F8700505788416>I<000180000380000380000700000700000E00000E00001C -00001C0000380000380000700000700000E00000E00001C00001C0000380000380000700 -000700000E00000E00001C00001C0000380000380000700000700000E00000E00000C000 -0011207E9C16>I<03E0000FF8001FFC001E3C00380E00780F00700700700700E00380E0 -0380E00380E00380E00380E00380E00380E00380F00780700700700700780F003C1E001E -3C001FFC000FF80003E00011197E9816>I<0300070007000F001F00FF00FF00E7000700 -0700070007000700070007000700070007000700070007000700FFF8FFF8FFF80D197B98 -16>I<07E0001FF8003FFC00783E00E00700F00780F00380600380000380000380000700 -000700000E00001C0000380000700000E00001C0000380000F00001E03803803807FFF80 -FFFF807FFF8011197E9816>I<007C0000FC0000DC0001DC00039C00039C00071C000F1C -000E1C001E1C003C1C00381C00781C00F01C00FFFFE0FFFFE0FFFFE0001C00001C00001C -00001C00001C0001FFC001FFC001FFC013197F9816>52 D<03E0000FF8001FFC003C1E00 -700E00700700E00700E00780E00380E00380E00780700780780F803FFF801FFB800FE380 -000700000700300700780E00781C00707C003FF8001FE0000F800011197E9816>57 -D<70F8F8F870000000000000000070F8F8F8700512789116>I<000180000780001F8000 -3E0000F80001F00007C0000F80003E0000FC0000F00000FC00003E00000F800007C00001 -F00000F800003E00001F8000078000018011157E9616>60 DII<0FF0003FFE007FFF00 -F00F80F00380F00380600780001F00003E0000780000F00001C00001C00001C00001C000 -01C00001800000000000000000000000000001800003C00003C00001800011197E9816> -I<00E00001F00001F00001B00001B00003B80003B80003B800031800071C00071C00071C -00071C00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C07007E0FC0FF1F -E07E0FC013197F9816>65 D<7FF800FFFE007FFF001C07001C07801C03801C03801C0380 -1C03801C07001FFF001FFE001FFE001C1F001C03801C03C01C01C01C01C01C01C01C01C0 -1C03C01C07807FFF80FFFF007FFC0012197F9816>I<01F18007FB800FFF801F0F803C07 -80380380700380700380F00000E00000E00000E00000E00000E00000E00000E00000F000 -007003807003803803803C07001F0F000FFE0007FC0001F00011197E9816>I<7FF800FF -FE007FFF001C0F001C07801C03C01C01C01C01C01C01E01C00E01C00E01C00E01C00E01C -00E01C00E01C00E01C00E01C01C01C01C01C03C01C07801C0F807FFF00FFFE007FF80013 -19809816>I<7FFFC0FFFFC07FFFC01C01C01C01C01C01C01C01C01C00001C00001C1C00 -1C1C001FFC001FFC001FFC001C1C001C1C001C00001C00E01C00E01C00E01C00E01C00E0 -7FFFE0FFFFE07FFFE013197F9816>I<7FFFE0FFFFE07FFFE01C00E01C00E01C00E01C00 -E01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00001C00 -001C00001C00001C00007F8000FFC0007F800013197F9816>I<01F18007FB800FFF801F -0F803C0780380380700380700380F00000E00000E00000E00000E00000E01FC0E01FE0E0 -1FC0F003807003807007803807803C07801E0F800FFF8007FB8001F38013197F9816>I< -7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC0 -1FFFC01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF8 -7F07F01519809816>I<7FFCFFFE7FFC0380038003800380038003800380038003800380 -0380038003800380038003800380038003807FFCFFFE7FFC0F197D9816>I<7F0FE0FF8F -F07F0FE01C07801C0F001C0E001C1C001C3C001C78001CF0001CE0001DF0001FF0001FF8 -001F38001E1C001C1C001C0E001C0E001C07001C07001C03807F07E0FF8FF07F07E01419 -809816>75 DI<60 +C0F1E0F9F068D008100810081010201020204040800C0B7F9913>34 +D<60F0F86808080810102040050B7D990B>39 D<00800100020004000C00080018003000 +300030006000600060006000E000E000E000E000E000E000E000E000E000E00060006000 +60006000300030003000180008000C00040002000100008009267D9B0F>I<8000400020 +001000180008000C00060006000600030003000300030003800380038003800380038003 +8003800380038003000300030003000600060006000C0008001800100020004000800009 +267E9B0F>I<60F0F07010101020204040040B7D830B>44 DI<60 +F0F06004047D830B>I<07E01C38381C300C700E60066006E007E007E007E007E007E007 +E007E007E007E00760066006700E300C381C1C3807E010187F9713>48 +D<03000700FF000700070007000700070007000700070007000700070007000700070007 +00070007000700070007007FF80D187D9713>I<0F80106020304038803CC01CE01C401C +003C003800380070006000C001800100020004040804100430083FF87FF8FFF80E187E97 +13>I<07E01838201C601E700E201E001E001C001C0038007007E00038001C000E000F00 +0FE00FE00FC00F400E601C183807E010187F9713>I<001800180038007800F800B80138 +02380238043808381838103820384038C038FFFF00380038003800380038003803FF1018 +7F9713>I<30183FF03FE03F80200020002000200020002FC03060203000380018001C00 +1C401CE01CE01C80184038403030E00F800E187E9713>I<01F807040C06180E300E3000 +70006000E000E3E0E418E80CF00EE006E007E007E007600760077006300E180C0C3807E0 +10187F9713>I<40007FFF7FFE7FFE400480088010801000200040004000800180010003 +0003000700060006000E000E000E000E000E00040010197E9813>I<07E01818300C2006 +600660067006780C3E181F3007C003E00CF8307C601E600FC007C003C003C00360022004 +181807E010187F9713>I<07E01C303018700C600EE006E006E007E007E0076007700F30 +17182707C700070006000E000C700C7018603030600F8010187F9713>I<60F0F0600000 +00000000000060F0F06004107D8F0B>I<007F00000180C0000600300008000800100004 +00203E020020E1020041C081004380710083807080870070808700708087007080870070 +808700708087007080838070804380708041C0F10020E13100203E1E0010000000080000 +000600038001803E00007FE000191A7E991E>64 D66 +D<003F0201C0C603002E0E001E1C000E1C0006380006780002700002700002F00000F000 +00F00000F00000F00000F000007000027000027800023800041C00041C00080E00080300 +3001C0C0003F00171A7E991C>II70 +D<003F020001C0C60003002E000E001E001C000E001C0006003800060078000200700002 +0070000200F0000000F0000000F0000000F0000000F0000000F001FFC070000E0070000E +0078000E0038000E001C000E001C000E000E000E000300160001C06600003F82001A1A7E +991E>III<0FFE00700070 +007000700070007000700070007000700070007000700070007000700070007000704070 +E070E07040E061C01F000F1A7E9914>I76 +DII<007F000001C1C000070070000E0038001C001C003C001E0038000E0078 +000F0070000700F0000780F0000780F0000780F0000780F0000780F0000780F0000780F0 +00078078000F0078000F0038000E003C001E001C001C000E0038000700700001C1C00000 +7F0000191A7E991E>II<0FC21836200E6006C006C002C0 +02C002E00070007E003FE01FF803FC007E000E00070003800380038003C002C006E004D8 +1887E0101A7E9915>83 D<7FFFFF00701C0700401C0100401C0100C01C0180801C008080 +1C0080801C0080001C0000001C0000001C0000001C0000001C0000001C0000001C000000 +1C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C000000 +1C000003FFE000191A7F991C>II87 DI91 D<20402040408040808100810081 +00E1C0F1E0F1E060C00B0B7A9913>II<1FC000387000383800101C00 +001C00001C0003FC001E1C00381C00701C00E01C00E01C80E01C80E03C80705F801F8F00 +11107F8F13>97 DI<07F81C1C381C70087000E000E000E0 +00E000E000E0007000700438081C1807E00E107F8F11>I<003F00000700000700000700 +00070000070000070000070000070000070003E7000C1700180F00300700700700E00700 +E00700E00700E00700E00700E00700600700700700380F001C370007C7E0131A7F9915> +I<07C01C3030187018600CE00CFFFCE000E000E000E0006000700438081C1807E00E107F +8F11>I<01F007180E381C101C001C001C001C001C001C00FFC01C001C001C001C001C00 +1C001C001C001C001C001C001C001C001C00FF800D1A80990C>I<0FCF00187180303000 +7038007038007038007038003030001860002FC0006000006000007000003FF0003FFC00 +1FFE00600F00C00300C00300C00300C00300600600381C0007E00011187F8F13>II<183C3C18000000000000FC1C1C1C1C1C1C1C1C1C1C1C1C1C1C +FF081A80990A>I<018003C003C001800000000000000000000000000FC001C001C001C0 +01C001C001C001C001C001C001C001C001C001C001C001C001C001C001C041C0E180E300 +7E000A2182990C>IIIII<07E01C38300C700E60 +06E007E007E007E007E007E0076006700E381C1C3807E010107F8F13>II<03E1 +000C1300180B00300F00700700E00700E00700E00700E00700E00700E007007007007007 +00380F001C370007C700000700000700000700000700000700000700003FE013177F8F14 +>II<1F2060E04020C020C020F0007F003FC01FE000F080708030C030C020F0408F +800C107F8F0F>I<0800080008000800180018003800FFC0380038003800380038003800 +38003800382038203820382018201C4007800B177F960F>IIIIII E /Ft 8 56 df<1F00318060C04040C060C060C060C060 +C060C060C060C060404060C031801F000B107F8F0F>48 D<187898181818181818181818 +181818FF08107D8F0F>I<1F00618040C08060C0600060006000C00180030006000C0010 +2020207FC0FFC00B107F8F0F>I<1F00218060C060C000C0008001001F00008000400060 +C060C060804060801F000B107F8F0F>I<01800180038005800D801980118021804180C1 +80FFE001800180018001800FE00B107F8F0F>I<20C03F802E002000200020002F003080 +2040006000600060C06080C061801F000B107F8F0F>I<0780184030C060C06000C000CF +00F080E040C060C060C060406060C030801F000B107F8F0F>I<40007FF07FE080408040 +00800100020002000600040004000C000C000C000C000C000C117F900F>I +E /Fu 84 125 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C000 +0E01C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C000 +0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000 +0E01C0000E01C0000E01C0007F87FC001A1D809C18>11 D<007E0001C1800301800703C0 +0E03C00E01800E00000E00000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C0 +0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0 +7F87F8151D809C17>I<003F07E00001C09C18000380F018000701F03C000E01E03C000E +00E018000E00E000000E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E00 +E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E0 +1C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C +000E00E01C007FC7FCFF80211D809C23>14 D18 +D<0E0E1E3870E0800707779C15>I<60F0F0F0F0F0F0F060606060606060606060606060 +000000000060F0F060041E7C9D0C>33 D<6060F0F0F8F868680808080808081010101020 +20404080800D0C7F9C15>I<60F0F8680808081010204080050C7C9C0C>39 +D<00800100020006000C000C00180018003000300030006000600060006000E000E000E0 +00E000E000E000E000E000E000E000E000E0006000600060006000300030003000180018 +000C000C000600020001000080092A7C9E10>I<8000400020003000180018000C000C00 +060006000600030003000300030003800380038003800380038003800380038003800380 +038003000300030003000600060006000C000C00180018003000200040008000092A7E9E +10>I<60F0F0701010101020204080040C7C830C>44 DI<60F0F0 +6004047C830C>I<00010003000600060006000C000C000C001800180018003000300030 +0060006000C000C000C0018001800180030003000300060006000C000C000C0018001800 +1800300030003000600060006000C000C00010297E9E15>I<03C00C301818300C300C70 +0E60066006E007E007E007E007E007E007E007E007E007E007E007E007E0076006600670 +0E300C300C18180C3007E0101D7E9B15>I<010007003F00C70007000700070007000700 +070007000700070007000700070007000700070007000700070007000700070007000700 +FFF80D1C7C9B15>I<07C01830201C400C400EF00FF80FF807F8077007000F000E000E00 +1C001C00380070006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>I< +07E01830201C201C781E780E781E381E001C001C00180030006007C00030001C001C000E +000F000F700FF80FF80FF80FF00E401C201C183007C0101D7E9B15>I<000C00000C0000 +1C00003C00003C00005C0000DC00009C00011C00031C00021C00041C000C1C00081C0010 +1C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00001C00001C0000 +1C0001FFC0121C7F9B15>I<300C3FF83FF03FC020002000200020002000200023E02C30 +3018301C200E000E000F000F000F600FF00FF00FF00F800E401E401C2038187007C0101D +7E9B15>I<00F0030C04040C0E181E301E300C700070006000E3E0E430E818F00CF00EE0 +06E007E007E007E007E007600760077006300E300C18180C3003E0101D7E9B15>I<4000 +007FFF807FFF007FFF004002008004008004008008000010000010000020000060000040 +0000C00000C00001C0000180000180000380000380000380000380000780000780000780 +00078000078000078000030000111D7E9B15>I<03E00C301008200C2006600660067006 +70067C0C3E183FB01FE007F007F818FC307E601E600FC007C003C003C003C00360026004 +300C1C1007E0101D7E9B15>I<03C00C301818300C700C600EE006E006E007E007E007E0 +07E0076007700F300F18170C2707C700060006000E300C780C78187018203010C00F8010 +1D7E9B15>I<60F0F0600000000000000000000060F0F06004127C910C>I<60F0F0600000 +000000000000000060F0F0701010101020204080041A7C910C>I61 D<0FE03038401CE00EF00EF00EF00E000C001C0030006000C000 +8001800100010001000100010001000000000000000000000003000780078003000F1D7E +9C14>63 D<000600000006000000060000000F0000000F0000000F000000178000001780 +000037C0000023C0000023C0000043E0000041E0000041E0000080F0000080F0000080F0 +00010078000100780001FFF80002003C0002003C0002003C0004001E0004001E000C001F +000C000F001E001F00FF00FFF01C1D7F9C1F>65 DI<001F8080 +00E0618001801980070007800E0003801C0003801C000180380001807800008078000080 +70000080F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000 +700000807800008078000080380000801C0001001C0001000E0002000700040001800800 +00E03000001FC000191E7E9C1E>IIII<001F808000E06180 +01801980070007800E0003801C0003801C00018038000180780000807800008070000080 +F0000000F0000000F0000000F0000000F0000000F0000000F000FFF0F0000F8070000780 +7800078078000780380007801C0007801C0007800E00078007000B800180118000E06080 +001F80001C1E7E9C21>III<07FF80007C00003C00003C00003C00003C00003C00003C +00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C +00003C00703C00F83C00F83C00F8380070780040700030E0000F8000111D7F9B15>IIIII<003F800000E0E0000380380007001C000E000E001C0007003C00078038 +000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F0 +0001E0F00001E0F00001E0700001C0780003C0780003C0380003803C0007801C0007000E +000E0007001C000380380000E0E000003F80001B1E7E9C20>II<003F800000E0E0000380380007001C000E000E001C0007003C0007 +8038000380780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001 +E0F00001E0F00001E0F00001E0700001C0780003C0780003C0380003803C0E07801C1107 +000E208E0007205C0003A0780000F0E020003FE0200000602000003060000038E000003F +C000003FC000001F8000000F001B257E9C20>II<07 +E0801C1980300580300380600180E00180E00080E00080E00080F00000F800007C00007F +C0003FF8001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001C0C0 +0180C00180E00300D00200CC0C0083F800121E7E9C17>I<7FFFFFC0700F01C0600F00C0 +400F0040400F0040C00F0020800F0020800F0020800F0020000F0000000F0000000F0000 +000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000 +000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B1E>III +III91 +D<08081010202040404040808080808080B0B0F8F8787830300D0C7A9C15>II<1FC000307000783800781C00301C00001C00001C0001FC000F1C0038 +1C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97 +DI<03F80C0C181E301E700C6000E0 +00E000E000E000E000E00060007002300218040C1803E00F127F9112>I<001F80000380 +00038000038000038000038000038000038000038000038000038003F3800E0B80180780 +300380700380600380E00380E00380E00380E00380E00380E00380600380700380300380 +1807800E1B8003E3F0141D7F9C17>I<07E00C301818300C700E6006E006FFFEE000E000 +E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E +000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E000E +000E000E000E007FE00F1D809C0D>I<00038007C4C01C78C0383880301800701C00701C +00701C00701C003018003838001C700027C0002000002000003000003FF8001FFF001FFF +802003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>II<18003C003C00180000000000000000 +00000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C +001C001C00FF80091D7F9C0C>I<00C001E001E000C00000000000000000000000000000 +07E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 +00E000E000E060E0F0C0F1C061803E000B25839C0D>IIIII<03F0000E1C00180600300300700380600180E001 +C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F0001212 +7F9115>II<03E0800E1980180580380780700380700380 +E00380E00380E00380E00380E00380E003807003807003803807801807800E1B8003E380 +000380000380000380000380000380000380000380001FF0141A7F9116>II<1F9020704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D060 +8FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C +001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>IIIIII<7FFC70386038407040F040E041C003C003 +8007000F040E041C043C0C380870087038FFF80E127F9112>III E /Fv 89 127 df18 +D<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0600000000060F0F0600419779816>33 +DI<038700038700 +038700038700038700038700FFFFE0FFFFE07FFFE0070E00070E00070E000E1C000E1C00 +0E1C000E1C007FFFE0FFFFE0FFFFE01C38001C38001C38001C38001C38001C380013197F +9816>I<00C00001C00001C00001C00007F0001FFC003FFE007DCF0071C780E1C380E1C7 +80E1C780F1C30079C0003FC0001FF00007FC0001FE0001CF0001C70061C380F1C380F1C3 +80E1C38071C70079DF003FFE001FF80007E00001C00001C00000C00011207E9C16>I<38 +01807C03807C0380EE0700EE0700EE0E00EE0E00EE0E00EE1C007C1C007C380038380000 +700000700000700000E00000E00001C00001C00001C0000380000383800707C00707C00E +0EE00E0EE00E0EE01C0EE01C0EE03807C03807C018038013207F9C16>I<30787C3C1C1C +1C1C3878F0E040060D789816>39 D<00E001E0038007000E001C001C0038003800700070 +007000E000E000E000E000E000E000E000E000E000700070007000380038001C001C000E +000700038001E000E00B217A9C16>II<0380038003800380E38EF39EFFFE3FF80FE00F +E03FF8FFFEF39EE38E03800380038003800F127D9516>I<00E00000E00000E00000E000 +00E00000E00000E00000E000FFFFE0FFFFE0FFFFE000E00000E00000E00000E00000E000 +00E00000E00000E00013137F9516>I<387C7E7E3E0E1E1C78F060070B798416>II<70F8F8F8700505788416>I<000180000380000380000700 +000700000E00000E00001C00001C0000380000380000700000700000E00000E00001C000 +01C0000380000380000700000700000E00000E00001C00001C0000380000380000700000 +700000E00000E00000C0000011207E9C16>I<03E0000FF8001FFC001E3C00380E00780F +00700700700700E00380E00380E00380E00380E00380E00380E00380E00380F007807007 +00700700780F003C1E001E3C001FFC000FF80003E00011197E9816>I<0300070007000F +001F00FF00FF00E700070007000700070007000700070007000700070007000700070007 +00FFF8FFF8FFF80D197B9816>I<07E0001FF8003FFC00783E00E00700F00780F0038060 +0380000380000380000700000700000E00001C0000380000700000E00001C0000380000F +00001E03803803807FFF80FFFF807FFF8011197E9816>I<07E0001FF8003FFC00781E00 +780700300700000700000700000E00003E0007FC0007F00007FC00001E00000700000300 +000380000380600380F00380E00700781E003FFC001FF80007E00011197E9816>I<007C +0000FC0000DC0001DC00039C00039C00071C000F1C000E1C001E1C003C1C00381C00781C +00F01C00FFFFE0FFFFE0FFFFE0001C00001C00001C00001C00001C0001FFC001FFC001FF +C013197F9816>I<3FFE007FFE007FFE0070000070000070000070000070000070000070 +000077F0007FFC007FFE00780F00300700000380000380600380F00380F00380E0070078 +1E003FFC001FF80007E00011197E9816>I<00F80003FC0007FE000F07001C0F00380F00 +780600700000700000E3F800EFFC00FFFE00F80F00F00700F00380E00380E00380700380 +7003807007803807003C1E001FFC000FF80003E00011197E9816>II<07F0001FFC003FFE007C1F00F00780E00380E00380E003807007007C1F001F +FC0007F0001FFC003C1E00700700F00780E00380E00380E00380F007807007007C1F003F +FE001FFC0007F00011197E9816>I<03E0000FF8001FFC003C1E00700E00700700E00700 +E00780E00380E00380E00780700780780F803FFF801FFB800FE380000700000700300700 +780E00781C00707C003FF8001FE0000F800011197E9816>I<70F8F8F870000000000000 +000070F8F8F8700512789116>I<387C7C7C38000000000000000038787C7C3C1C1C3870 +F0400618799116>I<000180000780001F80003E0000F80001F00007C0000F80003E0000 +FC0000F00000FC00003E00000F800007C00001F00000F800003E00001F80000780000180 +11157E9616>III<0FF0003FFE007FFF00F00F80F00380F00380600780001F00003E00 +00780000F00001C00001C00001C00001C00001C000018000000000000000000000000000 +01800003C00003C00001800011197E9816>I<00F80003FC0007FE000F07001C3B8038FF +8079FF8073C7C07383C0E701C0E701C0E701C0E701C0E701C0E701C0E701C073838073C7 +8079FF0038FE001C38000F03C007FFC003FF0000FC0012197E9816>I<00E00001F00001 +F00001B00001B00003B80003B80003B800031800071C00071C00071C00071C00071C000E +0E000E0E000FFE000FFE001FFF001C07001C07001C07007E0FC0FF1FE07E0FC013197F98 +16>I<7FF800FFFE007FFF001C07001C07801C03801C03801C03801C03801C07001FFF00 +1FFE001FFE001C1F001C03801C03C01C01C01C01C01C01C01C01C01C03C01C07807FFF80 +FFFF007FFC0012197F9816>I<01F18007FB800FFF801F0F803C07803803807003807003 +80F00000E00000E00000E00000E00000E00000E00000E00000F000007003807003803803 +803C07001F0F000FFE0007FC0001F00011197E9816>I<7FF800FFFE007FFF001C0F001C +07801C03C01C01C01C01C01C01E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C +00E01C01C01C01C01C03C01C07801C0F807FFF00FFFE007FF8001319809816>I<7FFFC0 +FFFFC07FFFC01C01C01C01C01C01C01C01C01C00001C00001C1C001C1C001FFC001FFC00 +1FFC001C1C001C1C001C00001C00E01C00E01C00E01C00E01C00E07FFFE0FFFFE07FFFE0 +13197F9816>I<7FFFE0FFFFE07FFFE01C00E01C00E01C00E01C00E01C00001C00001C1C +001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00001C00001C00001C00001C00 +007F8000FFC0007F800013197F9816>I<01F18007FB800FFF801F0F803C078038038070 +0380700380F00000E00000E00000E00000E00000E01FC0E01FE0E01FC0F0038070038070 +07803807803C07801E0F800FFF8007FB8001F38013197F9816>I<7F07F0FF8FF87F07F0 +1C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01C01C01C0 +1C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF87F07F01519809816> +I<7FFCFFFE7FFC0380038003800380038003800380038003800380038003800380038003 +8003800380038003807FFCFFFE7FFC0F197D9816>I<01FF0003FF8001FF00001C00001C +00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C +00001C00001C00601C00F01C00F038007FF8007FF0001FC00011197E9816>I<7F0FE0FF +8FF07F0FE01C07801C0F001C0E001C1C001C3C001C78001CF0001CE0001DF0001FF0001F +F8001F38001E1C001C1C001C0E001C0E001C07001C07001C03807F07E0FF8FF07F07E014 +19809816>III<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C01C0 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C00E03800E0380070700 -07FF0003FE0000F8001519809816>II<7E03F0FF07F87E03F038 -00E03800E03800E03800E01C01C01C01C01C01C01C71C01CF9C01CF9C01CD9C01CD9C00C -D9800CD9800CD9800DDD800D8D800D8D800D8D80078F00078F000707001519809816>I< -7F1F807F3FC07F1F800E1E000E1C00071C0007380003B80003F00001F00001E00000E000 -01E00001F00003F00003B80007B800071C000F1C000E0E000E0E001C07007E0FC0FF1FE0 -7E0FC013197F9816>II<7FFF80FFFF80FFFF80E00700E00F00E0 -1E00E01C00003C0000780000700000F00001E00001C00003C0000780000700000F00001E -03801C03803C0380780380700380FFFF80FFFF80FFFF8011197E9816>IIII<03000F803FE0FDF8F07840100D -067C9816>I<081C3C7870E0E0E0E0F0F87830060D789B16>96 D<1FE0003FF0007FF800 -783C00300E00000E00000E0003FE001FFE003E0E00700E00E00E00E00E00E00E00783E00 -7FFFE03FE7E00F83E013127E9116>II<03F80FFC1FFE3C1E780C -7000E000E000E000E000E000F000700778073E0E1FFC0FF803F010127D9116>I<003F00 -003F00003F0000070000070000070000070003C7000FF7001FFF003C1F00780F00700700 -E00700E00700E00700E00700E00700E00700700F00780F003C1F001FFFE00FF7E007C7E0 -13197F9816>I<03F0000FFC001FFE003C0F00780700700380E00380FFFF80FFFF80FFFF -80E00000E000007003807803803E07801FFF0007FE0001F80011127E9116>I<001E0000 -7F0001FF8001C7800383000380000380007FFF00FFFF00FFFF0003800003800003800003 -80000380000380000380000380000380000380000380000380007FFC00FFFE007FFC0011 -197F9816>I<03E3C007F7E00FFFE01C1CC0380E00380E00380E00380E00380E001C1C00 -0FF8001FF0001BE0003800001800001FFC001FFF003FFF807003C0E000E0E000E0E000E0 -E000E07001C07C07C03FFF800FFE0003F800131C7F9116>II<03 -000780078003000000000000000000FF80FF80FF80038003800380038003800380038003 -800380038003800380FFFCFFFEFFFC0F1A7C9916>I<0030007800780030000000000000 -00000FF81FF80FF800380038003800380038003800380038003800380038003800380038 -003800380038003800386070F0F0FFE07FC03F800D237E9916>I<7E0000FE00007E0000 -0E00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E000E3C000E78000EF000 -0FF0000FF8000FBC000F1E000E0E000E07000E07807F87F0FFCFF07F87F01419809816> -I<7FC000FFC0007FC00001C00001C00001C00001C00001C00001C00001C00001C00001C0 -0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF00FFFF -807FFF0011197E9816>II< -FC7800FDFC00FFFE001F0F001E07001C07001C07001C07001C07001C07001C07001C0700 -1C07001C07001C0700FF8FE0FF9FE0FF8FE013127F9116>I<03E0000FF8001FFC003C1E -00780F00700700E00380E00380E00380E00380E00380F00780700700780F003C1E001FFC -000FF80003E00011127E9116>II<03E3800FF380 -1FFB803E0F80780780700780E00380E00380E00380E00380E00380E00380700780780780 -3C1F801FFB800FF38003E380000380000380000380000380000380000380001FF0003FF8 -001FF0151B7F9116>I<7F0FC0FF3FE07F7FE007F04007C0000780000780000700000700 -000700000700000700000700000700000700007FFC00FFFC007FFC0013127F9116>I<0F -EC3FFC7FFCF03CE01CE01C70007F801FF007F8003C600EE00EF00EF81EFFFCFFF8C7E00F -127D9116>I<0300000700000700000700000700007FFF00FFFF00FFFF00070000070000 -07000007000007000007000007000007010007038007038007038007870003FE0001FC00 -00F80011177F9616>II<7F -1FC0FF9FE07F1FC01C07001C07000E0E000E0E000E0E00071C00071C00071C00071C0003 -B80003B80003B80001F00001F00000E00013127F9116>II<7F1FC07F3FC07F1FC00F1E00073C0003B80003F00001F0 -0000E00001E00001F00003B800073C00071C000E0E007F1FC0FF3FE07F1FC013127F9116 ->I<7F1FC0FF9FE07F1FC01C07000E07000E0E000E0E00070E00071C00071C00039C0003 -9C0003980001B80001B80000F00000F00000F00000E00000E00000E00001C00079C0007B -C0007F80007F00003C0000131B7F9116>I<3FFFC07FFFC07FFFC0700780700F00701E00 -003C0000780001F00003E0000780000F00001E01C03C01C07801C0FFFFC0FFFFC0FFFFC0 -12127F9116>I124 D<1C303F78FFF8F7E061C00D057C9816>126 -D E /Fv 3 108 df<007F004003FFE0C00780F0C00E0019C01C0007C0380003C0780001 +07FF0003FE0000F8001519809816>I<7E03F0FF07F87E03F03800E03800E03800E03800 +E01C01C01C01C01C01C01C71C01CF9C01CF9C01CD9C01CD9C00CD9800CD9800CD9800DDD +800D8D800D8D800D8D80078F00078F000707001519809816>87 D<7F1F807F3FC07F1F80 +0E1E000E1C00071C0007380003B80003F00001F00001E00000E00001E00001F00003F000 +03B80007B800071C000F1C000E0E000E0E001C07007E0FC0FF1FE07E0FC013197F9816> +II<7FFF80FFFF80FFFF80E00700E00F00E01E00E01C00003C0000 +780000700000F00001E00001C00003C0000780000700000F00001E03801C03803C038078 +0380700380FFFF80FFFF80FFFF8011197E9816>IIII<03000F803FE0FDF8F07840100D067C9816>I<1FE0003F +F0007FF800783C00300E00000E00000E0003FE001FFE003E0E00700E00E00E00E00E00E0 +0E00783E007FFFE03FE7E00F83E013127E9116>97 DI<03F80FFC +1FFE3C1E780C7000E000E000E000E000E000F000700778073E0E1FFC0FF803F010127D91 +16>I<003F00003F00003F0000070000070000070000070003C7000FF7001FFF003C1F00 +780F00700700E00700E00700E00700E00700E00700E00700700F00780F003C1F001FFFE0 +0FF7E007C7E013197F9816>I<03F0000FFC001FFE003C0F00780700700380E00380FFFF +80FFFF80FFFF80E00000E000007003807803803E07801FFF0007FE0001F80011127E9116 +>I<001E00007F0001FF8001C7800383000380000380007FFF00FFFF00FFFF0003800003 +80000380000380000380000380000380000380000380000380000380000380007FFC00FF +FE007FFC0011197F9816>I<03E3C007F7E00FFFE01C1CC0380E00380E00380E00380E00 +380E001C1C000FF8001FF0001BE0003800001800001FFC001FFF003FFF807003C0E000E0 +E000E0E000E0E000E07001C07C07C03FFF800FFE0003F800131C7F9116>II<03000780078003000000000000000000FF80FF80FF80038003800380038003 +800380038003800380038003800380FFFCFFFEFFFC0F1A7C9916>I<0030007800780030 +00000000000000000FF81FF80FF800380038003800380038003800380038003800380038 +003800380038003800380038003800386070F0F0FFE07FC03F800D237E9916>I<7E0000 +FE00007E00000E00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E000E3C00 +0E78000EF0000FF0000FF8000FBC000F1E000E0E000E07000E07807F87F0FFCFF07F87F0 +1419809816>I<7FC000FFC0007FC00001C00001C00001C00001C00001C00001C00001C0 +0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 +007FFF00FFFF807FFF0011197E9816>III<03E0000FF8 +001FFC003C1E00780F00700700E00380E00380E00380E00380E00380F00780700700780F +003C1E001FFC000FF80003E00011127E9116>II< +03E3800FF3801FFB803E0F80780780700780E00380E00380E00380E00380E00380E00380 +7007807807803C1F801FFB800FF38003E380000380000380000380000380000380000380 +001FF0003FF8001FF0151B7F9116>I<7F0FC0FF3FE07F7FE007F04007C0000780000780 +000700000700000700000700000700000700000700000700007FFC00FFFC007FFC001312 +7F9116>I<0FEC3FFC7FFCF03CE01CE01C70007F801FF007F8003C600EE00EF00EF81EFF +FCFFF8C7E00F127D9116>I<0300000700000700000700000700007FFF00FFFF00FFFF00 +070000070000070000070000070000070000070000070100070380070380070380078700 +03FE0001FC0000F80011177F9616>II<7F1FC0FF9FE07F1FC01C07001C07000E0E000E0E000E0E00071C00071C0007 +1C00071C0003B80003B80003B80001F00001F00000E00013127F9116>II<7F1FC07F3FC07F1FC00F1E00073C0003B8 +0003F00001F00000E00001E00001F00003B800073C00071C000E0E007F1FC0FF3FE07F1F +C013127F9116>I<7F1FC0FF9FE07F1FC01C07000E07000E0E000E0E00070E00071C0007 +1C00039C00039C0003980001B80001B80000F00000F00000F00000E00000E00000E00001 +C00079C0007BC0007F80007F00003C0000131B7F9116>I<3FFFC07FFFC07FFFC0700780 +700F00701E00003C0000780001F00003E0000780000F00001E01C03C01C07801C0FFFFC0 +FFFFC0FFFFC012127F9116>I124 D<1C303F78FFF8F7E061C00D057C9816>126 +D E /Fw 82 127 df18 +D<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F870000000000070F8F8F870051C779B18>33 +D<4010E038F078E038E038E038E038E038E038E038E038E038E03860300D0E7B9C18>I< +030600078F00078F00078F00078F00078F00078F007FFFC0FFFFE0FFFFE07FFFC00F1E00 +0F1E000F1E000F1E000F1E000F1E007FFFC0FFFFE0FFFFE07FFFC01E3C001E3C001E3C00 +1E3C001E3C001E3C000C1800131C7E9B18>I<00C00001C00001C00001C00003F0000FFC +003FFE007DCF0071C700E1C380E1C780E1C780E1C780F1C00079C0003FC0001FE0000FF8 +0001FC0001DE0001CF0001C70061C380F1C380F1C380E1C380E1C70071C70079DE003FFE +001FF80007E00001C00001C00001C00000C00011247D9F18>I<387C7C7E3E0E0E0E1C1C +38F8F0C0070E789B18>39 D<007000F001E003C007800F001E001C003800380070007000 +70007000E000E000E000E000E000E000E000E0007000700070007000380038001C001E00 +0F00078003C001F000F000700C24799F18>I<6000F00078003C001E000F000780038001 +C001C000E000E000E000E00070007000700070007000700070007000E000E000E000E001 +C001C0038007800F001E003C007800F00060000C247C9F18>I<01C00001C00001C00001 +C00041C100F1C780FDDF807FFF001FFC0007F00007F0001FFC007FFF00FDDF80F1C78041 +C10001C00001C00001C00001C00011147D9718>I<00600000F00000F00000F00000F000 +00F00000F00000F0007FFFC0FFFFE0FFFFE07FFFC000F00000F00000F00000F00000F000 +00F00000F00000600013147E9718>I<1C3E7E7F3F1F070E1E7CF860080C788518>I<7FFF +C0FFFFE0FFFFE07FFFC013047E8F18>I<3078FCFC78300606778518>I<00030000078000 +0780000F80000F00001F00001E00001E00003E00003C00007C0000780000780000F80000 +F00001F00001E00003E00003C00003C00007C0000780000F80000F00000F00001F00001E +00003E00003C00003C00007C0000780000F80000F00000F0000060000011247D9F18>I< +01F00007FC000FFE001F1F001C07003803807803C07001C07001C0E000E0E000E0E000E0 +E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C03803801C0700 +1F1F000FFE0007FC0001F000131C7E9B18>I<01800380038007800F803F80FF80FB8043 +8003800380038003800380038003800380038003800380038003800380038003807FFCFF +FE7FFC0F1C7B9B18>I<03F0000FFE003FFF007C0F807003C0E001C0F000E0F000E06000 +E00000E00000E00001C00001C00003C0000780000F00001E00003C0000780000F00001E0 +0007C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<001F00003F0000 +770000770000E70001E70001C7000387000787000707000E07001E07003C070038070078 +0700F00700FFFFF8FFFFF8FFFFF8000700000700000700000700000700000700007FF000 +7FF0007FF0151C7F9B18>52 D<03F0000FFC001FFE003C0F00780780700380E001C0E001 +C0E001C0E001E0E001E07001E07803E03C0FE01FFFE00FFEE003F0E00000E00001C00001 +C00001C0300380780780780F00783E003FFC001FF00007C000131C7E9B18>57 +D<3078FCFC783000000000000000003078FCFC78300614779318>I<0000C00003E00007 +E0001FC0003F8000FE0001FC0007F0000FE0003F80007F0000FC0000FC00007F00003F80 +000FE00007F00001FC0000FE00003F80001FC00007E00003E00000C013187E9918>60 +D<7FFFC0FFFFE0FFFFE07FFFC00000000000000000000000007FFFC0FFFFE0FFFFE07FFF +C0130C7E9318>I<600000F80000FC00007F00003F80000FE00007F00001FC0000FE0000 +3F80001FC00007E00007E0001FC0003F8000FE0001FC0007F0000FE0003F80007F0000FC +0000F8000060000013187E9918>I<0FF0003FFC007FFF00700F00F00380F00380600780 +000F00003E00007C0001F00001E00003C00003C00003C00003C00003C000038000000000 +00000000000000000000000003800007C00007C00007C000038000111C7D9B18>I<0070 +0000F80000F80000D80000D80001DC0001DC0001DC00018C00038E00038E00038E00038E +000707000707000707000707000707000FFF800FFF800FFF800E03801C01C01C01C01C01 +C07F07F0FF07F87F07F0151C7F9B18>65 D<7FFC00FFFF007FFF801C03C01C01C01C00E0 +1C00E01C00E01C00E01C01E01C01C01C07C01FFF801FFF001FFFC01C03C01C00E01C00F0 +1C00701C00701C00701C00701C00F01C00E01C03E07FFFC0FFFF807FFE00141C7F9B18> +I<00F8E003FEE007FFE00F07E01E03E03C01E03800E07000E07000E0700000E00000E000 +00E00000E00000E00000E00000E00000E000007000007000E07000E03800E03C00E01E01 +C00F07C007FF8003FE0000F800131C7E9B18>I<7FF800FFFE007FFF001C0F801C03C01C +03C01C01E01C00E01C00E01C00F01C00701C00701C00701C00701C00701C00701C00701C +00701C00F01C00E01C00E01C01E01C01C01C03C01C0F807FFF00FFFE007FF800141C7F9B +18>III<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C07001C0700000E0 +0000E00000E00000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C03803C038 +03C01C07C01F0FC00FFFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F01C01C0 +1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01C0 +1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF87F07F0 +151C7F9B18>I<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001C0 +0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 +0001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18>I<7F07F0FF87F87F07F01C +03C01C07801C07001C0E001C1E001C3C001C38001C70001CF0001DF0001DF0001FB8001F +B8001F1C001E1C001C0E001C0E001C07001C07001C03801C03801C01C07F03F0FF87F87F +03F0151C7F9B18>75 DII<7E07F0FF0FF87F07F01D81C01D81C01D81C01DC1C01CC1C0 +1CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C39C01C39C01C39C01C19C0 +1C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B18>I<0FFE003FFF +807FFFC07803C07001C0F001E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000 +E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07C07C07FFF +C03FFF800FFE00131C7E9B18>II<0FFE00 +3FFF807FFFC07803C07001C0F001E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0 +E000E0E000E0E000E0E000E0E000E0E000E0E000E0E070E0E070E0F079E07039C0783FC0 +7FFFC03FFF800FFE00000F000007800007800003C00001C00001C013227E9B18>I<7FF8 +00FFFE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF +001FFE001FFE001C0F001C07001C03801C03801C03801C03801C03801C039C1C039C1C03 +9C7F01F8FF81F87F00F0161C7F9B18>I<03F1C01FFFC03FFFC07C0FC07003C0E001C0E0 +01C0E001C0E000007000007800003F00001FF00007FE0000FF00000F800003C00001C000 +00E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F800131C7E9B18>I< +7FFFF8FFFFF8FFFFF8E07038E07038E07038E07038007000007000007000007000007000 +007000007000007000007000007000007000007000007000007000007000007000007000 +00700007FF0007FF0007FF00151C7F9B18>IIII<7F0FE07F9FE07F0FE00E07000F0700070E00078E00039C0003DC0001F80001F8 +0000F80000F00000700000F00000F80001FC0001DC00039E00038E00070F000707000E07 +800E03801E03C07F07F0FF07F87F07F0151C7F9B18>II<3FFFE07FFFE07FFFE07001C07003C0700780700700000F00001E00001C00 +003C0000780000700000F00001E00001C00003C0000780000700000F00001E00E01C00E0 +3C00E07800E07000E0FFFFE0FFFFE0FFFFE0131C7E9B18>II<600000F0 +0000F00000F800007800007C00003C00003C00003E00001E00001F00000F00000F00000F +800007800007C00003C00003C00003E00001E00001F00000F00000F80000780000780000 +7C00003C00003E00001E00001E00001F00000F00000F8000078000078000030011247D9F +18>II<018007C01FF07EFCF83EE00E0F067C9B18>I<061E3E387070E0E0 +E0F8FC7C7C38070E789E18>96 D<0FF0001FFC003FFE003C0F0018070000038000038000 +FF8007FF801FFF807F0380780380E00380E00380E00380F00780780F803FFFF81FFDF807 +F0F815147E9318>I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E00 +0EFF800FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E00380E00380E0038 +0F00700F00700F80E00FC1E00FFFC00EFF80063E00151C809B18>I<01FE0007FF001FFF +803E0780380300700000700000E00000E00000E00000E00000E00000E000007000007001 +C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F80003F80001F8000038000 +038000038000038000038003E3800FFB801FFF803C1F80380F80700780700380E00380E0 +0380E00380E00380E00380E00380700780700780380F803C1F801FFFF00FFBF803E3F015 +1C7E9B18>I<01F00007FC001FFE003E0F00380780700380700380E001C0E001C0FFFFC0 +FFFFC0FFFFC0E000007000007001C03801C03E07C01FFF8007FF0001F80012147D9318> +I<001F80007FC000FFE000E1E001C0C001C00001C00001C0007FFFC0FFFFC0FFFFC001C0 +0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 +0001C0007FFF007FFF007FFF00131C7F9B18>I<01E1F007FFF80FFFF81E1E301C0E0038 +07003807003807003807003807001C0E001E1E001FFC001FF80039E0003800001C00001F +FE001FFFC03FFFE07801F0700070E00038E00038E00038E000387800F07E03F01FFFC00F +FF8001FC00151F7F9318>I<7E0000FE00007E00000E00000E00000E00000E00000E0000 +0E3E000EFF800FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E0 +0E00E00E00E00E00E00E00E00E00E07FC7FCFFE7FE7FC7FC171C809B18>I<038007C007 +C007C0038000000000000000007FC0FFC07FC001C001C001C001C001C001C001C001C001 +C001C001C001C001C001C0FFFFFFFFFFFF101D7C9C18>I<0038007C007C007C00380000 +0000000000000FFC0FFC0FFC001C001C001C001C001C001C001C001C001C001C001C001C +001C001C001C001C001C001C001C001C001C001C6038F078FFF07FE03F800E277E9C18> +I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3FF00E3FF00E3FF00E07 +800E0F000E1E000E3C000E78000EF0000FF8000FFC000F9C000F0E000E0F000E07000E03 +800E03C07FC7F8FFC7F87FC7F8151C7F9B18>III<7E3E +00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00 +E00E00E00E00E00E00E00E00E07FC7FCFFE7FE7FC7FC1714809318>I<01F0000FFE001F +FF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0E000E0F001E07001C078 +03C03C07803E0F801FFF000FFE0001F00013147E9318>I<7E3E00FEFF807FFFC00FC1E0 +0F80E00F00700E00700E00380E00380E00380E00380E00380E00380F00700F00700F80E0 +0FC1E00FFFC00EFF800E3E000E00000E00000E00000E00000E00000E00000E00007FC000 +FFE0007FC000151E809318>I<01F38007FB801FFF803E1F80380F80700780700780E003 +80E00380E00380E00380E00380E00380700780700780380F803C1F801FFF800FFB8003E3 +80000380000380000380000380000380000380000380001FF0003FF8001FF0151E7E9318 +>II<07F700 +3FFF007FFF00780F00E00700E00700E007007C00007FE0001FFC0003FE00001F00600780 +E00380E00380F00380F80F00FFFF00FFFC00E7F00011147D9318>I<0180000380000380 +000380000380007FFFC0FFFFC0FFFFC00380000380000380000380000380000380000380 +000380000380000380400380E00380E00380E001C1C001FFC000FF80003E0013197F9818 +>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E +00E00E00E00E00E00E00E00E01E00F03E007FFFC03FFFE01FCFC1714809318>I<7F8FF0 +FF8FF87F8FF01C01C00E03800E03800E0380070700070700070700078F00038E00038E00 +038E0001DC0001DC0001DC0000F80000F80000700015147F9318>II<7F8FF07F9FF07F8FF00F070007 +8E00039E0001DC0001F80000F80000700000F00000F80001DC00039E00038E000707000E +07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0FF8FF87F8FF00E01C00E03800E0380 +070380070700070700038700038700038E0001CE0001CE0001CC0000CC0000DC00007800 +00780000780000700000700000700000F00000E00079E0007BC0007F80003F00001E0000 +151E7F9318>I<3FFFF07FFFF07FFFF07001E07003C0700780000F00001E00003C0000F8 +0001F00003C0000780000F00701E00703C0070780070FFFFF0FFFFF0FFFFF014147F9318 +>I<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +F0600424769F18>124 D<060C1F1E3FBEFBF8F1F060C00F067C9B18>126 +D E /Fx 3 108 df<007F004003FFE0C00780F0C00E0019C01C0007C0380003C0780001 C0700001C0F00000C0F00000C0F00000C0F0000040F8000040F80000407C0000007E0000 007F8000003FF000001FFF80000FFFF00007FFFC0001FFFE00003FFF000003FF8000003F C000000FE0000003E0000003F0000001F0800001F0800000F0800000F0800000F0C00000 @@ -1361,7 +1552,7 @@ F0C00000E0E00000E0E00001E0F00001C0F8000380E6000700C3E01E00C0FFF800801FE0 000F0030000F0040000F0080000F0100000F0300000F0780000F0BC0000F13E0000F21E0 000F40F0000F8078000F0078000F003C000F001E000F001E000F000F000F0007800F0007 C00F0003C00F0001E00F0003F0FFF007FEFFF007FE1F1F7D9E26>107 -D E /Fw 45 122 df<0001FF0000001FFFC000007F81E00000FC01E00001F807F00003F8 +D E /Fy 46 122 df<0001FF0000001FFFC000007F81E00000FC01E00001F807F00003F8 07F00007F007F00007F007F00007F007F00007F007F00007F001C00007F000000007F000 000007F000000007F03FF800FFFFFFF800FFFFFFF800FFFFFFF80007F003F80007F003F8 0007F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F800 @@ -1399,235 +1590,250 @@ FE0000FFFF0001FC078003F00FC007C01FC00F801FC01F801FC01F001FC03F000F803F00 00007E0000007E0000007E000000FE020000FE1FF000FE3FFC00FE603E00FE801F00FF80 1F80FF000FC0FF000FC0FE000FE0FE000FE0FE000FE0FE000FE07E000FE07E000FE07E00 0FE07E000FE03E000FE03F000FC01F000FC01F001F800F801F0007E07E0003FFFC0001FF -F800003FC0001B277DA622>I<00000780000000000780000000000FC0000000000FC000 -0000000FC0000000001FE0000000001FE0000000003FF0000000003FF0000000003FF000 -00000077F80000000077F800000000F7FC00000000E3FC00000000E3FC00000001C1FE00 -000001C1FE00000003C1FF0000000380FF0000000380FF00000007007F80000007007F80 -00000F007FC000000E003FC000000E003FC000001C001FE000001C001FE000003FFFFFF0 -00003FFFFFF000003FFFFFF00000700007F80000700007F80000F00007FC0000E00003FC -0001E00003FE0001C00001FE0001C00001FE0003C00001FF00FFFE003FFFFCFFFE003FFF -FCFFFE003FFFFC2E297EA833>65 DI<00007FE0030007FFFC07001FFFFF0F007FF00F9F00FF0001FF -01FC0000FF03F800007F07F000003F0FE000001F1FC000001F1FC000000F3F8000000F3F -800000077F800000077F800000077F00000000FF00000000FF00000000FF00000000FF00 -000000FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F8000 -00007F800000073F800000073F800000071FC00000071FC000000E0FE000000E07F00000 -1C03F800003C01FC00007800FF0001F0007FF007C0001FFFFF800007FFFE0000007FF000 -28297CA831>I69 D<00007FE003000007FFFC0700001FFFFF0F00007FF00F9F0000FF0001FF0001FC -0000FF0003F800007F0007F000003F000FE000001F001FC000001F001FC000000F003F80 -00000F003F80000007007F80000007007F80000007007F0000000000FF0000000000FF00 -00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00 -00000000FF0000FFFFF87F0000FFFFF87F8000FFFFF87F800000FF003F800000FF003F80 -0000FF001FC00000FF001FC00000FF000FE00000FF0007F00000FF0003F80000FF0001FC -0000FF0000FF0001FF00007FF007FF00001FFFFF9F000007FFFE0F0000007FF003002D29 -7CA835>71 DI<007F800001FFF00007FFF8000FC0FC001F803E003F001F +007E001F807E001F807E000F80FE000FC0FE000FC0FE000FC0FE000FE0FE000FE0FE000F +E0FE000FE0FE000FE07E001FE07E001FE03F003FE01F002FE00F80CFE007FF8FE001FF0F +E000080FE000000FC000000FC000000FC000001F803E001F807F001F807F003F007F003E +007F007E007E00FC003E03F8001FFFE0000FFF800001FE00001B277DA622>57 +D<00000780000000000780000000000FC0000000000FC0000000000FC0000000001FE000 +0000001FE0000000003FF0000000003FF0000000003FF00000000077F80000000077F800 +000000F7FC00000000E3FC00000000E3FC00000001C1FE00000001C1FE00000003C1FF00 +00000380FF0000000380FF00000007007F80000007007F8000000F007FC000000E003FC0 +00000E003FC000001C001FE000001C001FE000003FFFFFF000003FFFFFF000003FFFFFF0 +0000700007F80000700007F80000F00007FC0000E00003FC0001E00003FE0001C00001FE +0001C00001FE0003C00001FF00FFFE003FFFFCFFFE003FFFFCFFFE003FFFFC2E297EA833 +>65 DI<00 +007FE0030007FFFC07001FFFFF0F007FF00F9F00FF0001FF01FC0000FF03F800007F07F0 +00003F0FE000001F1FC000001F1FC000000F3F8000000F3F800000077F800000077F8000 +00077F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000000 +00FF00000000FF00000000FF000000007F000000007F800000007F800000073F80000007 +3F800000071FC00000071FC000000E0FE000000E07F000001C03F800003C01FC00007800 +FF0001F0007FF007C0001FFFFF800007FFFE0000007FF00028297CA831>I69 +D<00007FE003000007FFFC0700001FFFFF0F00007FF00F9F0000FF0001FF0001FC0000FF +0003F800007F0007F000003F000FE000001F001FC000001F001FC000000F003F8000000F +003F80000007007F80000007007F80000007007F0000000000FF0000000000FF00000000 +00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000 +00FF0000FFFFF87F0000FFFFF87F8000FFFFF87F800000FF003F800000FF003F800000FF +001FC00000FF001FC00000FF000FE00000FF0007F00000FF0003F80000FF0001FC0000FF +0000FF0001FF00007FF007FF00001FFFFF9F000007FFFE0F0000007FF003002D297CA835 +>71 D73 -D73 D76 -D<0000FFC00000000FFFFC0000003F807F000000FE001FC00001F80007E00003F00003F0 -0007E00001F8000FE00001FC001FC00000FE001FC00000FE003F8000007F003F8000007F -007F8000007F807F0000003F807F0000003F807F0000003F80FF0000003FC0FF0000003F -C0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003F -C0FF0000003FC0FF0000003FC07F0000003F807F8000007F807F8000007F803F8000007F -003F8000007F001FC00000FE001FC00000FE000FE00001FC0007F00003F80003F80007F0 -0001FC000FE00000FE001FC000003FC0FF0000000FFFFC00000000FFC000002A297CA833 ->79 DI82 -D<00FF806003FFF0E00FFFF8E01F80FDE03F001FE03E0007E07C0003E07C0003E0FC0001 -E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFC00007FFFE0003FFFF8 -001FFFFE001FFFFF0007FFFF8003FFFFC000FFFFC0000FFFE000007FE000001FF000000F -F0000007F0E00003F0E00003F0E00003F0E00003F0F00003E0F00003E0F80007E0FC0007 -C0FF000F80FFE03F80E3FFFE00E1FFFC00C01FF0001C297CA825>I<7FFFFFFFFF807FFF -FFFFFF807FFFFFFFFF807F807F807F807C007F800F8078007F80078078007F8007807000 -7F800380F0007F8003C0F0007F8003C0E0007F8001C0E0007F8001C0E0007F8001C0E000 -7F8001C0E0007F8001C000007F80000000007F80000000007F80000000007F8000000000 -7F80000000007F80000000007F80000000007F80000000007F80000000007F8000000000 -7F80000000007F80000000007F80000000007F80000000007F80000000007F8000000000 -7F80000000007F80000000007F80000000007F80000000007F80000000007F80000000FF -FFFFC00000FFFFFFC00000FFFFFFC0002A287EA72F>I<03FF80000FFFF0001F01FC003F -80FE003F807F003F803F003F803F801F003F8000003F8000003F8000003F8000003F8000 -3FFF8001FC3F800FE03F801F803F803F003F807E003F80FC003F80FC003F80FC003F80FC -003F80FC005F807E00DF803F839FFC1FFE0FFC03FC03FC1E1B7E9A21>97 -DI<003FF000 -01FFFC0003F03E000FC07F001F807F003F007F003F007F007F003E007E0000007E000000 -FE000000FE000000FE000000FE000000FE000000FE000000FE0000007E0000007E000000 -7F0000003F0003803F8003801F8007000FE00E0003F83C0001FFF800003FC000191B7E9A -1E>I<00007FF000007FF000007FF0000007F0000007F0000007F0000007F0000007F000 -0007F0000007F0000007F0000007F0000007F0000007F0000007F0003F87F001FFF7F007 -F03FF00FC00FF01F8007F03F0007F03F0007F07E0007F07E0007F07E0007F0FE0007F0FE -0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F07E0007F07E0007F03F -0007F03F0007F01F800FF00FC01FF007E07FFF01FFE7FF007F87FF202A7EA925>I<003F -C00001FFF00003E07C000F803E001F801F001F001F003F000F807E000F807E000FC07E00 -0FC0FE0007C0FE0007C0FFFFFFC0FFFFFFC0FE000000FE000000FE0000007E0000007E00 -00007F0000003F0001C01F0001C00F80038007C0070003F01E0000FFFC00003FE0001A1B -7E9A1F>I<0007F8003FFC007E3E01FC7F03F87F03F07F07F07F07F03E07F00007F00007 -F00007F00007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007 -F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007 -F00007F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915>I<00FF80F003FF -E3F80FC1FE1C1F007C7C3F007E7C3E003E107E003F007E003F007E003F007E003F007E00 -3F007E003F003E003E003F007E001F007C000FC1F8000BFFE00018FF8000180000003800 -0000380000003C0000003FFFF8003FFFFF001FFFFFC00FFFFFE007FFFFF01FFFFFF03C00 -07F07C0001F8F80000F8F80000F8F80000F8F80000F87C0001F07C0001F03F0007E00FC0 -1F8007FFFF00007FF0001E287E9A22>I76 D<0000FFC00000000FFFFC000000 +3F807F000000FE001FC00001F80007E00003F00003F00007E00001F8000FE00001FC001F +C00000FE001FC00000FE003F8000007F003F8000007F007F8000007F807F0000003F807F +0000003F807F0000003F80FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF +0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC07F +0000003F807F8000007F807F8000007F803F8000007F003F8000007F001FC00000FE001F +C00000FE000FE00001FC0007F00003F80003F80007F00001FC000FE00000FE001FC00000 +3FC0FF0000000FFFFC00000000FFC000002A297CA833>79 DI82 D<00FF806003FFF0E00FFFF8E01F +80FDE03F001FE03E0007E07C0003E07C0003E0FC0001E0FC0001E0FC0000E0FE0000E0FE +0000E0FF000000FFC000007FFC00007FFFE0003FFFF8001FFFFE001FFFFF0007FFFF8003 +FFFFC000FFFFC0000FFFE000007FE000001FF000000FF0000007F0E00003F0E00003F0E0 +0003F0E00003F0F00003E0F00003E0F80007E0FC0007C0FF000F80FFE03F80E3FFFE00E1 +FFFC00C01FF0001C297CA825>I<7FFFFFFFFF807FFFFFFFFF807FFFFFFFFF807F807F80 +7F807C007F800F8078007F80078078007F80078070007F800380F0007F8003C0F0007F80 +03C0E0007F8001C0E0007F8001C0E0007F8001C0E0007F8001C0E0007F8001C000007F80 +000000007F80000000007F80000000007F80000000007F80000000007F80000000007F80 +000000007F80000000007F80000000007F80000000007F80000000007F80000000007F80 +000000007F80000000007F80000000007F80000000007F80000000007F80000000007F80 +000000007F80000000007F80000000007F80000000FFFFFFC00000FFFFFFC00000FFFFFF +C0002A287EA72F>I<03FF80000FFFF0001F01FC003F80FE003F807F003F803F003F803F +801F003F8000003F8000003F8000003F8000003F80003FFF8001FC3F800FE03F801F803F +803F003F807E003F80FC003F80FC003F80FC003F80FC003F80FC005F807E00DF803F839F +FC1FFE0FFC03FC03FC1E1B7E9A21>97 DI<07000F801FC03FE03FE03FE01FC00F800700000000000000 -0000000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0 -0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7EAA12>II<003FF00001FFFC0003F03E000FC07F001F807F003F007F00 +3F007F007F003E007E0000007E000000FE000000FE000000FE000000FE000000FE000000 +FE000000FE0000007E0000007E0000007F0000003F0003803F8003801F8007000FE00E00 +03F83C0001FFF800003FC000191B7E9A1E>I<00007FF000007FF000007FF0000007F000 +0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 +0007F0000007F0003F87F001FFF7F007F03FF00FC00FF01F8007F03F0007F03F0007F07E +0007F07E0007F07E0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE +0007F0FE0007F07E0007F07E0007F03F0007F03F0007F01F800FF00FC01FF007E07FFF01 +FFE7FF007F87FF202A7EA925>I<003FC00001FFF00003E07C000F803E001F801F001F00 +1F003F000F807E000F807E000FC07E000FC0FE0007C0FE0007C0FFFFFFC0FFFFFFC0FE00 +0000FE000000FE0000007E0000007E0000007F0000003F0001C01F0001C00F80038007C0 +070003F01E0000FFFC00003FE0001A1B7E9A1F>I<0007F8003FFC007E3E01FC7F03F87F +03F07F07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFFC0FFFFC0 +FFFFC007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000 +07F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF807FFF80 +7FFF80182A7EA915>I<00FF80F003FFE3F80FC1FE1C1F007C7C3F007E7C3E003E107E00 +3F007E003F007E003F007E003F007E003F007E003F003E003E003F007E001F007C000FC1 +F8000BFFE00018FF80001800000038000000380000003C0000003FFFF8003FFFFF001FFF +FFC00FFFFFE007FFFFF01FFFFFF03C0007F07C0001F8F80000F8F80000F8F80000F8F800 +00F87C0001F07C0001F03F0007E00FC01F8007FFFF00007FF0001E287E9A22>I107 -DII< -FFC07E00FFC1FF80FFC30FC00FC40FE00FC807E00FD807F00FD007F00FD007F00FE007F0 -0FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F0 -0FE007F00FE007F00FE007F00FE007F00FE007F00FE007F0FFFE3FFFFFFE3FFFFFFE3FFF -201B7D9A25>I<003FE00001FFFC0003F07E000FC01F801F800FC03F0007E03F0007E07E -0003F07E0003F07E0003F0FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE -0003F8FE0003F87E0003F07E0003F03F0007E03F0007E01F800FC00FC01F8007F07F0001 -FFFC00003FE0001D1B7E9A22>II114 D<03FE300FFFF03E03F07800F07000F0F00070F00070 -F80070FE0000FFE0007FFF007FFFC03FFFE01FFFF007FFF800FFF80007FC0000FCE0007C -E0003CF0003CF00038F80038FC0070FF01E0E7FFC0C1FF00161B7E9A1B>I<00E00000E0 -0000E00000E00001E00001E00001E00003E00003E00007E0000FE0001FFFE0FFFFE0FFFF -E00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0 -000FE0000FE0700FE0700FE0700FE0700FE0700FE0700FE07007F0E003F0C001FF80007F -0014267FA51A>IIIII -I E /Fx 22 123 df<60F0F06004047C830C>58 D<000001800000078000001E00000078 -000001E00000078000000E00000038000000F0000003C000000F0000003C000000F00000 -00F00000003C0000000F00000003C0000000F0000000380000000E0000000780000001E0 -000000780000001E000000078000000180191A7D9620>60 D62 -D<01FFFE00003C03C0003800E0003800F00038007000380070007000F0007000F0007000 -F0007001E000E001C000E0078000E01E0000FFF00001C0380001C00C0001C00E0001C00E -0003800E0003800E0003800E0003800E0007001E0007001E0807001E0807001E100F000F -10FFE00F20000003C01D1D7E9B20>82 D<000FC100303300400F00800601800603000603 -000606000406000407000007000007800003F00001FF0000FFC0003FE00003E00000F000 -00700000300000302000302000306000606000606000C0600080F00300CC060083F80018 -1E7E9C19>I<01E3000717000C0F00180F00380E00300E00700E00700E00E01C00E01C00 -E01C00E01C00E03880E03880E038806078803199001E0E0011127E9116>97 -D<3F00070007000E000E000E000E001C001C001C001C0039E03A303C1838187018701C70 -1C701CE038E038E038E030E070E060E0C061C023001E000E1D7E9C12>I<01F007080C08 -18043808300870307FC0E000E000E000E000E000E0046008601030600F800E127E9113> -101 D<0038C000C5C00183C00303C00703800603800E03800E03801C07001C07001C0700 -1C07001C0E001C0E001C0E000C1E00047C00039C00001C00001C00003800603800F03000 -F07000E0C0007F0000121A809114>103 D<01C003C003C0018000000000000000000000 -00001C00270047004700870087000E000E001C001C001C00380038803880708071003200 -1C000A1C7E9B0E>105 D<0007000F000F00060000000000000000000000000078009C01 -0C020C021C041C001C001C0038003800380038007000700070007000E000E000E000E001 -C061C0F180F300E6007C001024809B11>I<0FC00001C00001C000038000038000038000 -0380000700000700000700000700000E07000E08800E11C00E23C01C47801C83001D0000 -1E00003FC00038E000387000387000707100707100707100707200E03200601C00121D7E -9C16>I<3C1F004E61804681C04701C08F01C08E01C00E01C00E01C01C03801C03801C03 -801C0700380710380710380E10380E2070064030038014127E9119>110 -D<00F800030C000E06001C0300180300300300700380700380E00700E00700E00700E00E -00E00E00E01C0060180060300030E0000F800011127E9114>I<07878009C86008D03008 -E03011C03011C03801C03801C0380380700380700380700380600700E00700C007018007 -83000E86000E78000E00000E00001C00001C00001C00001C00003C0000FF0000151A8191 -15>I<01C206260C1E181E381C301C701C701CE038E038E038E038E070E070E07060F023 -E01CE000E000E001C001C001C001C003801FF00F1A7E9113>I<3C3C4E424687470F8E1E -8E0C0E000E001C001C001C001C0038003800380038007000300010127E9113>I<01F006 -0C0C040C0E180C1C001F000FE00FF003F80038201C7018F018F010803060601F800F127E -9113>I<00C001C001C001C00380038003800380FFF00700070007000E000E000E000E00 -1C001C001C001C00382038203840384018800F000C1A80990F>I<07878008C84010F0C0 -20F1E020E3C040E18000E00000E00001C00001C00001C00001C000638080F38080F38100 -E5810084C60078780013127E9118>120 D<1C00C02701C04701C04701C0870380870380 -0E03800E03801C07001C07001C07001C0700180E00180E00180E001C1E000C3C0007DC00 -001C00001800603800F03000F06000E0C0004180003E0000121A7E9114>I<038107C10F -F6081C10080010002000400080010002000400080410043C1867F843F081E010127E9113 ->I E /Fy 8 58 df<0F0030C0606060604020C030C030C030C030C030C030C030C030C0 -3040206060606030C00F000C137E9211>48 D<0C001C00EC000C000C000C000C000C000C -000C000C000C000C000C000C000C000C000C00FFC00A137D9211>I<1F0060C06060F070 -F030603000700070006000C001C00180020004000810101020207FE0FFE00C137E9211> -I<0FC030707038703870380038003000E00FC0007000380018001C601CF01CF018E03860 -701FC00E137F9211>I<006000E000E00160026006600C600860106020606060C060FFFC -0060006000600060006003FC0E137F9211>I<60607FC07F8044004000400040004F0070 -C040E0006000700070E070E070E06040E021C01F000C137E9211>I<0FC0107020186018 -601870183C303F600F800FE031F06078C01CC00CC00CC00C601830300FC00E137F9211> -56 D<0F00308060404060C020C030C030C0304030607030B00F30003000200060E040E0 -8041003E000C137E9211>I E /Fz 6 116 df<03F0400C0CC01002C03001C06000C0E000 -C0E00040E00040E00040F00000F800007E00007FE0003FFC001FFF0007FF80007F800007 -C00003E00001E00000E08000E08000E08000E0C000C0C000C0E00180D00300CE060081F8 -00131E7D9C19>83 D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F00 -20800F0020800F0020000F0000000F0000000F0000000F0000000F0000000F0000000F00 -00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00 -00000F0000001F800003FFFC001B1C7D9B21>I107 DI<01F800070E000C03001C03803801C07801E0 -7000E0F000F0F000F0F000F0F000F0F000F0F000F0F000F07000E07801E03801C01C0380 -1E0780070E0001F80014157E941A>111 D<1F1030F06030C030C010C010E000E0007E00 -3FC01FE003F0007800380018801880188010C030F0608F800D157E9413>115 -D E /FA 36 122 df<0000001FFF8000FFC000000003FFFFF01FFFF00000001FFFFFF87F +000FE000000FE000000FE000000FE000000FE000000FE07E000FE1FF800FE30FC00FE40F +E00FE807E00FF807F00FF007F00FF007F00FE007F00FE007F00FE007F00FE007F00FE007 +F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007 +F00FE007F00FE007F0FFFE3FFFFFFE3FFFFFFE3FFF202A7DA925>I<07000F801FC03FE0 +3FE03FE01FC00F8007000000000000000000000000000000FFE0FFE0FFE00FE00FE00FE0 +0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0 +FFFEFFFEFFFE0F2B7EAA12>I107 DIII<003FE00001FFFC0003F07E000FC01F801F800FC0 +3F0007E03F0007E07E0003F07E0003F07E0003F0FE0003F8FE0003F8FE0003F8FE0003F8 +FE0003F8FE0003F8FE0003F8FE0003F87E0003F07E0003F03F0007E03F0007E01F800FC0 +0FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>II114 D<03FE300FFFF03E03F07800F0 +7000F0F00070F00070F80070FE0000FFE0007FFF007FFFC03FFFE01FFFF007FFF800FFF8 +0007FC0000FCE0007CE0003CF0003CF00038F80038FC0070FF01E0E7FFC0C1FF00161B7E +9A1B>I<00E00000E00000E00000E00001E00001E00001E00003E00003E00007E0000FE0 +001FFFE0FFFFE0FFFFE00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0 +000FE0000FE0000FE0000FE0000FE0700FE0700FE0700FE0700FE0700FE0700FE07007F0 +E003F0C001FF80007F0014267FA51A>IIIIII E /Fz 22 123 df<70F8F8F87005057C840D>58 +D<000000C0000003C000000F0000001C00000070000001E00000078000001E0000007800 +0001E00000038000000E0000003C000000F0000000F00000003C0000000E000000038000 +0001E0000000780000001E0000000780000001E0000000700000001C0000000F00000003 +C0000000C01A1C7C9823>60 D62 D<01FFFF80001E00F0001E00 +38001E001C001E001C003C001E003C001E003C001E003C001E0078003C0078003C007800 +78007800F000F001C000F0070000FFF80000F00E0001E0070001E0078001E0038001E003 +C003C0078003C0078003C0078003C0078007800F0007800F0207800F0207800F040F8007 +04FFF80308000001F01F207E9E23>82 D<0003F040000C08C0003005800060038000C003 +8001C00180018001000380010003800100038001000380000003C0000003E0000003FC00 +0001FFC00000FFF000007FF800001FF8000001FC0000007C0000003C0000001C0000001C +0020001C0020001C00200018006000380060003000600070007000E000E8018000C60300 +0081FC00001A217E9F1C>I<00F1800389C00707800E03801C03803C0380380700780700 +780700780700F00E00F00E00F00E00F00E10F01C20F01C20703C20705C40308C400F0780 +14147E9318>97 D<07803F8007000700070007000E000E000E000E001C001C001CF01D0C +3A0E3C0E380F380F700F700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F00 +10207E9F14>I<007C018207010E011C013C013802780C7BF07C00F000F000F000F00070 +0070017002300418380FC010147E9315>101 D<001E3000713800E0F001C07003807007 +80700700E00F00E00F00E00F00E01E01C01E01C01E01C01E01C01E03801E03800E07800E +0B8006170001E700000700000700000E00000E00300E00781C00F038006070003FC00015 +1D809316>103 D<00E001E001E000C000000000000000000000000000000E0013002380 +4380438043808700070007000E000E001C001C001C20384038403840388019000E000B1F +7E9E10>105 D<0000C00001E00001E00001C00000000000000000000000000000000000 +00000000001E00002300004380008380010380010380020700000700000700000700000E +00000E00000E00000E00001C00001C00001C00001C000038000038000038000038000070 +0000700030700078E000F1C0006380003E00001328819E13>I<01E0000FE00001C00001 +C00001C00001C0000380000380000380000380000700000700000701E00706100E08700E +10F00E20F00E20601C40001D80001E00001FC000387000383800383800381C2070384070 +3840703840701880E01880600F0014207E9F18>I<1E07802318C023A06043C070438070 +4380708700E00700E00700E00700E00E01C00E01C00E01C00E03821C03841C07041C0708 +1C03083803101801E017147E931B>110 D<007C0001C3000301800E01C01E01C01C01E0 +3C01E07801E07801E07801E0F003C0F003C0F003C0F00780F00700700F00700E00301800 +18700007C00013147E9316>I<03C1E004621804741C08781C08701E08701E10E01E00E0 +1E00E01E00E01E01C03C01C03C01C03C01C0380380780380700380E003C1C0072380071E +000700000700000E00000E00000E00000E00001C00001C0000FFC000171D819317>I<00 +F0400388C00705800E03801C03803C0380380700780700780700780700F00E00F00E00F0 +0E00F00E00F01C00F01C00703C00705C0030B8000F380000380000380000700000700000 +700000700000E00000E0000FFC00121D7E9314>I<1C1E00262100474380478780470780 +4703008E00000E00000E00000E00001C00001C00001C00001C0000380000380000380000 +38000070000030000011147E9315>I<00FC000303000600800C01800C03800C03000E00 +000F80000FF80007FC0001FE00001F00000700700700F00600F00600E004004008002030 +001FC00011147E9315>I<018001C0038003800380038007000700FFF807000E000E000E +000E001C001C001C001C003800380038003810702070207040708031001E000D1C7F9B10 +>I<03C1C00C62201034701038F02038F020386040700000700000700000700000E00000 +E00000E00000E02061C040F1C040F1C080E2C080446300383C0014147E931A>120 +D<1E00602300702300E04380E04300E04700E08701C00E01C00E01C00E01C01C03801C03 +801C03801C03801C07001807001C07001C0F000C3E0003CE00000E00000E00001C00F018 +00F03800E07000C0600041C0003F0000141D7E9316>I<01C02003F04007F8C00C1F8008 +010000020000040000080000100000600000C0000100000200000400800801001003003F +060063FE0040FC0080700013147E9315>I E /FA 8 56 df<07C018303018701C600C60 +0CE00EE00EE00EE00EE00EE00EE00EE00EE00E600C600C701C30181C7007C00F157F9412 +>48 D<06000E00FE000E000E000E000E000E000E000E000E000E000E000E000E000E000E +000E000E000E00FFE00B157D9412>I<0F8030E040708030C038E0384038003800700070 +006000C00180030006000C08080810183FF07FF0FFF00D157E9412>I<0FE03030601870 +1C701C001C00180038006007E000300018000C000E000EE00EE00EC00C401830300FE00F +157F9412>I<00300030007000F001F001700270047008701870107020704070C070FFFE +0070007000700070007003FE0F157F9412>I<60307FE07FC0440040004000400040004F +8070E040700030003800384038E038E0388030406020C01F000D157E9412>I<01F00608 +080C181C301C70006000E000E3E0EC30F018F00CE00EE00EE00E600E600E300C30181830 +07C00F157F9412>I<40007FFE7FFC7FF8C0088010802000400080008001000300030002 +00060006000E000E000E000E000E0004000F167E9512>I E /FB +6 116 df<03F0200C0C601803E03000E06000E0600060E00060E00020E00020E00020F0 +0000F800007C00007F80003FFC001FFF0007FF8001FFC0000FE00003E00001E00000F000 +0070800070800070800070800070C00060C000E0E000C0F80180C6030081FC0014217C9F +1C>83 D<7FFFFFF878078078600780184007800840078008C007800C8007800480078004 +800780048007800400078000000780000007800000078000000780000007800000078000 +000780000007800000078000000780000007800000078000000780000007800000078000 +000780000007800000078000000FC00003FFFF001E1F7D9E24>I107 +DI<00FE000383800E00E01C00703C007838003878003C70001CF0001EF0001EF0 +001EF0001EF0001EF0001EF0001E70001C78003C3800383C00781C00700E00E003838000 +FE0017177E961D>111 D<0FC4302C601C400CC004C004C004E00070007F003FE00FF801 +FC001C000E0006800680068006C004E008D81087E00F177E9615>115 +D E /FC 36 122 df<0000001FFF8000FFC000000003FFFFF01FFFF00000001FFFFFF87F FFFC0000007FF801FFFFC0FE000001FFC0003FFF01FF000007FF0000FFFC03FF00000FFC 0001FFF807FF80001FF80001FFF807FF80003FF80003FFF007FF80003FF00003FFF007FF 80007FF00003FFE007FF80007FE00003FFE003FF0000FFE00001FFE001FE0000FFE00001 @@ -2104,477 +2310,552 @@ F00000000007FFE00000000007FFE00000000007FFE00000000003FFC00000000003FFC0 000000F8000000000000F0000000000001F00000001F0001E00000003F8003E00000007F C003C0000000FFE007C0000000FFE00780000000FFE00F80000000FFE01F00000000FFE0 1E000000007FC07C000000007F80F8000000003F03F0000000001FFFE00000000007FF80 -0000000001FC000000000038427EAD3D>I E /FB 49 123 df<0000FE00000301800006 -0180000C0380001C0180001C0000001800000038000000380000003800000038000003FF -FE0000700E0000700E0000700E0000701C0000701C0000E01C0000E01C0000E0380000E0 -380000E0380001C0380001C0720001C0720001C0720001C0720003803400038018000380 -0000030000000300000007000000C6000000E6000000CC000000780000001925819C17> -12 D<183C3C3C0404080810204080060C779C0D>39 D<00030006000800180030006000 -C000C0018003000300060006000C000C001C001800180038003000300070007000600060 -0060006000E000E000E000E000E000600060006000600060002000300010000800080010 -2A7B9E11>I<001000100008000C00040006000600060006000600070007000700070007 -0006000600060006000E000E000C000C001C001800180038003000300060006000C000C0 -01800300030006000C00180010006000C000102A809E11>I -45 D<3078F06005047C830D>I<00000200000600000600000C00000C0000180000300000 -300000600000600000C00000C0000180000180000300000600000600000C00000C000018 -0000180000300000300000600000C00000C0000180000180000300000300000600000C00 -000C0000180000180000300000300000600000600000C0000080000017297F9E15>I<01 -E006180808100C100C200C400C401C8018E038E0F0C1E003C007800F001C003800308030 -8031001E000000000000000000000030007800F00060000E1E789D15>63 -D<0000180000001800000038000000380000007800000078000000B80000013800000138 -0000023C0000021C0000041C00000C1C0000081C0000101C0000101C0000201C0000201C -00007FFC0000C01C0000801C0001001C0001001E0002000E0002000E0004000E000C000E -001C001E00FF00FFC01A1D7E9C1F>65 D<0003F020001E0C60003002E000E003C001C001 -C0038001C0070000C00E0000801E0000801C0000803C0000803C00000078000000780000 -0078000000F0000000F0000000F0000000F0000000F0000400F0000400F0000400F00008 -00700008007000100038002000180040000C0180000706000001F800001B1E7A9C1E>67 -D<01FFFF00003C03C0003800E0003800E000380070003800700070007800700038007000 -380070007800E0007800E0007800E0007800E0007801C000F001C000F001C000F001C000 -E0038001E0038001C0038003C0038003800700070007000E0007001C00070038000E00E0 -00FFFF80001D1C7E9B1F>I<01FFFFF0003C00F000380030003800200038002000380020 -0070002000700020007008200070080000E0100000E0100000E0300000FFF00001C02000 -01C0200001C0200001C02000038040800380008003800080038001000700010007000300 -07000200070006000E003C00FFFFFC001C1C7E9B1C>I<01FFFFF0003C00F00038003000 -38002000380020003800200070002000700020007008200070080000E0100000E0100000 -E0300000FFF00001C0200001C0200001C0200001C0200003804000038000000380000003 -800000070000000700000007000000070000000F000000FFF000001C1C7E9B1B>I<03FF -0078007000700070007000E000E000E000E001C001C001C001C003800380038003800700 -0700070007000E000E000E000E001E00FFC0101C7D9B10>73 D<01FFC0003C0000380000 -380000380000380000700000700000700000700000E00000E00000E00000E00001C00001 -C00001C00001C00003800203800203800203800407000407000C0700180700380E00F0FF -FFF0171C7E9B1A>76 D<01FE0001FE003E0001E0002E0003C0002E0005C0002E0005C000 -2E0009C0004E000B80004E001380004E0023800047002380008700470000870047000087 -00870000870107000107010E000107020E000107040E000107040E000207081C00020388 -1C000203901C000203A01C000403A038000403C038000403C038000C038038001C030078 -00FF8307FF00271C7E9B25>I<01FC00FF80001C001C00002E001800002E001000002E00 -1000002700100000470020000043002000004380200000438020000081C040000081C040 -000081C040000080E040000100E080000100708000010070800001007080000200390000 -0200390000020039000002001D000004001E000004000E000004000E00000C000E00001C -00040000FF80040000211C7E9B1F>I<0007F000001C1C0000700E0000E0070001C00380 -03800380070003800E0003C01E0003C01C0003C03C0003C03C0003C0780003C0780003C0 -780003C0F0000780F0000780F0000780F0000F00F0000F00F0000E00F0001E00F0003C00 -70003800700070007800E0003801C0001C0380000E0E000003F800001A1E7A9C20>I<01 -FFFE00003C0380003801C0003800E0003800E0003800E0007001E0007001E0007001E000 -7001C000E003C000E0038000E0070000E01C0001FFF00001C0000001C0000001C0000003 -800000038000000380000003800000070000000700000007000000070000000F000000FF -E000001B1C7E9B1C>I<01FFFE00003C0780003801C0003801E0003800E0003800E00070 -01E0007001E0007001E0007003C000E0038000E0070000E01C0000FFE00001C0300001C0 -180001C01C0001C01C0003801C0003801C0003801C0003801C0007003C0007003C200700 -3C2007003C200F003C40FFE01E8000000F001B1D7E9B1E>82 D<000F8400304C00403C00 -801801001803001803001806001006001006000007000007000003E00003FC0001FF0000 -7F800007C00001C00001C00000C00000C02000C02000C0600180600180600300600200F0 -0400CC180083E000161E7D9C17>I<1FFFFFC01C0701C0300E00C0200E0080600E008040 -0E0080401C0080801C0080801C0080001C00000038000000380000003800000038000000 -70000000700000007000000070000000E0000000E0000000E0000000E0000001C0000001 -C0000001C0000001C0000003C000007FFE00001A1C799B1E>I86 D<01E307170C0F180F380E300E700E700EE01CE01CE01CE01CE039E039E039 -6079319A1E0C10127C9115>97 D<3F00070007000E000E000E000E001C001C001C001C00 -39E03A183C0C380C700C700E700E700EE01CE01CE01CE018E038E030E06060C031801E00 -0F1D7C9C13>I<00F803040E041C0E181C300070007000E000E000E000E000E000E00460 -08601030600F800F127C9113>I<0007E00000E00000E00001C00001C00001C00001C000 -038000038000038000038001E7000717000C0F00180F00380E00300E00700E00700E00E0 -1C00E01C00E01C00E01C00E03900E03900E03900607900319A001E0C00131D7C9C15>I< -00F807040C0418023804300470087FF0E000E000E000E000E00060046008301030600F80 -0F127C9113>I<0003C0000670000C70001C60001C00001C000038000038000038000038 -0000380003FF8000700000700000700000700000700000E00000E00000E00000E00000E0 -0001C00001C00001C00001C00001C000038000038000038000030000030000070000C600 -00E60000CC00007800001425819C0D>I<0078C001C5C00303C00603C00E03800C03801C -03801C0380380700380700380700380700380E00380E00380E00181E000C7C00079C0000 -1C00001C00003800003800C03000E07000C1C0007F0000121A7E9113>I<0FC00001C000 -01C0000380000380000380000380000700000700000700000700000E3E000EC3000F0380 -0E03801E03801C03801C03801C0380380700380700380700380E00700E40700E40701C40 -701C80E00C80600700121D7E9C15>I<0180038001000000000000000000000000000000 -1C002600470047008E008E000E001C001C001C0038003800710071007100720072003C00 -091C7C9B0D>I<00030007000300000000000000000000000000000078008C010C020C02 -1C041C001C001C0038003800380038007000700070007000E000E000E000E001C001C0C1 -80E300C60078001024819B0D>I<0FC00001C00001C00003800003800003800003800007 -00000700000700000700000E07800E08800E11C00E21C01C41801C80001D00001E00003F -C00038E000387000387000707100707100707100707200E03200601C00121D7E9C13>I< -1F800380038007000700070007000E000E000E000E001C001C001C001C00380038003800 -38007000700070007000E200E200E200E40064003800091D7D9C0B>I<1C1E0780266318 -C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C0701C01C0701 -C01C070380380E0388380E0388380E0708380E0710701C0320300C01C01D127C9122>I< -383E004CC3004D03804E03809E03809C03801C03801C0380380700380700380700380E00 -700E40700E40701C40701C80E00C8060070012127C9117>I<00F800030C000E06001C03 -00180300300300700380700380E00700E00700E00700E00E00E00E00E01C006018006030 -0030E0000F800011127C9115>I<03878004C86004D03004E03009C03009C03801C03801 -C0380380700380700380700380600700E00700C00701800783000E86000E78000E00000E -00001C00001C00001C00001C0000380000FF0000151A809115>I<01E107130C0F180F38 -0E300E700E700EE01CE01CE01CE01CE038E038E038607831F01E700070007000E000E000 -E000E001C00FF8101A7C9113>I<1C3C2642468747078E068E000E000E001C001C001C00 -1C0038003800380038007000300010127C9112>I<01F006080C080C1C18181C001F001F -C00FF007F0007800386030E030C030806060C01F000E127D9111>I<0300070007000700 -0E000E000E000E00FFE01C001C001C0038003800380038007000700070007000E080E080 -E100E100660038000B1A7C990E>I<1C01802E03804E03804E03808E07008E07001C0700 -1C0700380E00380E00380E00380E00301C80301C80301C80383C80184D000F860011127C -9116>I<1C062E0E4E064E068E028E021C021C0238043804380438083008300830103820 -18400F800F127C9113>I<1E01832703874703874703838707018707010E07010E07011C -0E021C0E021C0E021C0E04180C04181C04181C081C1E080C263007C3C018127C911C>I< -0387800CC8400870E01070E020E0C020E00000E00000E00001C00001C00001C00001C000 -038100638100E38200C5820085840078780013127E9113>I<1C01802E03804E03804E03 -808E07008E07001C07001C0700380E00380E00380E00380E00301C00301C00301C00383C -001878000FB800003800003000007000E06000E0C0008180004300003C0000111A7C9114 ->I<01C107E10FF6081C10080010002000400080010002000400080410042C0C73F841F0 -80E010127E9111>I E /FC 54 124 df<003FE3F801F03F1C03C03E3E07C07C3E0F807C -3E0F807C1C0F807C000F807C000F807C000F807C000F807C00FFFFFFC0FFFFFFC00F807C -000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C -000F807C000F807C000F807C000F807C007FE1FF807FE1FF801F1D809C1C>11 -D<003FC00001F0300003C0380007C07C000F807C000F807C000F8038000F8000000F8000 -000F8000000F800000FFFFFC00FFFFFC000F807C000F807C000F807C000F807C000F807C -000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C -007FE1FF807FE1FF80191D809C1B>I<70F8FCFCFC7C0404080808102040060E7D850D> -44 DI<78FCFCFCFC7806067D850D>I<03F8000F1E00 -1C07003C07803803807803C07803C07803C0F803E0F803E0F803E0F803E0F803E0F803E0 -F803E0F803E0F803E0F803E0F803E0F803E07803C07803C03803803C07801C07000F1E00 -03F800131B7E9A18>48 D<00600001E0000FE000FFE000F3E00003E00003E00003E00003 -E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003 -E00003E00003E00003E00003E0007FFF807FFF80111B7D9A18>I<07F8001FFE00383F80 -780FC0FC07C0FC07E0FC03E0FC03E07803E00007E00007C00007C0000F80001F00001E00 -00380000700000E0000180600300600600600800E01FFFC03FFFC07FFFC0FFFFC0FFFFC0 -131B7E9A18>I<07F8001FFE003C1F003C0F807C07C07E07C07C07C03807C0000F80000F -80001E00003C0003F800001E00000F800007C00007C00007E03007E07807E0FC07E0FC07 -E0FC07C0780F80781F001FFE0007F800131B7E9A18>I<000180000380000780000F8000 -1F80003F80006F8000CF80008F80018F80030F80060F800C0F80180F80300F80600F80C0 -0F80FFFFF8FFFFF8000F80000F80000F80000F80000F80000F8000FFF800FFF8151B7F9A -18>I<3801803FFF003FFE003FFC003FF8003FC00030000030000030000030000031F800 -361E00380F803007800007C00007E00007E00007E07807E0F807E0F807E0F807C0F007C0 -600F80381F001FFE0007F000131B7E9A18>I<007E0003FF000781800F03C01E07C03C07 -C07C0380780000780000F80000F8F800FB0E00FA0780FC0380FC03C0F803E0F803E0F803 -E0F803E07803E07803E07803C03C03C03C07801E0F0007FE0003F800131B7E9A18>I<60 -00007FFFE07FFFE07FFFC07FFF807FFF80E00300C00600C00C00C0180000300000300000 -600000E00000E00001E00001C00003C00003C00003C00003C00007C00007C00007C00007 -C00007C00007C000038000131C7D9B18>I<03F8000FFE001E0F803807803803C07803C0 -7C03C07E03C07F83803FC7003FFE001FFC000FFE0007FF001DFF80387FC0781FE0700FE0 -F003E0F001E0F001E0F001E07801C07803803E07801FFE0003F800131B7E9A18>I<03F8 -000FFE001E0F003C07807807807803C0F803C0F803C0F803E0F803E0F803E0F803E07807 -E03807E03C0BE00E1BE003E3E00003E00003C00003C03807C07C07807C0700780F00383C -001FF8000FE000131B7E9A18>I<78FCFCFCFC7800000000000078FCFCFCFC7806127D91 -0D>I<00038000000380000007C0000007C0000007C000000FE000000FE000001FF00000 -1BF000003BF8000031F8000031F8000060FC000060FC0000E0FE0000C07E0000C07E0001 -803F0001FFFF0003FFFF8003001F8007001FC006000FC006000FC00C0007E00C0007E0FF -803FFEFF803FFE1F1C7E9B24>65 DI<001FE02000FFF8E003F8 -0FE007C003E00F8001E01F0000E03E0000E03E0000607E0000607C000060FC000000FC00 -0000FC000000FC000000FC000000FC000000FC000000FC0000007C0000607E0000603E00 -00603E0000C01F0000C00F80018007C0030003F80E0000FFFC00001FE0001B1C7D9B22> -IIII73 D77 -DI80 D82 -D<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE0000FFE0007FFE -003FFF003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000E0E000 -E0F001C0FC03C0EFFF0083FC00141C7D9B1B>I<7FFFFFE07FFFFFE0781F81E0701F80E0 -601F8060E01F8070C01F8030C01F8030C01F8030C01F8030001F8000001F8000001F8000 -001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000 -001F8000001F8000001F8000001F800007FFFE0007FFFE001C1C7E9B21>II<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F07C0 -3C07C07C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 -DI<03FC000E0E001C1F003C1F0078 -1F00780E00F80000F80000F80000F80000F80000F800007800007801803C01801C03000E -0E0003F80011127E9115>I<000FF0000FF00001F00001F00001F00001F00001F00001F0 -0001F00001F00001F001F9F00F07F01C03F03C01F07801F07801F0F801F0F801F0F801F0 -F801F0F801F0F801F07801F07801F03C01F01C03F00F0FFE03F9FE171D7E9C1B>I<03FC -000F07001C03803C01C07801C07801E0F801E0F801E0FFFFE0F80000F80000F800007800 -007800603C00601E00C00F038001FC0013127F9116>I<007F0001E38003C7C00787C00F -87C00F83800F80000F80000F80000F80000F8000FFF800FFF8000F80000F80000F80000F -80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80007FF0007F -F000121D809C0F>I<03F0F00E1F383C0F38380730780780780780780780780780380700 -3C0F001E1C0033F0003000003000003000003FFF003FFFC01FFFE01FFFF07801F8F00078 -F00078F000787000707800F01E03C007FF00151B7F9118>II<1E003F003F003F003F001E000000000000000000000000007F -007F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFC0FFC00A -1E7F9D0E>I107 +0000000001FC000000000038427EAD3D>I E /FD 49 123 df<00003FE00000E0100001 +8038000380780003807800070030000700000007000000070000000E0000000E0000000E +000000FFFFE0000E00E0001C01C0001C01C0001C01C0001C01C0001C0380003803800038 +0380003803800038070000380700007807000070071000700E2000700E2000700E200060 +0E2000E0064000E0038000E0000000C0000000C0000001C000003180000079800000F300 +0000620000003C0000001D29829F1A>12 D<1C3E7E7E3A020404080810204080070E769F +0E>39 D<000100020004000800100020006000C0018001800300070006000E000C001C00 +18003800380030007000700060006000E000E000C000C000C000C000C000C000C000C000 +C000C000C000C000C0004000600060002000100010000800102E79A113>I<0010000008 +000004000006000002000003000003000003000001000001800001800001800001800001 +800001800001800003800003800003800003000003000003000007000007000006000006 +00000E00000C00000C00001C0000180000380000300000700000600000E00000C0000180 +000100000300000600000C0000180000300000600000800000112E80A113>I<7FF0FFE0 +7FE00C037D8A10>45 D<70F8F8F0E005057B840E>I<00000040000000C0000001800000 +01800000030000000300000006000000060000000C000000180000001800000030000000 +3000000060000000C0000000C0000001800000018000000300000003000000060000000C +0000000C0000001800000018000000300000003000000060000000C0000000C000000180 +0000018000000300000003000000060000000C0000000C00000018000000180000003000 +00003000000060000000C0000000C0000000800000001A2D7FA117>I<00780001860006 +0300080100080180100180200180200300400300700700781E00F03C0060780000F00003 +C0000780000F00000E00000C00001840001840000880000F000000000000000000000000 +00000000001C00003E00003E00003C0000380000112178A017>63 +D<00000200000006000000060000000E0000001E0000001E0000003F0000002F0000004F +000000CF0000008F0000010F0000010F0000020F0000020F0000040F0000080F0000080F +0000100F800010078000200780003FFF8000400780008007800080078001000780010007 +800200078006000780040007801E0007C0FF807FF81D207E9F22>65 +D<0000FE0200078186001C004C0038003C0060003C00C0001C01C0001803800018070000 +180F0000181E0000101E0000103C0000003C000000780000007800000078000000780000 +00F0000000F0000000F0000000F0000000F0000080700000807000008070000100380001 +0038000200180004000C001800060020000381C00000FE00001F217A9F21>67 +D<00FFFF80001E00E0001E0070001E0038001E001C003C001C003C000E003C000E003C00 +0E0078000E0078000E0078000E0078000E00F0001E00F0001E00F0001E00F0001E01E000 +3C01E0003C01E0003C01E0007803C0007003C0007003C000E003C001C0078003C0078003 +8007800E0007801C000F007000FFFFC0001F1F7D9E22>I<01FFFFFE001E001C001E000C +001E0004001E0004003C0004003C0004003C0004003C0004007804080078040000780400 +00780C0000F0180000FFF80000F0180000F0180001E0100001E0100001E0100001E00010 +03C0002003C0002003C0004003C00040078000800780018007800100078007000F001F00 +FFFFFE001F1F7D9E1F>I<01FFFFFC001E0038001E0018001E0008001E0008003C000800 +3C0008003C0008003C00080078001000780800007808000078080000F0100000F0300000 +FFF00000F0300001E0200001E0200001E0200001E0200003C0000003C0000003C0000003 +C00000078000000780000007800000078000000F800000FFF800001E1F7D9E1E>I<01FF +F0001F00001E00001E00001E00003C00003C00003C00003C000078000078000078000078 +0000F00000F00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C0 +000780000780000780000780000F8000FFF000141F7D9E12>73 D<01FFF800001F000000 +1E0000001E0000001E0000003C0000003C0000003C0000003C0000007800000078000000 +7800000078000000F0000000F0000000F0000000F0000001E0000001E0000001E0000001 +E0008003C0010003C0010003C0030003C00200078006000780060007800C0007801C000F +007800FFFFF800191F7D9E1D>76 D<01FE00007FC0001E0000FC00001E0000F800001700 +01780000170001780000270002F00000270004F00000270004F00000270008F000004700 +09E00000470011E00000470021E00000470021E00000870043C00000838043C000008380 +83C00000838083C000010381078000010382078000010382078000010384078000020384 +0F00000203880F00000203900F00000203900F00000401E01E00000401E01E00000401C0 +1E00000C01801E00001C01803E0000FF8103FFC0002A1F7D9E29>I<00FF003FE0001F00 +0F00001F0004000017800400001780040000278008000023C008000023C008000023C008 +000041E010000041E010000041F010000040F010000080F0200000807820000080782000 +008078200001003C400001003C400001003C400001001E400002001E800002001E800002 +000F800002000F800004000F0000040007000004000700000C000700001C00020000FF80 +020000231F7D9E22>I<0001FC0000070700001C01C0003000E000E0006001C000700380 +007007800038070000380E0000381E0000381C0000383C0000383C000038780000787800 +00787800007878000078F00000F0F00000F0F00000E0F00001E0F00001C0F00003C07000 +03807000070078000F0038001E0038003C001C0070000E00E0000783800001FC00001D21 +7A9F23>I<01FFFF80001E00E0001E0070001E0038001E003C003C003C003C003C003C00 +3C003C003C0078007800780078007800F0007800E000F003C000F00F0000FFFC0000F000 +0001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C00000078000 +000780000007800000078000000F800000FFF000001E1F7D9E1F>I<00FFFF00001E03C0 +001E00E0001E0070001E0078003C0078003C0078003C0078003C0078007800F0007800F0 +007801E0007801C000F0070000F01E0000FFF00000F01C0001E00E0001E00F0001E00700 +01E0078003C00F0003C00F0003C00F0003C00F0007801E0007801E0807801E0807801E10 +0F800E10FFF00E20000003C01D207D9E21>82 D<0007E040001C18C00030058000600380 +00C0038001C00180018001000380010003800100038001000380000003C0000003C00000 +03F8000001FF800001FFE000007FF000001FF0000001F800000078000000780000003800 +0000380020003800200038002000300060007000600060006000E0007000C000E8038000 +C606000081F800001A217D9F1A>I<0FFFFFFC1E03C0381803C0181003C0082003C00820 +078008600780084007800840078008800F0010000F0000000F0000000F0000001E000000 +1E0000001E0000001E0000003C0000003C0000003C0000003C0000007800000078000000 +7800000078000000F0000000F0000000F0000000F0000001F000007FFF80001E1F799E21 +>I86 +D<00F1800389C00707800E03801C03803C0380380700780700780700780700F00E00F00E +00F00E00F00E20F01C40F01C40703C40705C40308C800F070013147C9317>97 +D<07803F8007000700070007000E000E000E000E001C001C001CF01D0C3A0E3C0E380F38 +0F700F700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F0010207B9F15>I< +007E0001C1000300800E07801E07801C07003C0200780000780000780000F00000F00000 +F00000F00000F0000070010070020030040018380007C00011147C9315>I<0000780003 +F80000700000700000700000700000E00000E00000E00000E00001C00001C000F1C00389 +C00707800E03801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E +20F01C40F01C40703C40705C40308C800F070015207C9F17>I<007C01C207010E011C01 +3C013802780C7BF07C00F000F000F000F0007000700170023804183807C010147C9315> +I<00007800019C00033C00033C000718000700000700000E00000E00000E00000E00000E +0000FFE0001C00001C00001C00001C000038000038000038000038000038000070000070 +0000700000700000700000E00000E00000E00000E00000E00001C00001C00001C0000180 +003180007B0000F300006600003C00001629829F0E>I<001E3000713800E0F001C07003 +80700780700700E00F00E00F00E00F00E01E01C01E01C01E01C01E01C01E03801E03800E +07800E0B8006170001E700000700000700000E00000E00300E00781C00F038006070003F +C000151D7F9315>I<01E0000FE00001C00001C00001C00001C000038000038000038000 +038000070000070000071E000763000E81800F01C00E01C00E01C01C03801C03801C0380 +1C0380380700380700380700380E10700E20700E20701C20700C40E00C8060070014207D +9F17>I<00C001E001E001C000000000000000000000000000000E001300230043804700 +470087000E000E000E001C001C001C003840388038807080310032001C000B1F7C9E0E> +I<0001800003C00003C0000380000000000000000000000000000000000000000000003C +00004600008700008700010700010700020E00000E00000E00000E00001C00001C00001C +00001C0000380000380000380000380000700000700000700000700000E00000E00030E0 +0079C000F180006300003C00001228829E0E>I<01E0000FE00001C00001C00001C00001 +C0000380000380000380000380000700000700000703C00704200E08E00E11E00E21E00E +40C01C80001D00001E00001FC00038E00038700038700038384070708070708070708070 +3100E03100601E0013207D9F15>I<03C01FC0038003800380038007000700070007000E +000E000E000E001C001C001C001C0038003800380038007000700070007100E200E200E2 +00E200640038000A207C9F0C>I<1C0F80F0002630C318004740640C004780680E004700 +700E004700700E008E00E01C000E00E01C000E00E01C000E00E01C001C01C038001C01C0 +38001C01C038001C01C0708038038071003803807100380380E100380380620070070064 +00300300380021147C9325>I<1C0F802630C04740604780604700704700708E00E00E00 +E00E00E00E00E01C01C01C01C01C01C01C03843803883803883807083803107003303001 +C016147C931A>I<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E078 +01E0F003C0F003C0F003C0F00780F00700700F00700E0030180018700007C00013147C93 +17>I<01C1E002621804741C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C +01C03C01C03C01C0380380780380700380E003C1C0072380071E000700000700000E0000 +0E00000E00000E00001C00001C0000FF8000171D809317>I<00F0400388C00705800E03 +801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E00F01C00F01C +00703C00705C0030B8000F380000380000380000700000700000700000700000E00000E0 +000FFE00121D7C9315>I<1C1E002661002783804787804707804703008E00000E00000E +00000E00001C00001C00001C00001C000038000038000038000038000070000030000011 +147C9313>I<00FC030206010C030C070C060C000F800FF007F803FC003E000E700EF00C +F00CE008401020601F8010147D9313>I<018001C0038003800380038007000700FFF007 +000E000E000E000E001C001C001C001C003800380038003820704070407080708031001E +000C1C7C9B0F>I<0E00C01300E02301C04381C04701C04701C08703800E03800E03800E +03801C07001C07001C07001C07101C0E20180E20180E201C1E400C264007C38014147C93 +18>I<0E03801307802307C04383C04701C04700C08700800E00800E00800E00801C0100 +1C01001C01001C02001C02001C04001C04001C08000E300003C00012147C9315>I<0E00 +C1C01300E3C02301C3E04381C1E04701C0E04701C060870380400E0380400E0380400E03 +80401C0700801C0700801C0700801C0701001C0701001C0601001C0F02000C0F04000E13 +080003E1F0001B147C931E>I<0383800CC4401068E01071E02071E02070C040E00000E0 +0000E00000E00001C00001C00001C00001C040638080F38080F38100E5810084C6007878 +0013147D9315>I<0E00C01300E02301C04381C04701C04701C08703800E03800E03800E +03801C07001C07001C07001C07001C0E00180E00180E001C1E000C3C0007DC00001C0000 +1C00003800F03800F07000E06000C0C0004380003E0000131D7C9316>I<01C04003E080 +07F1800C1F00080200000400000800001000002000004000008000010000020000040100 +0802001002003E0C0063FC0041F80080E00012147D9313>I E /FE +54 124 df<000FF07F00007FF9FF8000F83FC7C001E07F8FC003E07F0FC007C07F0FC007 +C03F078007C01F000007C01F000007C01F000007C01F000007C01F0000FFFFFFF800FFFF +FFF80007C01F000007C01F000007C01F000007C01F000007C01F000007C01F000007C01F +000007C01F000007C01F000007C01F000007C01F000007C01F000007C01F000007C01F00 +0007C01F000007C01F00003FF8FFF0003FF8FFF0002220809F1F>11 +D<000FE000007FF80000F81C0001E07C0003E07C0007C07C0007C07C0007C0380007C000 +0007C0000007C0000007C1FE00FFFFFE00FFFFFE0007C03E0007C03E0007C03E0007C03E +0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E +0007C03E0007C03E0007C03E003FF9FFC03FF9FFC01A20809F1D>I<387CFEFFFF7F3B03 +0306060E0C18302008107C860F>44 DI<387CFEFEFE +7C3807077C860F>I<01FC0007FF001F07C01E03C03E03E07C01F07C01F07C01F0FC01F8 +FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8FC01F8 +7C01F07C01F07C01F03E03E01E03C01F8FC007FF0001FC00151D7E9C1A>48 +D<00700000F00007F000FFF000F9F00001F00001F00001F00001F00001F00001F00001F0 +0001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0 +0001F00001F00001F0007FFFC07FFFC0121D7D9C1A>I<03FC001FFF80381FC07C07E0FE +03F0FE03F0FE03F8FE01F87C01F83801F80003F80003F00003F00007E0000FC0000F0000 +1E00003C0000700000E00001C0180380180600180C00381FFFF03FFFF07FFFF0FFFFF0FF +FFF0151D7E9C1A>I<03FC000FFF801C0FC03C07E07E03F07E03F07E03F07E07F03C07E0 +0007E0000FC0003F8003FE0003FC00000F800007C00003E00003F00003F83803F87C03F8 +FE03F8FE03F8FE03F0FC03F07807E03C0FC01FFF8003FC00151D7E9C1A>I<0001C00003 +C00007C00007C0000FC0001FC0003BC00073C00063C000C3C00183C00383C00703C00E03 +C00C03C01803C03803C07003C0E003C0FFFFFEFFFFFE0007C00007C00007C00007C00007 +C00007C000FFFE00FFFE171D7F9C1A>I<1C00E01FFFE01FFFC01FFF801FFF001FFC001F +C00018000018000018000018000019FE001FFF801E07C01803E01001F00001F00001F800 +01F87801F8FC01F8FC01F8FC01F8FC01F07803F07003E03C0FC00FFF0003FC00151D7E9C +1A>I<003F0001FFC007C0E00F81E01F03F01E03F03E03F07C03F07C01E07C0000FC1000 +FCFF00FDFFC0FD03E0FE01F0FE01F0FC01F8FC01F8FC01F8FC01F87C01F87C01F87C01F8 +3C01F03E01F01E03E00F07C007FF8001FE00151D7E9C1A>I<6000007FFFF87FFFF87FFF +F07FFFE07FFFC0E00180C00300C00300C00600000C0000180000380000300000700000F0 +0000F00001E00001E00003E00003E00003E00003E00007E00007E00007E00007E00007E0 +0003C000018000151E7D9D1A>I<01FE000FFF801E07C03801E03800F07800F07800F07C +00F07F00F07FC1E03FE3C01FFF800FFE0007FF8007FFC01FFFE03C3FF0780FF07803F8F0 +01F8F000F8F00078F00078F000707800707C00E03E03C00FFF8003FC00151D7E9C1A>I< +01FC000FFF001F07803E03C07C03E07C01E0FC01F0FC01F0FC01F0FC01F8FC01F8FC01F8 +FC01F87C03F87C03F83E05F81FFDF807F9F80041F80001F03C01F07E01F07E03E07E03E0 +7E03C03C0780381F001FFC0007F000151D7E9C1A>I<387CFEFEFE7C3800000000000038 +7CFEFEFE7C3807147C930F>I<0000E000000000E000000001F000000001F000000001F0 +00000003F800000003F800000006FC00000006FC0000000EFE0000000C7E0000000C7E00 +0000183F000000183F000000303F800000301F800000701FC00000600FC00000600FC000 +00C007E00000FFFFE00001FFFFF000018003F000038003F800030001F800030001F80006 +0000FC00060000FC000E0000FE00FFE00FFFE0FFE00FFFE0231F7E9E28>65 +DI<0007FC02003FFF0E00FE03DE +03F000FE07E0003E0FC0001E1F80001E3F00000E3F00000E7F0000067E0000067E000006 +FE000000FE000000FE000000FE000000FE000000FE000000FE0000007E0000007E000006 +7F0000063F0000063F00000C1F80000C0FC0001807E0003803F0007000FE01C0003FFF80 +0007FC001F1F7D9E26>IIII73 +D77 DI80 D82 D<03FC080FFF381E03F83800F8700078700038F00038F00018F00018F80000FC00 +007FC0007FFE003FFF801FFFC00FFFE007FFF000FFF80007F80000FC00007C00003CC000 +3CC0003CC0003CE00038E00078F80070FE01E0EFFFC081FF00161F7D9E1D>I<7FFFFFFC +7FFFFFFC7C07E07C7007E01C6007E00C6007E00CE007E00EC007E006C007E006C007E006 +C007E0060007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 +0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 +03FFFFC003FFFFC01F1E7E9D24>II<07FC00 +1FFF803F07C03F03E03F01F03F01F00C01F00001F0003FF007FDF01F81F03E01F07C01F0 +F801F0F801F0F801F0FC02F07E0CF03FF87E0FE03E17147F9319>97 +DI<01FE0007 +FF801F0FC03E0FC03E0FC07C0FC07C0300FC0000FC0000FC0000FC0000FC0000FC00007C +00007E00003E00603F00C01F81C007FF0001FC0013147E9317>I<0007F80007F80000F8 +0000F80000F80000F80000F80000F80000F80000F80000F80000F801F8F807FEF81F83F8 +3E01F87E00F87C00F87C00F8FC00F8FC00F8FC00F8FC00F8FC00F8FC00F87C00F87C00F8 +7E00F83E01F81F07F80FFEFF03F8FF18207E9F1D>I<01FE0007FF800F83C01E01E03E00 +F07C00F07C00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00003E00181E00 +180F807007FFE000FF8015147F9318>I<003F8000FFC003E3E007C7E00787E00F87E00F +83C00F80000F80000F80000F80000F8000FFFC00FFFC000F80000F80000F80000F80000F +80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80007F +F8007FF80013207F9F10>I<03FC3C0FFFFE1E079E3C03DE7C03E07C03E07C03E07C03E0 +7C03E03C03C01E07801FFF0013FC003000003000003800003FFF801FFFF00FFFF81FFFFC +78007C70003EF0001EF0001EF0001E78003C78003C3F01F80FFFE001FF00171E7F931A> +II<1C003E00 +7F007F007F003E001C00000000000000000000000000FF00FF001F001F001F001F001F00 +1F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B217EA00E>I107 DIII<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F8 -00F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015127F9118>II114 -D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CF -C00E127E9113>I<0300030003000300070007000F000F003FFCFFFC1F001F001F001F00 -1F001F001F001F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>IIIIII123 -D E /FD 81 123 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0 -000E01C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0 -000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0 -000E01C0000E01C0000E01C0007F87FC001A1D809C18>11 D<007E0001C1800301800703 -C00E03C00E01800E00000E00000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01 -C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01 -C07F87F8151D809C17>I<007FC001C1C00303C00703C00E01C00E01C00E01C00E01C00E -01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E -01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07FCFF8151D809C17>I<003F07 -E00001C09C18000380F018000701F03C000E01E03C000E00E018000E00E000000E00E000 -000E00E000000E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C000E00E01C00 -0E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E -00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C007FC7FCFF80211D -809C23>I<0E0E1E3870E0800707779C15>19 D<60F0F0F0F0F0F0F06060606060606060 -6060606060000000000060F0F060041E7C9D0C>33 D<6060F0F0F8F86868080808080808 -101010102020404080800D0C7F9C15>I<0F0000C0188000C030600380703807006027FB -00E0100600E0100C00E0100C00E0101800E0101800E0103000E0106000602060007020C0 -0030418000188180000F0303C00006062000060C10000C1C080018180800183804003038 -04006038040060380400C0380400C03804018038040300180803001C0806000C100C0006 -20040003C01E217E9E23>37 D<60F0F8680808081010204080050C7C9C0C>39 -D<00800100020006000C000C00180018003000300030006000600060006000E000E000E0 -00E000E000E000E000E000E000E000E000E0006000600060006000300030003000180018 -000C000C000600020001000080092A7C9E10>I<8000400020003000180018000C000C00 -060006000600030003000300030003800380038003800380038003800380038003800380 -038003000300030003000600060006000C000C00180018003000200040008000092A7E9E -10>I<60F0F0701010101020204080040C7C830C>44 DI<60F0F0 -6004047C830C>I<00010003000600060006000C000C000C001800180018003000300030 -0060006000C000C000C0018001800180030003000300060006000C000C000C0018001800 -1800300030003000600060006000C000C00010297E9E15>I<03C00C301818300C300C70 -0E60066006E007E007E007E007E007E007E007E007E007E007E007E007E0076006600670 -0E300C300C18180C3007E0101D7E9B15>I<010007003F00C70007000700070007000700 -070007000700070007000700070007000700070007000700070007000700070007000700 -FFF80D1C7C9B15>I<07C01830201C400C400EF00FF80FF807F8077007000F000E000E00 -1C001C00380070006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>I< -07E01830201C201C781E780E781E381E001C001C00180030006007C00030001C001C000E -000F000F700FF80FF80FF80FF00E401C201C183007C0101D7E9B15>I<000C00000C0000 -1C00003C00003C00005C0000DC00009C00011C00031C00021C00041C000C1C00081C0010 -1C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00001C00001C0000 -1C0001FFC0121C7F9B15>I<300C3FF83FF03FC020002000200020002000200023E02C30 -3018301C200E000E000F000F000F600FF00FF00FF00F800E401E401C2038187007C0101D -7E9B15>I<00F0030C04040C0E181E301E300C700070006000E3E0E430E818F00CF00EE0 -06E007E007E007E007E007600760077006300E300C18180C3003E0101D7E9B15>I<4000 -007FFF807FFF007FFF004002008004008004008008000010000010000020000060000040 -0000C00000C00001C0000180000180000380000380000380000380000780000780000780 -00078000078000078000030000111D7E9B15>I<03E00C301008200C2006600660067006 -70067C0C3E183FB01FE007F007F818FC307E601E600FC007C003C003C003C00360026004 -300C1C1007E0101D7E9B15>I<03C00C301818300C700C600EE006E006E007E007E007E0 -07E0076007700F300F18170C2707C700060006000E300C780C78187018203010C00F8010 -1D7E9B15>I<60F0F0600000000000000000000060F0F06004127C910C>I<60F0F0600000 -000000000000000060F0F0701010101020204080041A7C910C>I<0FE03038401CE00EF0 -0EF00EF00E000C001C0030006000C0008001800100010001000100010001000000000000 -000000000003000780078003000F1D7E9C14>63 D<000600000006000000060000000F00 -00000F0000000F000000178000001780000037C0000023C0000023C0000043E0000041E0 -000041E0000080F0000080F0000080F000010078000100780001FFF80002003C0002003C -0002003C0004001E0004001E000C001F000C000F001E001F00FF00FFF01C1D7F9C1F>65 -DI<001F808000E0618001801980070007800E0003801C000380 -1C00018038000180780000807800008070000080F0000000F0000000F0000000F0000000 -F0000000F0000000F0000000F0000000700000807800008078000080380000801C000100 -1C0001000E000200070004000180080000E03000001FC000191E7E9C1E>IIII<001F808000E0618001801980070007800E0003801C0003801C000180 -38000180780000807800008070000080F0000000F0000000F0000000F0000000F0000000 -F0000000F000FFF0F0000F80700007807800078078000780380007801C0007801C000780 -0E00078007000B800180118000E06080001F80001C1E7E9C21>III<07FF80007C0000 -3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000 -3C00003C00003C00003C00003C00003C00003C00703C00F83C00F83C00F8380070780040 -700030E0000F8000111D7F9B15>IIIII<003F800000E0E0000380380007 -001C000E000E001C0007003C00078038000380780003C0780003C0700001C0F00001E0F0 -0001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C078 -0003C0380003803C0007801C0007000E000E0007001C000380380000E0E000003F80001B -1E7E9C20>II<003F800000E0E000038038 -0007001C000E000E001C0007003C00078038000380780003C0780003C0700001C0F00001 -E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003 -C0780003C0380003803C0E07801C1107000E208E0007205C0003A0780000F0E020003FE0 -200000602000003060000038E000003FC000003FC000001F8000000F001B257E9C20>I< -FFFF00000F01E0000F0078000F003C000F001C000F001E000F001E000F001E000F001E00 -0F001C000F003C000F0078000F01E0000FFF00000F01E0000F0070000F0078000F003C00 -0F003C000F003C000F003C000F003C000F003C000F003C100F003C100F001C100F001C10 -FFF00E20000003C01C1D7E9B1F>I<07E0801C1980300580300380600180E00180E00080 -E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C0 -0003C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E -9C17>I<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020 -800F0020000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000 -000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000 -001F800003FFFC001B1C7F9B1E>IIIII91 D<08081010202040404040808080808080B0B0F8F8787830300D0C7A9C15>I< -FEFE06060606060606060606060606060606060606060606060606060606060606060606 -060606FEFE0729809E0C>I<1FC000307000783800781C00301C00001C00001C0001FC00 -0F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115> -97 DI<03F80C0C181E301E700C60 -00E000E000E000E000E000E00060007002300218040C1803E00F127F9112>I<001F8000 -038000038000038000038000038000038000038000038000038000038003F3800E0B8018 -0780300380700380600380E00380E00380E00380E00380E00380E0038060038070038030 -03801807800E1B8003E3F0141D7F9C17>I<07E00C301818300C700E6006E006FFFEE000 -E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E -000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E -000E000E000E000E007FE00F1D809C0D>I<00038007C4C01C78C0383880301800701C00 -701C00701C00701C003018003838001C700027C0002000002000003000003FF8001FFF00 -1FFF802003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215> -II<18003C003C0018000000000000 -000000000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C -001C001C001C00FF80091D7F9C0C>I<00C001E001E000C0000000000000000000000000 -000007E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 -00E000E000E000E060E0F0C0F1C061803E000B25839C0D>IIII< +FE0FE03F80FE1FF07FC01E70F9C3E01E407D01F01E807E01F01F807E01F01F007C01F01F +007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F00 +7C01F01F007C01F01F007C01F01F007C01F0FFE3FF8FFEFFE3FF8FFE27147D932C>II<01FF0007FFC0 +1F83F03E00F83E00F87C007C7C007CFC007EFC007EFC007EFC007EFC007EFC007E7C007C +7C007C3E00F83E00F81F83F007FFC001FF0017147F931A>II114 D<0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE001FC007 +C007E007F006F81EFFFCC7F010147E9315>I<0300030003000300070007000F000F003F +00FFFCFFFC1F001F001F001F001F001F001F001F001F001F001F061F061F061F061F060F +8C07F803F00F1D7F9C14>IIIII< +FFE07F80FFE07F801F001C000F8018000F80180007C0300007C0300003E0600003E06000 +03F0E00001F0C00001F9C00000F9800000FF8000007F0000007F0000003E0000003E0000 +001C0000001C0000001800000018000078300000FC300000FC600000C0E00000E1C00000 +7F8000001E000000191D7F931C>I123 +D E /FF 82 123 df<001F83E000F06E3001C078780380F8780300F03007007000070070 +000700700007007000070070000700700007007000FFFFFF800700700007007000070070 +000700700007007000070070000700700007007000070070000700700007007000070070 +000700700007007000070070000700700007007000070070003FE3FF001D20809F1B>11 +D<003F0000E0C001C0C00381E00701E00701E00700000700000700000700000700000700 +00FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700 +E00700E00700E00700E00700E00700E00700E00700E03FC3FC1620809F19>I<003FE000 +E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700E00700E0FFFFE007 +00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007 +00E00700E00700E00700E00700E00700E03FE7FC1620809F19>I<001F81F80000F04F04 +0001C07C06000380F80F000300F00F000700F00F00070070000007007000000700700000 +070070000007007000000700700000FFFFFFFF0007007007000700700700070070070007 +007007000700700700070070070007007007000700700700070070070007007007000700 +700700070070070007007007000700700700070070070007007007000700700700070070 +07003FE3FE3FE02320809F26>I<07070F1C383060C00808779F17>19 +D<70F8F8F8F8F8F8F8707070707070707070702020202020000000000070F8F8F8700521 +7CA00D>33 D<7038F87CFC7EFC7E743A0402040204020804080410081008201040200F0E +7F9F17>I<078000180018400018003020003000301800E00060170360006008FCC000E0 +08018000E008018000E008030000E008060000E008060000E0080C000060081800006010 +1800003010300000302060000018406000000780C0000000018078000001818400000303 +020000030301000006070100000C060100000C0E008000180E008000300E008000300E00 +8000600E008000C00E008000C00E00800180060100030007010003000301000600030200 +0C00018400040000780021257EA126>37 D<70F8FCFC74040404080810102040060E7C9F +0D>39 D<0040008001000300060004000C00180018003800300030007000600060006000 +6000E000E000E000E000E000E000E000E000E000E000E000E00060006000600060007000 +300030003800180018000C000400060003000100008000400A2E7BA112>I<8000400020 +003000180008000C00060006000700030003000380018001800180018001C001C001C001 +C001C001C001C001C001C001C001C001C001800180018001800380030003000700060006 +000C000800180030002000400080000A2E7EA112>I<01800180018001800180E187718E +399C0FF003C003C00FF0399C718EE1870180018001800180018010147DA117>I<70F0F8 +F878080808101010202040050E7C840D>44 DI<70F8F8F87005 +057C840D>I<0000400000C0000180000180000180000300000300000300000600000600 +000C00000C00000C0000180000180000180000300000300000600000600000600000C000 +00C00000C0000180000180000180000300000300000600000600000600000C00000C0000 +0C0000180000180000300000300000300000600000600000600000C00000C00000122D7E +A117>I<03F0000E1C001C0E00180600380700700380700380700380700380F003C0F003 +C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C07003 +807003807003807807803807001806001C0E000E1C0003F000121F7E9D17>I<00800380 +0F80F3800380038003800380038003800380038003800380038003800380038003800380 +0380038003800380038003800380038007C0FFFE0F1E7C9D17>I<03F0000C1C00100E00 +200700400780800780F007C0F803C0F803C0F803C02007C00007C0000780000780000F00 +000E00001C0000380000700000600000C0000180000300000600400C0040180040100080 +3FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00100E00200F00780F807807807807 +80380F80000F80000F00000F00001E00001C0000700007F000003C00000E00000F000007 +800007800007C02007C0F807C0F807C0F807C0F00780400780400F00200E00183C0007F0 +00121F7E9D17>I<000600000600000E00000E00001E00002E00002E00004E00008E0000 +8E00010E00020E00020E00040E00080E00080E00100E00200E00200E00400E00C00E00FF +FFF0000E00000E00000E00000E00000E00000E00000E0000FFE0141E7F9D17>I<180300 +1FFE001FFC001FF8001FE00010000010000010000010000010000010000011F000161C00 +180E001007001007800003800003800003C00003C00003C07003C0F003C0F003C0E00380 +400380400700200600100C0008380007E000121F7E9D17>I<007C000182000701000E03 +800C0780180780380300380000780000700000700000F1F000F21C00F40600F80700F803 +80F80380F003C0F003C0F003C0F003C0F003C07003C07003C07003803803803807001807 +000C0E00061C0001F000121F7E9D17>I<4000007FFFE07FFFC07FFFC040008080010080 +010080020000040000040000080000100000100000200000200000600000600000E00000 +C00001C00001C00001C00001C00003C00003C00003C00003C00003C00003C00003C00001 +8000131F7E9D17>I<03F0000C0C00100600300300200180600180600180600180700180 +7803003E03003F06001FC8000FF00003F80007FC000C7E00103F00300F806007806001C0 +C001C0C000C0C000C0C000C0C000806001802001001002000C0C0003F000121F7E9D17> +I<03F0000E18001C0C00380600380700700700700380F00380F00380F003C0F003C0F003 +C0F003C0F003C07007C07007C03807C0180BC00E13C003E3C00003800003800003800007 +00300700780600780E00700C002018001070000FC000121F7E9D17>I<70F8F8F8700000 +000000000000000070F8F8F87005147C930D>I<70F8F8F8700000000000000000000070 +F0F8F878080808101010202040051D7C930D>I<0FE0103C601E400EE00FF00FF00F600F +001E001C00380070006000C0008000800100010001000100010001000000000000000000 +0000038007C007C007C0038010207E9F15>63 D<00010000000380000003800000038000 +0007C0000007C0000007C0000009E0000009E0000009E0000010F0000010F0000010F000 +00207800002078000020780000403C0000403C0000C03E0000801E0000801E0001FFFF00 +01000F0001000F00020007800200078002000780040003C0040003C00C0003C01E0003E0 +FF801FFE1F207F9F22>65 DI<00 +0FE01000381C3000E0027003C00170078000F00F0000701E0000701E0000303C0000303C +0000107C00001078000010F8000000F8000000F8000000F8000000F8000000F8000000F8 +000000F8000000F8000000780000007C0000103C0000103C0000101E0000201E0000200F +0000200780004003C0008000E0030000380C00000FF0001C217E9F21>IIII<000FE01000381C3000 +E0027003C00170078000F00F0000701E0000701E0000303C0000303C0000107C00001078 +000010F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8003FFEF8 +0001F0780000F07C0000F03C0000F03C0000F01E0000F01E0000F00F0000F0078000F003 +C0017000E0023000380C10000FF0001F217E9F24>III<07FFC0003E00001E00001E00001E00001E00001E00001E00001E00001E00 +001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00 +001E00201E00F81E00F81E00F81E00F01C00403C006038001070000FC00012207F9E17> +IIIII<001FE0000070380001C00E00038007 +00070003800F0003C01E0001E03C0000F03C0000F07C0000F87C0000F878000078F80000 +7CF800007CF800007CF800007CF800007CF800007CF800007CF800007CF800007C780000 +787C0000F87C0000F83C0000F03E0001F01E0001E00F0003C0070003800380070001E01E +0000703800001FE0001E217E9F23>II<001FE0000070380001C00E0003800700070003800F0003C01E0001E03E0001F03C +0000F07C0000F87C0000F878000078F800007CF800007CF800007CF800007CF800007CF8 +00007CF800007CF800007CF800007C780000787C0000F87C0000F83C0000F03E0781F01E +0841E00F1023C0071023800390170001D01E0000783804001FF80400001C0400000C0C00 +000E1C00000FF800000FF8000007F8000007F0000001E01E297E9F23>II<03F0400C0CC01803C03001C06000C0 +6000C0E000C0E00040E00040E00040F00000F800007C00007F80003FF8001FFF0007FF80 +00FFC0001FE00003E00001E00000F0000070800070800070800070800070C00060C000E0 +E000C0F80180C6030081FC0014217E9F19>I<7FFFFFE0780F01E0600F0060400F002040 +0F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F0000000F000000 +0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000 +0F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001C +1F7E9E21>IIII<7FF81FF80FE007C007C0030003C0020003E0060001F0040000F0080000 +F8180000781000003C2000003E6000001E4000000F8000000F8000000780000003C00000 +07E0000005E0000008F0000018F8000010780000207C0000603E0000401E0000801F0001 +000F8001000780020007C0060003C01F0007E0FFC01FFE1F1F7F9E22>I91 D<080410082010201040204020804080408040B85CFC7EFC7E7C +3E381C0F0E7A9F17>II<1FE00030300078180078 +1C00300E00000E00000E00000E0000FE00078E001E0E00380E00780E00F00E10F00E10F0 +0E10F01E10781E103867200F83C014147E9317>97 D<1C0000FC00001C00001C00001C00 +001C00001C00001C00001C00001C00001C00001C00001C7C001D87001E01801E00C01C00 +E01C00701C00701C00781C00781C00781C00781C00781C00781C00701C00F01C00E01E00 +C01A0180198700107C0015207E9F19>I<01FC000706001C0F00380F0038060078000070 +0000F00000F00000F00000F00000F00000F000007000007800003800803800801C010007 +060001F80011147F9314>I<0001C0000FC00001C00001C00001C00001C00001C00001C0 +0001C00001C00001C00001C001F1C0070DC00C03C01801C03801C07801C07001C0F001C0 +F001C0F001C0F001C0F001C0F001C07001C07001C03801C01803C00C03C0070DC001F1F8 +15207F9F19>I<03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF +80F00000F00000F000007000007000003800803800801C010007060001F80011147F9314 +>I<007C01C6030F070F0E060E000E000E000E000E000E000E00FFF00E000E000E000E00 +0E000E000E000E000E000E000E000E000E000E000E000E000E000E007FE01020809F0E> +I<0000E003E3300E3C301C1C30380E00780F00780F00780F00780F00780F00380E001C1C +001E380033E0002000002000003000003000003FFE001FFF801FFFC03001E0600070C000 +30C00030C00030C000306000603000C01C038003FC00141F7F9417>I<1C0000FC00001C +00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C001C86001D +03001E03801E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C +03801C03801C03801C03801C0380FF8FF014207E9F19>I<38007C007C007C0038000000 +000000000000000000001C00FC001C001C001C001C001C001C001C001C001C001C001C00 +1C001C001C001C001C001C00FF80091F7F9E0C>I<00E001F001F001F000E00000000000 +00000000000000007007F000F00070007000700070007000700070007000700070007000 +700070007000700070007000700070007000706070F060F0C061803F000C28829E0E>I< +1C0000FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0000 +1C1FE01C07801C06001C04001C08001C10001C20001C60001CE0001DF0001E70001C3800 +1C3C001C1C001C0E001C0F001C07001C07801C07C0FF9FF014207E9F18>I<1C00FC001C +001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C +001C001C001C001C001C001C001C001C001C001C00FF8009207F9F0C>I<1C3E03E000FC +C30C30001D039038001E01E01C001E01E01C001C01C01C001C01C01C001C01C01C001C01 C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0 -1C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>II<03F0000E1C00180600300300700380600180 -E001C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F000 -12127F9115>II<03E0800E198018058038078070038070 -0380E00380E00380E00380E00380E00380E003807003807003803807801807800E1B8003 -E380000380000380000380000380000380000380000380001FF0141A7F9116>II<1F9020704030C010C010E010F8007F803FE00FF000F880388018C018C018E010 -D0608FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C -001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>IIIIII<7FFC70386038407040F040E041C003 -C0038007000F040E041C043C0C380870087038FFF80E127F9112>I -E /FE 47 121 df<07070F1E1C38604080080976A218>19 D45 -D<70F8F8F87005057C840E>I<01F000071C000C06001803003803803803807001C07001 -C07001C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001 -E0F001E0F001E0F001E0F001E07001C07001C07001C07803C03803803803801C07000C06 -00071C0001F00013227EA018>48 D<008003800F80F38003800380038003800380038003 -800380038003800380038003800380038003800380038003800380038003800380038003 -800380038007C0FFFE0F217CA018>I<03F8000C1E00100F002007804007C07807C07803 -C07807C03807C0000780000780000700000F00000C0000380003F000001C00000F000007 -800007800003C00003C00003E02003E07003E0F803E0F803E0F003C04003C04007802007 -80100F000C1C0003F00013227EA018>51 D<000300000300000700000700000F00001700 -001700002700006700004700008700018700010700020700060700040700080700080700 -100700200700200700400700C00700FFFFF8000700000700000700000700000700000700 -000700000F80007FF015217FA018>I<1000801E07001FFF001FFE001FF80017E0001000 -0010000010000010000010000010000011F800120C001C07001803801003800001C00001 -C00001E00001E00001E00001E07001E0F001E0F001E0E001C08001C04003C04003802007 -001006000C1C0003F00013227EA018>I<007E0001C1000300800601C00C03C01C03C018 -0180380000380000780000700000700000F0F800F30C00F40600F40300F80380F801C0F0 -01C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C03801C01803801C -03000C0600070C0001F00013227EA018>I<4000006000007FFFE07FFFC07FFFC0400080 -C00100800100800200800200000400000800000800001000002000002000006000004000 -00C00000C00001C00001C000018000038000038000038000038000078000078000078000 -07800007800007800007800003000013237DA118>I<01F000060C000C06001807003803 -80700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E07003 -E03803E01805E00C05E00619E003E1E00001C00001C00001C00003800003803003807807 -00780600700C002018001030000FC00013227EA018>57 D<70F8F8F87000000000000000 -0000000070F8F8F87005157C940E>I<000FE00000701C00008002000300018004000040 -08000020080000201007C01020183008203008084060040440C0078441C0038481C00382 -8380038283800382838003828380038283800382838003828380038281C0038241C00382 -40C007824060078420300B84201831881007C0F00800000008000000040000000300000E -00800078007007C0000FFC001F237DA226>64 D<0001800000018000000180000003C000 -0003C0000003C0000005E0000005E0000009F0000008F0000008F0000010780000107800 -0010780000203C0000203C0000203C0000401E0000401E0000C01F0000800F0000800F00 -01FFFF800100078001000780020003C0020003C0020003C0040001E0040001E0040001E0 -080000F01C0000F03E0001F8FF800FFF20237EA225>II<0007E0100038183000E0063001C0 -0170038000F0070000F00E0000701E0000701C0000303C0000303C0000307C0000107800 -001078000010F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800 -000078000000780000107C0000103C0000103C0000101C0000201E0000200E0000400700 -00400380008001C0010000E0020000381C000007E0001C247DA223>I69 +1C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021147E9326>I<1C7C00FC86001D +03001E03801E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C +03801C03801C03801C03801C0380FF8FF014147E9319>I<01F800070E001C03803801C0 +3801C07000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C0 +3801C01C0380070E0001F80014147F9317>I<1C7C00FD87001E01801E01C01C00E01C00 +F01C00701C00781C00781C00781C00781C00781C00781C00701C00F01C00E01E01C01E03 +801D87001C7C001C00001C00001C00001C00001C00001C00001C00001C0000FF8000151D +7E9319>I<01F040070CC00E02C01C03C03801C07801C07001C0F001C0F001C0F001C0F0 +01C0F001C0F001C07001C07801C03801C01C03C00C05C00709C001F1C00001C00001C000 +01C00001C00001C00001C00001C00001C0000FF8151D7F9318>I<1CF0FD181E3C1E3C1E +181C001C001C001C001C001C001C001C001C001C001C001C001C001C00FFC00E147E9312 +>I<0FC830386018C008C008C008E0007C003FE01FF007F8003C800E8006C006C006C004 +E00CD81887E00F147F9312>I<020002000200060006000E000E003E00FFF80E000E000E +000E000E000E000E000E000E000E000E000E040E040E040E040E040708030801F00E1C7F +9B12>I<1C0380FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C03 +801C03801C03801C03801C03801C03801C07800C0780061B8003E3F014147E9319>IIIII<7FFF700E600E401C4038 +4078407000E001E001C00380078007010E011E011C0338027006700EFFFE10147F9314> +I E /FG 47 121 df<07070F1E1C38604080080976A218>19 D +45 D<70F8F8F87005057C840E>I<01F000071C000C06001803003803803803807001C070 +01C07001C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F0 +01E0F001E0F001E0F001E0F001E07001C07001C07001C07803C03803803803801C07000C +0600071C0001F00013227EA018>48 D<008003800F80F380038003800380038003800380 +038003800380038003800380038003800380038003800380038003800380038003800380 +03800380038007C0FFFE0F217CA018>I<03F8000C1E00100F002007804007C07807C078 +03C07807C03807C0000780000780000700000F00000C0000380003F000001C00000F0000 +07800007800003C00003C00003E02003E07003E0F803E0F803E0F003C04003C040078020 +0780100F000C1C0003F00013227EA018>51 D<000300000300000700000700000F000017 +000017000027000067000047000087000187000107000207000607000407000807000807 +00100700200700200700400700C00700FFFFF80007000007000007000007000007000007 +00000700000F80007FF015217FA018>I<1000801E07001FFF001FFE001FF80017E00010 +000010000010000010000010000010000011F800120C001C07001803801003800001C000 +01C00001E00001E00001E00001E07001E0F001E0F001E0E001C08001C04003C040038020 +07001006000C1C0003F00013227EA018>I<007E0001C1000300800601C00C03C01C03C0 +180180380000380000780000700000700000F0F800F30C00F40600F40300F80380F801C0 +F001C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C03801C0180380 +1C03000C0600070C0001F00013227EA018>I<4000006000007FFFE07FFFC07FFFC04000 +80C001008001008002008002000004000008000008000010000020000020000060000040 +0000C00000C00001C00001C0000180000380000380000380000380000780000780000780 +0007800007800007800007800003000013237DA118>I<01F000060C000C060018070038 +0380700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E070 +03E03803E01805E00C05E00619E003E1E00001C00001C00001C000038000038030038078 +0700780600700C002018001030000FC00013227EA018>57 D<70F8F8F870000000000000 +000000000070F8F8F87005157C940E>I<000FE00000701C000080020003000180040000 +4008000020080000201007C01020183008203008084060040440C0078441C0038481C003 +828380038283800382838003828380038283800382838003828380038281C0038241C003 +8240C007824060078420300B84201831881007C0F0080000000800000004000000030000 +0E00800078007007C0000FFC001F237DA226>64 D<0001800000018000000180000003C0 +000003C0000003C0000005E0000005E0000009F0000008F0000008F00000107800001078 +000010780000203C0000203C0000203C0000401E0000401E0000C01F0000800F0000800F +0001FFFF800100078001000780020003C0020003C0020003C0040001E0040001E0040001 +E0080000F01C0000F03E0001F8FF800FFF20237EA225>II<0007E0100038183000E0063001 +C00170038000F0070000F00E0000701E0000701C0000303C0000303C0000307C00001078 +00001078000010F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8 +00000078000000780000107C0000103C0000103C0000101C0000201E0000200E00004007 +0000400380008001C0010000E0020000381C000007E0001C247DA223>I69 DI120 D -E /FF 10 116 df<78FCFCFCFC7806067B8510>46 D<00FE0003FFC00703E00C01F01000 +E /FH 10 116 df<78FCFCFCFC7806067B8510>46 D<00FE0003FFC00703E00C01F01000 F83C00F83E00FC3E007C3E007C1E00FC0C00FC0000F80000F80000F00001E00001C00003 80000E0001FE000003C00000E00000F800007800007C00003E00003E00003F00003F3000 3F78003FFC003FFC003FFC003EF8003E40007E40007C3000F81800F00F03E003FFC000FE @@ -2688,7 +2969,7 @@ E00F83E00F81C00F80000F00000F00000F00000F00000F00000F00000F00000F00000F00 000F00000F00000F00000F00000F00000F00000F00000F8000FFFC00FFFC00131A7E9917 >114 D<07F0801C0D80300380600180E00180E00080E00080F00080F800007E00007FE0 003FFC001FFE0007FF00003F800007808003C08003C08001C0C001C0C001C0E00180E003 -80F00300CC0E0083F800121A7E9917>I E /FG 59 122 df<000FF000007FFC0001F80E +80F00300CC0E0083F800121A7E9917>I E /FI 59 122 df<000FF000007FFC0001F80E 0003E01F0007C03F000F803F000F803F000F801E000F800C000F8000000F8000000F8000 000F800000FFFFFF00FFFFFF000F801F000F801F000F801F000F801F000F801F000F801F 000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F000F801F @@ -2899,7 +3180,7 @@ E18F060001F18F8C0001F3078C0001F3078C0000FF07D80000FE03D80000FE03F800007C 0007C00C0007E00C0003E0180003E0180001F0300001F0300000F8600000F86000007CC0 00007CC000007FC000003F8000003F8000001F0000001F0000000E0000000E0000000C00 00000C00000018000078180000FC380000FC300000FC60000069C000007F8000001F0000 -001B207F951E>I E /FH 25 121 df<00000001E00000000000000003F0000000000000 +001B207F951E>I E /FJ 25 121 df<00000001E00000000000000003F0000000000000 0003F00000000000000007F80000000000000007F80000000000000007F8000000000000 000FFC000000000000000FFC000000000000001FFE000000000000001FFE000000000000 001FFE000000000000003FFF000000000000003FFF000000000000007FFF800000000000 @@ -3143,3446 +3424,3503 @@ TeXDict begin %%EndSetup %%Page: 1 1 -1 0 bop 481 597 a FH(ST)p FG(K)32 b FH(Reference)g(man)m(ual)800 -682 y FF(V)-5 b(ersion)18 b(3.99)808 1095 y FE(Eric)o(k)d(Gallesio)560 -1153 y(Univ)o(ersit)o(\023)-23 b(e)14 b(de)i(Nice)e(-)j(Sophia)g(An)o -(tip)q(olis)494 1211 y(Lab)q(oratoire)h(I3S)f(-)f(CNRS)g(URA)f(1376)j -(-)f(ESSI.)778 1269 y(Route)f(des)h(Colles)866 1327 y(B.P)l(.)e(145)507 -1385 y(06903)k(Sophia-An)o(tip)q(olis)d(Cedex)f(-)i(FRANCE)760 -1471 y(email:)j(eg@unice.fr)1647 2507 y FD(April)13 b(1998)p +1 0 bop 481 609 a FJ(ST)p FI(K)32 b FJ(Reference)g(man)m(ual)800 +701 y FH(V)-5 b(ersion)18 b(3.99)808 1113 y FG(Eric)o(k)d(Gallesio)560 +1171 y(Univ)o(ersit)o(\023)-23 b(e)14 b(de)i(Nice)e(-)j(Sophia)g(An)o +(tip)q(olis)494 1229 y(Lab)q(oratoire)h(I3S)f(-)f(CNRS)g(URA)f(1376)j +(-)f(ESSI.)778 1287 y(Route)f(des)h(Colles)866 1345 y(B.P)l(.)e(145)507 +1404 y(06903)k(Sophia-An)o(tip)q(olis)d(Cedex)f(-)i(FRANCE)760 +1495 y(email:)j(eg@unice.fr)1667 2547 y FF(April)c(1998)p eop %%Page: 2 2 -2 1 bop 75 465 a FC(Do)q(cumen)o(t)14 b(Reference)179 -548 y FD(Eric)o(k)i(Gallesio,)f FB(STk)i(R)n(efer)n(enc)n(e)g(Manual)p -FD(,)g(R)m(T)e(95-31d,)g(I3S-CNRS)h(/)g(Univ)o(ersit)o(\023)-20 -b(e)17 b(de)f(Nice)h(-)179 598 y(Sophia)c(An)o(tip)q(olis,)f(juillet)h -(1995.)p eop +2 1 bop 37 483 a FE(Do)q(cumen)o(t)18 b(Reference)151 +577 y FF(Eric)o(k)13 b(Gallesio,)g FD(STk)g(R)n(efer)n(enc)n(e)f +(Manual)p FF(,)g(R)l(T)g(95-31d,)g(I3S-CNRS)h(/)f(Univ)o(ersit)o(\023) +-21 b(e)13 b(de)f(Nice)151 633 y(-)j(Sophia)h(An)o(tip)q(olis,)h +(juillet)g(1995.)p eop %%Page: 3 3 -3 2 bop 75 511 a FA(Con)m(ten)m(ts)75 727 y FG(I)56 b(Reference)17 -b(Man)n(ual)1215 b(5)137 777 y FD(1)75 b(Ov)o(erview)14 -b(of)f Fz(STk)23 b FD(.)d(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)73 b(7)137 828 y(2)i(Lexical)13 -b(con)o(v)o(en)o(tions)k(.)j(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)73 b(7)233 878 y(2.1)79 b(Iden)o(ti\014ers) -25 b(.)20 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)73 b(7)233 928 y(2.2)79 b(Comm)o(en)o(ts)10 -b(.)20 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)73 b(7)233 978 y(2.3)79 b(Other)15 b(notations)d(.)20 -b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)73 -b(8)137 1028 y(3)i(Basic)14 b(concepts)41 b(.)21 b(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)73 -b(8)137 1078 y(4)i(Expressions)29 b(.)20 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)73 -b(8)233 1129 y(4.1)79 b(Primitiv)o(e)11 b(expression)16 -b(t)o(yp)q(es)g(.)21 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)73 -b(8)233 1179 y(4.2)79 b(Deriv)o(ed)14 b(expression)h(t)o(yp)q(es)e(.)20 -b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)73 b(9)137 -1229 y(5)i(Program)12 b(structure)36 b(.)20 b(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(10)137 -1279 y(6)75 b(Standard)14 b(pro)q(cedures)28 b(.)21 b(.)f(.)g(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(10)233 -1329 y(6.1)79 b(Bo)q(oleans)42 b(.)20 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(10)233 1379 -y(6.2)79 b(Equiv)n(alence)13 b(predicates)21 b(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)52 b(11)233 1430 y(6.3)79 b(P)o(airs)13 -b(and)h(lists)43 b(.)20 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)52 b(11)233 1480 y(6.4)79 b(Sym)o(b)q(ols)18 -b(.)j(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)52 b(12)233 1530 y(6.5)79 b(Num)o(b)q(ers)41 -b(.)20 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)52 b(13)233 1580 y(6.6)79 b(Characters)41 -b(.)20 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h -(.)f(.)52 b(15)233 1630 y(6.7)79 b(Strings)12 b(.)20 -b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)52 b(16)233 1680 y(6.8)79 b(V)m(ectors)38 -b(.)21 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)52 b(17)233 1730 y(6.9)79 b(Con)o(trol)13 -b(features)41 b(.)20 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)52 b(18)233 1781 y(6.10)58 b(Input)14 b(and)f(output)k(.)j(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(19)233 1831 y(6.11)58 b(Keyw)o(ords)27 b(.)20 b(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(25)233 1881 y(6.12)58 b(Tk)13 b(commands)c(.)21 b(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(26)233 -1931 y(6.13)58 b(Mo)q(dules)19 b(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(27)233 -1981 y(6.14)58 b(En)o(vironmen)o(ts)16 b(.)21 b(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(30)233 2031 -y(6.15)58 b(Macros)41 b(.)21 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(31)233 2082 -y(6.16)58 b(System)13 b(pro)q(cedures)28 b(.)20 b(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(32)233 2132 y(6.17)58 -b(Addresses)27 b(.)20 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)52 b(34)233 2182 y(6.18)58 b(Signals)11 -b(.)20 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)52 b(34)233 2232 y(6.19)58 b(Hash)14 -b(tables)25 b(.)20 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)52 b(36)233 2282 y(6.20)58 b(Regular)13 -b(expressions)41 b(.)21 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)52 b(38)233 2332 y(6.21)58 b(P)o(attern)14 b(matc)o(hing)f(.)20 -b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(40)233 2383 y(6.22)58 b(Pro)q(cesses)36 b(.)20 b(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(42)233 2433 y(6.23)58 b(So)q(c)o(k)o(ets)38 b(.)21 -b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)52 b(44)233 2483 y(6.24)58 b(F)m(oreign)13 b(F)m(unction)g(In)o -(terface)j(.)21 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(47)233 2533 y(6.25)58 b(Miscellaneous)20 b(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(50)75 -2677 y FG(I)r(I)j(Annexes)1399 b(57)75 2769 y FC(A)26 -b(Using)14 b(the)h(Tk)i(to)q(olkit)1220 b(59)137 2819 -y FD(1)75 b(Calling)12 b(a)h(Tk-command)g(.)20 b(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(59)946 2924 -y(3)p eop +3 2 bop 37 523 a FC(Con)m(ten)m(ts)37 745 y FI(I)56 b(Reference)17 +b(Man)n(ual)1291 b(5)106 802 y FF(1)81 b(Ov)o(erview)16 +b(of)f FB(STk)23 b FF(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)93 b(7)106 859 y(2)81 b(Lexical)17 b(con)o(v)o(en)o +(tions)i(.)j(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)93 +b(7)210 916 y(2.1)87 b(Iden)o(ti\014ers)27 b(.)c(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)93 b(7)210 972 +y(2.2)87 b(Commen)o(ts)11 b(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)93 b(7)210 1029 y(2.3)87 b(Other)15 +b(notations)e(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)93 +b(8)106 1086 y(3)81 b(Basic)16 b(concepts)44 b(.)22 b(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)93 b(8)106 +1142 y(4)81 b(Expressions)31 b(.)22 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)93 b(8)210 1199 +y(4.1)87 b(Primitiv)o(e)16 b(expression)g(t)o(yp)q(es)h(.)23 +b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)93 b(8)210 1256 y(4.2)87 b(Deriv)o(ed)15 +b(expression)h(t)o(yp)q(es)e(.)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)93 +b(9)106 1313 y(5)81 b(Program)14 b(structure)37 b(.)22 +b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(11)106 1369 y(6)81 b(Standard)15 b(pro)q(cedures)30 +b(.)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(11)210 1426 y(6.1)87 b(Bo)q(oleans)46 b(.)23 b(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(11)210 1483 +y(6.2)87 b(Equiv)m(alence)17 b(predicates)22 b(.)g(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)71 b(11)210 1540 y(6.3)87 b(P)o(airs)15 b(and)g(lists)47 +b(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(12)210 1596 y(6.4)87 b(Sym)o(b)q(ols)23 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(13)210 1653 +y(6.5)87 b(Num)o(b)q(ers)45 b(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(14)210 1710 y(6.6)87 +b(Characters)43 b(.)22 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)71 b(17)210 1766 y(6.7)87 b(Strings)13 b(.)23 +b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +71 b(18)210 1823 y(6.8)87 b(V)l(ectors)41 b(.)22 b(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(19)210 +1880 y(6.9)87 b(Con)o(trol)14 b(features)44 b(.)22 b(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(20)210 1937 y(6.10)64 +b(Input)16 b(and)f(output)j(.)k(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)71 b(21)210 1993 y(6.11)64 b(Keyw)o(ords)28 b(.)23 +b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(28)210 2050 y(6.12)64 b(Tk)15 b(commands)d(.)22 b(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(29)210 2107 y(6.13)64 +b(Mo)q(dules)22 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)71 b(30)210 2163 y(6.14)64 b(En)o(vironmen)o(ts)19 +b(.)j(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(34)210 2220 y(6.15)64 b(Macros)44 b(.)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(35)210 2277 +y(6.16)64 b(System)15 b(pro)q(cedures)29 b(.)22 b(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)71 b(36)210 2334 y(6.17)64 b(Addresses)27 +b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(39)210 2390 y(6.18)64 b(Signals)14 b(.)23 b(.)f(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(39)210 +2447 y(6.19)64 b(Hash)15 b(tables)28 b(.)22 b(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(41)210 2504 y(6.20)64 +b(Regular)16 b(expressions)44 b(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)71 b(44)210 2560 y(6.21)64 b(P)o(attern)14 b(matc)o(hing)i(.)22 +b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(46)210 +2617 y(6.22)64 b(Pro)q(cesses)36 b(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(49)210 2674 y(6.23)64 +b(So)q(c)o(k)o(ets)41 b(.)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)71 b(51)210 2731 y(6.24)64 b(F)l(oreign)15 +b(F)l(unction)h(In)o(terface)g(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(54)210 2787 y(6.25)64 b(Miscellaneous)24 b(.)e(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(58)945 2901 y(3)p +eop %%Page: 4 4 -4 3 bop 75 47 a FC(4)1260 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 137 179 a FD(2)75 b(Asso)q(ciating)14 -b(Callbac)o(ks)f(to)g(Tk-commands)37 b(.)21 b(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(60)137 229 y(3)75 b(Tk)13 b(bindings)22 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(60)75 320 y FC(B)28 b(Di\013erences)14 b(with)g(R4RS)1176 -b(63)137 370 y FD(1)75 b(Sym)o(b)q(ols)22 b(.)f(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(63)137 420 y(2)75 b(T)o(yp)q(es)34 b(.)20 b(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)52 b(64)137 469 y(3)75 b(Pro)q(cedures)42 b(.)20 b(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(64)75 561 y FC(C)28 b(An)16 b(in)o(tro)q(duct)o(ion)c(to)j -Fz(STklos)1092 b FC(67)137 610 y FD(1)75 b(In)o(tro)q(duction)13 -b(.)20 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)52 b(67)137 660 y(2)75 b(Class)14 -b(de\014nition)f(and)h(instan)o(tiation)22 b(.)f(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)52 b(67)233 710 y(2.1)79 b(Class)13 b(de\014nition)22 -b(.)e(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(67)137 760 y(3)75 b(Inheritance)37 b(.)20 b(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(68)233 810 y(3.1)79 b(Class)13 b(hierarc)o(h)o(y)i(and)e(inheritance) -i(of)e(slots)40 b(.)20 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(68)233 860 y(3.2)79 -b(Instance)15 b(creation)f(and)g(slot)f(access)33 b(.)21 -b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)52 b(69)233 909 y(3.3)79 b(Slot)13 -b(description)18 b(.)i(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)52 b(69)233 959 y(3.4)79 b(Class)13 b(precedence)k(list)23 -b(.)e(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(72)137 1009 y(4)75 b(Generic)14 b(functions)20 b(.)g(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(73)233 1059 y(4.1)79 b(Generic)14 b(functions)g(and)g(metho)q(ds)25 -b(.)20 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(73)233 1109 y(4.2)79 -b(Next-metho)q(d)29 b(.)21 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)52 b(74)233 1158 y(4.3)79 b(Example)11 -b(.)21 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)52 b(75)75 1250 y FC(D)25 b(Mo)q(dules:)20 -b(Examples)1240 b(77)75 1341 y(E)31 b(Changes)1477 b(79)75 -1432 y(F)32 b(Miscellaneous)13 b(Informations)1079 b(81)137 -1482 y FD(1)75 b(In)o(tro)q(duction)13 b(.)20 b(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(81)137 1532 y(2)75 b(Ab)q(out)14 b Fz(STk)27 b FD(.)20 -b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)52 b(81)233 1582 y(2.1)79 b(Latest)14 -b(release)22 b(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)52 b(81)233 1632 y(2.2)79 b(Sharing)13 b(Co)q(de)23 -b(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -52 b(81)233 1681 y(2.3)79 b Fz(STk)14 b FD(Mailing)e(list)28 -b(.)20 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(81)233 1731 y(2.4)79 b Fz(STk)14 b FD(F)-5 b(A)o(Q)22 -b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)52 b(82)233 1781 y(2.5)79 b(Rep)q(orting)13 b(a)h(bug)36 -b(.)20 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(82)137 1831 y(3)75 b Fz(STk)14 b FD(and)g(Emacs)39 -b(.)20 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)52 b(82)233 1881 y(3.1)79 b(Using)13 b(the)i(SLIB)f(pac)o(k) -n(age)g(with)f Fz(STk)28 b FD(.)20 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(83)137 1931 y(4)75 b(Getting)13 b(information)e(ab)q(out)j(Sc)o(heme) -29 b(.)20 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(83)233 -1980 y(4.1)79 b(The)14 b FB(R)481 1965 y Fy(4)493 1980 -y Fx(RS)i FD(do)q(cumen)o(t)j(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -g(.)h(.)f(.)52 b(83)233 2030 y(4.2)79 b(The)14 b(Sc)o(heme)g(Rep)q -(ository)31 b(.)20 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)52 -b(83)233 2080 y(4.3)79 b(Usenet)15 b(newsgroup)g(and)e(other)i -(addresses)21 b(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)52 b(84)p eop +4 3 bop 37 45 a FE(4)1288 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FI(I)r(I)56 b(Annexes)1474 b(65)37 +292 y FE(A)29 b(Using)18 b(the)f(Tk)h(to)q(olkit)1248 +b(67)106 349 y FF(1)81 b(Calling)17 b(a)e(Tk-command)h(.)23 +b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(67)106 405 y(2)81 b(Asso)q(ciating)16 b(Callbac)o(ks)g(to)f +(Tk-commands)43 b(.)22 b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(68)106 462 y(3)81 +b(Tk)15 b(bindings)26 b(.)c(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(69)37 564 y FE(B)32 +b(Di\013erences)16 b(with)j(R4RS)1196 b(71)106 620 y +FF(1)81 b(Sym)o(b)q(ols)27 b(.)c(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(71)106 +677 y(2)81 b(T)o(yp)q(es)37 b(.)22 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(73)106 733 y(3)81 b(Pro)q(cedures)44 b(.)22 b(.)h(.)f(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(73)37 +835 y FE(C)31 b(An)17 b(in)o(tro)q(duction)i(to)f FB(STklos)1101 +b FE(75)106 891 y FF(1)81 b(In)o(tro)q(duction)15 b(.)22 +b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)71 b(75)106 948 y(2)81 b(Class)15 b(de\014nition)i(and)f(instan)o +(tiation)26 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(75)210 +1004 y(2.1)87 b(Class)15 b(de\014nition)25 b(.)e(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(75)106 1061 y(3)81 b(Inheritance)41 +b(.)22 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)71 b(76)210 1117 y(3.1)87 b(Class)15 b(hierarc)o(h)o(y)g +(and)h(inheritance)h(of)d(slots)43 b(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(76)210 1174 y(3.2)87 +b(Instance)15 b(creation)h(and)f(slot)g(access)35 b(.)22 +b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)71 b(77)210 1230 y(3.3)87 b(Slot)15 b(description)20 +b(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(78)210 1287 y(3.4)87 b(Class)15 b(precedence)i(list)26 +b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(81)106 +1343 y(4)81 b(Generic)16 b(functions)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(82)210 1399 +y(4.1)87 b(Generic)16 b(functions)g(and)f(metho)q(ds)28 +b(.)23 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)71 b(82)210 1456 y(4.2)87 b(Next-metho)q(d)33 +b(.)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(83)210 1512 y(4.3)87 b(Example)15 b(.)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(84)37 1614 +y FE(D)29 b(Mo)q(dules:)23 b(Examples)1266 b(87)37 1716 +y(E)35 b(Changes)1525 b(91)37 1818 y(F)36 b(Miscellaneous)18 +b(Informations)1093 b(95)106 1875 y FF(1)81 b(In)o(tro)q(duction)15 +b(.)22 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)71 b(95)106 1931 y(2)81 b(Ab)q(out)16 b FB(STk)28 +b FF(.)22 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)71 b(95)210 1987 y(2.1)87 b(Latest)14 b(release)24 +b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(95)210 2044 y(2.2)87 b(Sharing)15 b(Co)q(de)26 b(.)c(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(95)210 2100 +y(2.3)87 b FB(STk)14 b FF(Mailing)j(list)32 b(.)22 b(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(95)210 2157 y(2.4)87 +b FB(STk)14 b FF(F)-5 b(A)o(Q)23 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(96)210 2213 y(2.5)87 +b(Rep)q(orting)16 b(a)f(bug)40 b(.)22 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)71 b(96)106 2270 y(3)81 b FB(STk)15 b FF(and)g(Emacs)43 +b(.)23 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(96)210 2326 y(3.1)87 b(Using)15 b(the)h(SLIB)g(pac)o(k)m(age)f(with)h +FB(STk)29 b FF(.)22 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(97)106 2383 y(4)81 b(Getting)15 +b(information)h(ab)q(out)f(Sc)o(heme)32 b(.)22 b(.)g(.)h(.)f(.)g(.)h(.) +f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 +b(97)210 2439 y(4.1)87 b(The)15 b FD(R)482 2423 y FA(4)494 +2439 y Fz(RS)j FF(do)q(cumen)o(t)k(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)71 b(97)210 2496 y(4.2)87 b(The)15 b(Sc)o(heme)h(Rep)q(ository)35 +b(.)22 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)71 b(98)210 2552 +y(4.3)87 b(Usenet)15 b(newsgroup)g(and)h(other)f(addresses)21 +b(.)h(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)71 b(98)p eop %%Page: 5 5 -5 4 bop 828 1059 a FH(P)m(art)32 b(I)497 1266 y FA(Reference)38 -b(Man)m(ual)946 2924 y FD(5)p eop +5 4 bop 828 1056 a FJ(P)m(art)32 b(I)497 1264 y FC(Reference)38 +b(Man)m(ual)945 2901 y FF(5)p eop %%Page: 6 6 6 5 bop eop %%Page: 7 7 -7 6 bop 75 179 a Fw(In)n(tro)r(duction)75 278 y FD(This)16 -b(do)q(cumen)o(t)f(pro)o(vides)h(a)g(complete)f(list)g(of)g(pro)q -(cedures)j(and)e(sp)q(ecial)g(forms)e(implemen)o(ted)g(in)h(v)o(ersion) -75 328 y(3.99)d(of)g Fz(STk)p FD(.)18 b(Since)13 b Fz(STk)g -FD(is)g(\(nearly\))g(complian)o(t)e(with)h(the)i(language)d(describ)q -(ed)k(in)d(the)i FB(R)n(evise)n(d)1686 313 y Fy(4)1719 -328 y FB(R)n(ep)n(ort)75 378 y(on)d(the)g(A)o(lgorithmic)f(L)n(anguage) -i(Scheme)f FD(\(denoted)f FB(R)942 363 y Fy(4)954 378 -y Fx(RS)j FD(hereafter)1183 363 y Fy(1)1203 378 y FD(\)[1)o(],)d(the)g -(organization)e(of)h(this)h(man)o(ual)75 428 y(follo)o(ws)i(the)j -FB(R)313 413 y Fy(4)325 428 y Fx(RS)h FD(and)e(only)f(describ)q(es)j -(extensions.)75 589 y Fw(1)67 b(Ov)n(erview)23 b(of)f -Fv(STk)75 689 y FD(T)m(o)q(da)o(y's)14 b(graphical)g(to)q(olkits)g(for) -h(applicativ)o(e)f(languages)g(are)h(often)g(not)g(satisfactory)m(.)21 -b(Most)15 b(of)g(the)g(time,)75 738 y(they)d(ask)g(the)h(user)g(to)e(b) -q(e)i(an)f(X)g(windo)o(w)f(system)23 b(exp)q(ert)13 b(and)f(force)h -(him/her)d(to)i(cop)q(e)h(with)e(arcane)i(details)75 -788 y(suc)o(h)g(as)f(serv)o(er)i(connections)g(and)e(ev)o(en)o(t)h -(queues.)18 b(This)13 b(is)f(a)g(real)g(problem,)f(since)i(programmers) -d(using)i(this)75 838 y(kind)i(of)f(languages)g(are)i(generally)e(not)h -(inclined)g(to)g(system)g(programmi)o(ng,)c(and)k(few)g(of)g(them)f -(will)f(bridge)75 888 y(the)i(gap)g(b)q(et)o(w)o(een)h(the)g -(di\013eren)o(t)g(abstraction)f(lev)o(els.)124 942 y(Tk)e(is)h(a)f(p)q -(o)o(w)o(erful)g(graphical)f(to)q(olkit)g(promising)g(to)h(\014ll)f -(that)i(gap.)k(It)12 b(w)o(as)g(dev)o(elop)q(ed)h(at)g(the)g(Univ)o -(ersit)o(y)75 992 y(of)19 b(Berk)o(eley)h(b)o(y)f(John)h(Ousterhout)h -([2)o(].)34 b(The)20 b(to)q(olkit)e(o\013ers)j(high)d(lev)o(el)h -(widgets)h(suc)o(h)g(as)g(buttons)f(or)75 1042 y(men)o(us)13 -b(and)g(is)h(easily)f(programmabl)o(e,)e(requiring)i(little)g(kno)o -(wledge)h(of)f(X)g(fundamen)o(tals.)k(Tk)c(relies)h(on)g(an)75 -1092 y(in)o(terpretativ)o(e)h(shell-lik)o(e)e(language)g(named)f(Tcl)i -([3)o(].)134 1146 y Fz(STk)h FD(is)g(an)g(implemen)o(tati)o(on)d(of)i -(the)i(Sc)o(heme)f(programmi)o(ng)d(language,)h(pro)o(viding)h(a)h -(full)e(in)o(tegration)75 1196 y(of)i(the)g(Tk)g(to)q(olkit.)21 -b(In)15 b(this)g(implemen)o(tation,)c(Sc)o(heme)k(establishes)i(the)e -(link)f(b)q(et)o(w)o(een)j(the)f(user)g(and)f(the)75 -1246 y(Tk)f(to)q(olkit,)e(replacing)i(Tcl.)75 1407 y -Fw(2)67 b(Lexical)24 b(con)n(v)n(en)n(tions)75 1515 y -FG(2.1)56 b(Iden)n(ti\014ers)75 1600 y FD(Syn)o(tactic)15 -b(k)o(eyw)o(ords)f(can)h(b)q(e)g(used)g(as)g(v)n(ariables)f(in)g -Fz(STk)p FD(.)19 b(Users)d(m)o(ust)e(b)q(e)h(a)o(w)o(are)f(that)h(this) -f(extension)h(of)75 1650 y(the)f(language)f(could)h(lead)g(to)g(am)o -(biguiti)o(es)e(in)h(some)g(situations.)75 1790 y FG(2.2)56 -b(Commen)n(ts)75 1875 y FD(There)15 b(are)f(three)i(t)o(yp)q(es)e(of)g -(commen)o(ts)e(in)h Fz(STk)p FD(:)126 1972 y(1.)20 b(a)14 -b(semicolon)e(\(;\))i(indicates)h(the)f(start)h(of)e(a)h(commen)o(t.)j -(This)d(kind)f(of)h(commen)o(t)e(extends)j(to)f(the)h(end)179 -2022 y(of)e(the)i(line)e(\(as)h(describ)q(ed)i(in)d FB(R)705 -2007 y Fy(4)717 2022 y Fx(RS)r FD(\).)126 2123 y(2.)20 -b(m)o(ulti-li)o(nes)12 b(commen)o(t)g(use)j(the)f(classical)g(lisp)g -(con)o(v)o(en)o(tions:)k(a)13 b(commen)o(t)f(b)q(egins)j(with)e -Fu(#|)h FD(and)g(ends)179 2173 y(with)f Fu(|#)p FD(.)126 -2270 y(3.)20 b(commen)o(ts)15 b(can)i(also)f(b)q(e)h(in)o(tro)q(duced)h -(b)o(y)f Fu(#)p FD(!.)26 b(This)16 b(extension)i(is)f(particularly)f -(useful)g(for)h(building)179 2316 y Fz(STk)d FD(scripts.)19 -b(On)14 b(most)f(Unix)h(implem)o(en)o(tations,)d(if)i(the)h(\014rst)h -(line)e(of)h(a)f(script)i(lo)q(oks)e(lik)o(e)g(this:)336 -2429 y Ft(#)p Fs(!)p Ft(/usr/lo)o(ca)o(l/b)o(in/)o(st)o(k)k(-file)179 -2593 y FD(then)12 b(the)g(script)g(can)g(b)q(e)g(started)g(directly)g -(as)f(if)g(it)g(w)o(ere)h(a)f(binary)m(.)17 b Fz(STk)11 -b FD(is)h(loaded)f(b)q(ehind)g(the)h(scenes)179 2643 -y(and)j(reads)g(and)g(executes)i(the)f(script)g(as)f(a)f(Sc)o(heme)h -(program.)20 b(Of)15 b(course)h(this)f(assumes)g(that)g -Fz(STk)179 2693 y FD(is)f(lo)q(cated)g(in)f Fu(/usr/local/bin)p -FD(.)p 75 2741 705 2 v 121 2768 a Fr(1)139 2779 y Fq(The)21 -b Fp(R)n(evise)n(d)335 2768 y Fr(4)375 2779 y Fp(R)n(ep)n(ort)i(on)f -(the)g(A)o(lgorithmic)h(L)n(anguage)h(Scheme)f Fq(is)e(a)o(v)n(ailable) -e(through)g(anon)o(ymous)f(FTP)k(from)75 2819 y Fo(ftp.cs.ind)o(ian)o -(a.e)o(du)8 b Fq(in)j(the)g(directory)e Fo(/pub/scheme)o(-re)o(pos)o -(it)o(ory)o(/do)o(c)946 2924 y FD(7)p eop +7 6 bop 37 190 a Fy(In)n(tro)r(duction)37 295 y FF(This)11 +b(do)q(cumen)o(t)g(pro)o(vides)g(a)e(complete)i(list)g(of)f(pro)q +(cedures)h(and)f(sp)q(ecial)i(forms)e(implemen)o(ted)i(in)f(v)o(ersion) +37 352 y(3.99)17 b(of)g FB(STk)p FF(.)26 b(Since)19 b +FB(STk)e FF(is)i(\(nearly\))e(complian)o(t)h(with)g(the)g(language)g +(describ)q(ed)h(in)g(the)e FD(R)n(evise)n(d)1856 335 +y FA(4)37 408 y FD(R)n(ep)n(ort)h(on)f(the)g(A)o(lgorithmic)g(L)n +(anguage)g(Scheme)e FF(\(denoted)i FD(R)1167 392 y FA(4)1179 +408 y Fz(RS)i FF(hereafter)1437 392 y FA(1)1456 408 y +FF(\)[1)o(],)d(the)g(organization)37 465 y(of)f(this)h(man)o(ual)f +(follo)o(ws)h(the)f FD(R)599 448 y FA(4)611 465 y Fz(RS)j +FF(and)d(only)h(describ)q(es)h(extensions.)37 618 y Fy(1)67 +b(Ov)n(erview)23 b(of)f Fx(STk)37 723 y FF(T)l(o)q(da)o(y's)c +(graphical)h(to)q(olkits)f(for)g(applicativ)o(e)i(languages)e(are)g +(often)g(not)f(satisfactory)l(.)28 b(Most)17 b(of)h(the)37 +779 y(time,)g(they)g(ask)f(the)g(user)g(to)g(b)q(e)h(an)f(X)g(windo)o +(w)h(system)34 b(exp)q(ert)18 b(and)f(force)g(him/her)h(to)f(cop)q(e)h +(with)37 836 y(arcane)i(details)h(suc)o(h)g(as)e(serv)o(er)h +(connections)h(and)f(ev)o(en)o(t)g(queues.)35 b(This)21 +b(is)f(a)g(real)g(problem,)i(since)37 892 y(programmers)13 +b(using)j(this)e(kind)i(of)d(languages)i(are)f(generally)h(not)f +(inclined)j(to)d(system)g(programming,)37 949 y(and)i(few)f(of)g(them)g +(will)i(bridge)f(the)f(gap)g(b)q(et)o(w)o(een)g(the)h(di\013eren)o(t)f +(abstraction)g(lev)o(els.)116 1007 y(Tk)k(is)i(a)e(p)q(o)o(w)o(erful)h +(graphical)g(to)q(olkit)g(promising)h(to)e(\014ll)i(that)e(gap.)33 +b(It)20 b(w)o(as)f(dev)o(elop)q(ed)i(at)e(the)37 1063 +y(Univ)o(ersit)o(y)e(of)f(Berk)o(eley)h(b)o(y)f(John)g(Ousterhout)g +([2].)22 b(The)16 b(to)q(olkit)g(o\013ers)g(high)g(lev)o(el)i(widgets)e +(suc)o(h)g(as)37 1120 y(buttons)g(or)e(men)o(us)i(and)f(is)h(easily)g +(programmable,)f(requiring)h(little)h(kno)o(wledge)f(of)f(X)g(fundamen) +o(tals.)37 1176 y(Tk)g(relies)i(on)e(an)g(in)o(terpretativ)o(e)h +(shell-lik)o(e)i(language)d(named)h(Tcl)f([3].)79 1234 +y FB(STk)10 b FF(is)h(an)f(implemen)o(tation)i(of)e(the)h(Sc)o(heme)g +(programming)e(language,)j(pro)o(viding)f(a)f(full)i(in)o(tegration)37 +1291 y(of)k(the)g(Tk)f(to)q(olkit.)22 b(In)16 b(this)h(implemen)o +(tation,)f(Sc)o(heme)h(establishes)g(the)f(link)h(b)q(et)o(w)o(een)f +(the)g(user)g(and)37 1347 y(the)g(Tk)f(to)q(olkit,)g(replacing)h(Tcl.) +37 1500 y Fy(2)67 b(Lexical)24 b(con)n(v)n(en)n(tions)37 +1607 y FI(2.1)56 b(Iden)n(ti\014ers)37 1696 y FF(Syn)o(tactic)14 +b(k)o(eyw)o(ords)e(can)h(b)q(e)h(used)g(as)e(v)m(ariables)j(in)f +FB(STk)p FF(.)k(Users)13 b(m)o(ust)g(b)q(e)g(a)o(w)o(are)f(that)h(this) +g(extension)37 1753 y(of)i(the)h(language)f(could)h(lead)g(to)f(am)o +(biguities)h(in)g(some)f(situations.)37 1884 y FI(2.2)56 +b(Commen)n(ts)37 1974 y FF(There)16 b(are)f(three)g(t)o(yp)q(es)g(of)g +(commen)o(ts)g(in)h FB(STk)p FF(:)93 2074 y(1.)22 b(a)15 +b(semicolon)h(\(;\))e(indicates)j(the)e(start)e(of)i(a)g(commen)o(t.)k +(This)d(kind)g(of)e(commen)o(t)h(extends)g(to)g(the)151 +2131 y(end)h(of)f(the)g(line)i(\(as)d(describ)q(ed)k(in)e +FD(R)814 2114 y FA(4)826 2131 y Fz(RS)s FF(\).)93 2232 +y(2.)22 b(m)o(ulti-lines)d(commen)o(t)d(use)h(the)f(classical)i(Lisp)f +(con)o(v)o(en)o(tion:)23 b(a)16 b(commen)o(t)g(b)q(egins)h(with)g +Fw(#|)f FF(and)151 2288 y(ends)g(with)f Fw(|#)p FF(.)93 +2382 y(3.)22 b(commen)o(ts)11 b(can)h(also)f(b)q(e)i(in)o(tro)q(duced)g +(b)o(y)e Fw(#)p FF(!.)18 b(This)12 b(extension)h(is)f(particularly)h +(useful)f(for)f(building)151 2432 y FB(STk)21 b FF(scripts.)39 +b(On)22 b(most)e(Unix)i(implemen)o(tations,)i(if)e(the)f(\014rst)g +(line)i(of)e(a)g(script)h(lo)q(oks)g(lik)o(e)151 2482 +y(this:)325 2596 y Fv(#)p Fu(!)p Fv(/usr/local/bin/s)o(tk)d(-file)p +37 2699 735 2 v 89 2726 a Ft(1)107 2742 y Fs(The)f Fr(R)n(evise)n(d)317 +2726 y Ft(4)350 2742 y Fr(R)n(ep)n(ort)f(on)h(the)f(A)o(lgorithmic)f(L) +n(anguage)g(Scheme)g Fs(is)j(a)o(v)n(ailable)h(through)g(anon)o(ymous)f +(FTP)f(from)37 2787 y Fq(ftp.cs.indi)o(an)o(a.e)o(du)9 +b Fs(in)14 b(the)f(directory)i Fq(/pub/sche)o(me)o(-re)o(po)o(sit)o +(ory)o(/d)o(oc)945 2901 y FF(7)p eop %%Page: 8 8 -8 7 bop 75 47 a FC(8)1260 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FG(2.3)56 b(Other)18 b(notations)75 -255 y Fz(STk)c FD(accepts)i(all)c(the)j(notations)e(de\014ned)i(in)f -FB(R)852 240 y Fy(4)864 255 y Fx(RS)i FD(plus)75 339 -y Fu([)22 b(])42 b FD(Brac)o(k)o(ets)12 b(are)f(equiv)n(alen)o(t)f(to)h -(paren)o(theses.)19 b(They)11 b(are)h(used)f(for)g(grouping)f(and)g(to) -h(notate)g(lists.)17 b(A)11 b(list)179 389 y(op)q(ened)k(with)e(a)h -(left)f(square)i(brac)o(k)o(et)g(m)o(ust)d(b)q(e)j(closed)f(with)g(a)g -(righ)o(t)f(square)i(brac)o(k)o(et)f(\(section)h(6.3\).)75 -469 y Fu(:)21 b FD(A)c(colon)f(at)h(the)h(b)q(eginning)e(of)h(a)g(sym)o -(b)q(ol)e(in)o(tro)q(duces)j(a)f(k)o(eyw)o(ord.)27 b(Keyw)o(ords)18 -b(are)g(describ)q(ed)h(in)d(sec-)179 519 y(tion)d(6.11.)75 -595 y Fu(#.)19 b FD(is)g(read)g(as)f(the)i(ev)n(aluation)d(of)h -(the)h(Sc)o(heme)g(expression)g Fu()p FD(.)31 b(The)19 -b(ev)n(aluation)f(is)g(done)179 640 y(during)i(the)g -Fu(read)g FD(pro)q(cess,)j(when)d(the)h Fu(#)p FB(.)f -FD(is)g(encoun)o(tered.)39 b(Ev)n(aluation)18 b(is)i(done)h(in)e(the)i -(global)179 686 y(en)o(vironmen)o(t.)336 774 y Ft(\(define)c(foo)h(1\)) -336 819 y(#.foo)453 865 y Fs(=)-6 b Fn(\))20 b Ft(1)336 -911 y('\(foo)d(#.foo)h(#.\(+)g(foo)h(foo\)\))453 956 -y Fs(=)-6 b Fn(\))20 b Ft(\(foo)e(1)h(2\))336 1002 y(\(let)f(\(\(foo)f -(2\)\))395 1048 y(#.foo\))453 1093 y Fs(=)-6 b Fn(\))20 -b Ft(1)75 1321 y Fw(3)67 b(Basic)22 b(concepts)75 1412 -y FB(Identic)n(al)15 b(to)g(R)325 1397 y Fy(4)344 1412 -y FB(RS.)75 1548 y Fw(4)67 b(Expressions)75 1647 y FG(4.1)56 -b(Primitiv)n(e)15 b(expression)j(t)n(yp)r(es)75 1777 -y Fu(\(quote)j Fm(h)p FD(datum)p Fm(i)n Fu(\))1320 b -FD(syn)o(tax)75 1827 y Fu(')p Fm(h)p FD(datum)p Fm(i)1471 -b FD(syn)o(tax)75 1896 y(The)12 b(quoting)e(mec)o(hanism)f(is)j(iden)o -(tical)e(to)i FB(R)800 1881 y Fy(4)812 1896 y Fx(RS)r -FD(.)17 b(Keyw)o(ords)c(\(see)f(section)g(6.11\),)f(as)g(n)o(umerical)f -(constan)o(ts,)75 1942 y(string)k(constan)o(ts,)h(c)o(haracter)g -(constan)o(ts,)g(and)f(b)q(o)q(olean)g(constan)o(ts)h(ev)n(aluate)e -(\\to)h(themselv)o(es";)g(they)g(need)75 1987 y(not)g(b)q(e)g(quoted.) -153 2060 y Ft('"abc")430 b Fs(=)-6 b Fn(\))39 b Ft("abc")153 -2106 y("abc")450 b Fs(=)-6 b Fn(\))39 b Ft("abc")153 -2151 y('145932)410 b Fs(=)-6 b Fn(\))39 b Ft(145932)153 -2197 y(145932)430 b Fs(=)-6 b Fn(\))39 b Ft(145932)153 -2243 y('#t)490 b Fs(=)-6 b Fn(\))39 b Ft(#t)153 2288 -y(#t)510 b Fs(=)-6 b Fn(\))39 b Ft(#t)153 2334 y(':key)450 -b Fs(=)-6 b Fn(\))39 b Ft(:key)153 2380 y(:key)470 b -Fs(=)-6 b Fn(\))39 b Ft(:key)75 2502 y Fl(Note:)32 b(R)227 -2486 y Fr(4)238 2502 y Fk(RS)16 b Fs(requires)e(to)f(quote)h(constan)o -(t)g(lists)g(and)g(constan)o(t)g(v)o(ectors.)j(This)d(is)f(not)h -(necessary)g(with)f Fj(STk)p Fs(.)75 2599 y Fu(\()p Fm(h)p -FD(op)q(erator)p Fm(i)22 b(h)p FD(op)q(erand)466 2605 -y Fy(1)486 2599 y Fm(i)g Fx(:)7 b(:)g(:)e Fu(\))1118 -b FD(syn)o(tax)75 2672 y FB(Identic)n(al)15 b(to)g(R)325 -2657 y Fy(4)344 2672 y FB(RS.)f FD(F)m(urthermore,)f -Fm(h)p FD(op)q(erator)p Fm(i)i FD(can)f(b)q(e)g(a)g(macro)f(\(see)i -(section)f(6.15\).)75 2769 y Fu(\(lambda)20 b Fm(h)p -FD(formals)p Fm(i)g(h)p FD(b)q(o)q(dy)p Fm(i)q Fu(\))1137 -b FD(syn)o(tax)75 2819 y Fu(\(if)21 b Fm(h)p FD(test)p -Fm(i)i(h)p FD(consequen)o(t)p Fm(i)h(h)p FD(alternate)p -Fm(i)q Fu(\))967 b FD(syn)o(tax)p eop +8 7 bop 37 45 a FE(8)1288 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 151 190 a FF(then)f(the)f(script)g(can)g(b)q(e)h +(started)e(directly)j(as)d(if)i(it)f(w)o(ere)g(a)f(binary)l(.)21 +b FB(STk)14 b FF(is)i(loaded)g(b)q(ehind)h(the)151 247 +y(scenes)f(and)f(reads)g(and)g(executes)h(the)f(script)g(as)g(a)f(Sc)o +(heme)i(program.)j(Of)c(course)g(this)g(assumes)151 303 +y(that)g FB(STk)f FF(is)i(lo)q(cated)g(in)g Fw(/usr/local/bin)p +FF(.)37 426 y FI(2.3)56 b(Other)18 b(notations)37 513 +y FB(STk)d FF(accepts)g(all)i(the)e(notations)g(de\014ned)h(in)g +FD(R)888 496 y FA(4)900 513 y Fz(RS)i FF(plus)37 620 +y Fw([)24 b(])47 b FF(Brac)o(k)o(ets)13 b(are)i(equiv)m(alen)o(t)h(to)e +(paren)o(theses.)19 b(They)c(are)f(used)i(for)d(grouping)i(and)g(to)f +(notate)g(lists.)151 677 y(A)20 b(list)h(op)q(ened)g(with)f(a)g(left)g +(square)g(brac)o(k)o(et)f(m)o(ust)g(b)q(e)i(closed)f(with)h(a)e(righ)o +(t)h(square)g(brac)o(k)o(et)151 733 y(\(section)c(6.3\).)37 +828 y Fw(:)23 b FF(A)c(colon)g(at)f(the)h(b)q(eginning)i(of)d(a)g(sym)o +(b)q(ol)h(in)o(tro)q(duces)h(a)e(k)o(eyw)o(ord.)30 b(Keyw)o(ords)18 +b(are)h(describ)q(ed)h(in)151 884 y(section)c(6.11.)37 +973 y Fw(#.)22 b FF(is)h(read)e(as)h(the)g(ev)m(aluation)h(of)f +(the)g(Sc)o(heme)g(expression)h Fw()p FF(.)39 b(The)22 +b(ev)m(aluation)h(is)151 1022 y(done)18 b(during)h(the)f +Fw(read)g FF(pro)q(cess,)g(when)h(the)f Fw(#)p FD(.)f +FF(is)i(encoun)o(tered.)28 b(Ev)m(aluation)19 b(is)g(done)f(in)h(the) +151 1072 y(en)o(vironmen)o(t)d(of)e(the)i(curren)o(t)f(mo)q(dule.)325 +1179 y Fv(\(define)21 b(foo)g(1\))325 1229 y(#.foo)456 +1279 y Fu(=)-7 b Fp(\))22 b Fv(1)325 1329 y('\(foo)f(#.foo)g(#.\(+)g +(foo)g(foo\)\))456 1379 y Fu(=)-7 b Fp(\))22 b Fv(\(foo)f(1)g(2\))325 +1428 y(\(let)g(\(\(foo)g(2\)\))391 1478 y(#.foo\))456 +1528 y Fu(=)-7 b Fp(\))22 b Fv(1)37 1722 y Fy(3)67 b(Basic)22 +b(concepts)37 1824 y FD(Identic)n(al)15 b(to)i(R)311 +1808 y FA(4)331 1824 y FD(RS.)37 1969 y Fy(4)67 b(Expressions)37 +2073 y FI(4.1)56 b(Primitiv)n(e)16 b(expression)h(t)n(yp)r(es)37 +2220 y Fw(\(quote)24 b Fo(h)p FF(datum)p Fo(i)o Fw(\))1352 +b FF(syn)o(tax)37 2277 y Fw(')p Fo(h)p FF(datum)p Fo(i)1519 +b FF(syn)o(tax)37 2350 y(The)15 b(quoting)g(mec)o(hanism)g(is)g(iden)o +(tical)h(to)e FD(R)843 2334 y FA(4)855 2350 y Fz(RS)s +FF(.)19 b(Keyw)o(ords)14 b(\(see)g(section)h(6.11\),)e(as)h(n)o +(umerical)i(con-)37 2400 y(stan)o(ts,)c(string)g(constan)o(ts,)g(c)o +(haracter)f(constan)o(ts,)h(and)h(b)q(o)q(olean)g(constan)o(ts)e(ev)m +(aluate)j(\\to)d(themselv)o(es";)37 2450 y(they)16 b(need)g(not)f(b)q +(e)h(quoted.)125 2538 y Fv('"abc")478 b Fu(=)-7 b Fp(\))43 +b Fv("abc")125 2588 y("abc")500 b Fu(=)-7 b Fp(\))43 +b Fv("abc")125 2638 y('145932)456 b Fu(=)-7 b Fp(\))43 +b Fv(145932)125 2688 y(145932)478 b Fu(=)-7 b Fp(\))43 +b Fv(145932)125 2738 y('#t)544 b Fu(=)-7 b Fp(\))43 b +Fv(#t)125 2787 y(#t)566 b Fu(=)-7 b Fp(\))43 b Fv(#t)p +eop %%Page: 9 9 -9 8 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1259 -b(9)p 75 64 1763 2 v 75 179 a Fu(\(if)21 b Fm(h)p FD(test)p -Fm(i)i(h)p FD(consequen)o(t)p Fm(i)r Fu(\))1183 b FD(syn)o(tax)75 -229 y Fu(\(set!)21 b Fm(h)p FD(v)n(ariable)p Fm(i)g(h)p -FD(expression)p Fm(i)q Fu(\))1077 b FD(syn)o(tax)75 302 -y FB(Identic)n(al)15 b(to)g(R)325 287 y Fy(4)344 302 -y FB(RS.)75 416 y FG(4.2)56 b(Deriv)n(ed)17 b(expression)g(t)n(yp)r(es) -75 548 y Fu(\(cond)k Fm(h)p FD(clause)330 554 y Fy(1)349 -548 y Fm(i)h(h)p FD(clause)511 554 y Fy(2)530 548 y Fm(i)g -Fx(:)7 b(:)g(:)f Fu(\))1073 b FD(syn)o(tax)75 598 y Fu(\(case)21 -b Fm(h)p FD(k)o(ey)p Fm(i)h(h)p FD(clause)445 604 y Fy(1)464 -598 y Fm(i)g(h)p FD(clause)626 604 y Fy(2)646 598 y Fm(i)g -Fx(:)7 b(:)g(:)e Fu(\))958 b FD(syn)o(tax)75 648 y Fu(\(and)21 -b Fm(h)p FD(test)266 654 y Fy(1)286 648 y Fm(i)h Fx(:)7 -b(:)g(:)e Fu(\))1318 b FD(syn)o(tax)75 698 y Fu(\(or)21 -b Fm(h)p FD(test)244 704 y Fy(1)264 698 y Fm(i)h Fx(:)7 -b(:)g(:)e Fu(\))1340 b FD(syn)o(tax)75 771 y FB(Identic)n(al)15 -b(to)g(R)325 756 y Fy(4)344 771 y FB(RS.)75 874 y Fu(\(when)21 -b Fm(h)p FD(test)p Fm(i)i(h)p FD(expression)528 880 y -Fy(1)548 874 y Fm(i)f(h)p FD(expression)787 880 y Fy(2)807 -874 y Fm(i)g Fx(:)7 b(:)g(:)e Fu(\))797 b FD(syn)o(tax)75 -948 y(If)14 b(the)i Fm(h)p FD(test)p Fm(i)g FD(expression)g(yields)e(a) -h(true)h(v)n(alue,)d(the)j Fm(h)p FD(expression)p Fm(i)q -FD(s)f(are)h(ev)n(aluated)e(from)f(left)i(to)f(righ)o(t)h(and)75 -998 y(the)f(v)n(alue)g(of)f(the)h(last)g Fm(h)p FD(expression)p -Fm(i)h FD(is)f(returned.)75 1101 y Fu(\(unless)20 b Fm(h)p -FD(test)p Fm(i)k(h)p FD(expression)572 1107 y Fy(1)592 -1101 y Fm(i)d(h)p FD(expression)830 1107 y Fy(2)850 1101 -y Fm(i)h Fx(:)7 b(:)g(:)f Fu(\))753 b FD(syn)o(tax)75 -1174 y(If)14 b(the)h Fm(h)p FD(test)p Fm(i)h FD(expression)f(yields)g -(a)f(false)g(v)n(alue,)f(the)i Fm(h)p FD(expression)p -Fm(i)r FD(s)g(are)f(ev)n(aluated)h(from)d(left)i(to)h(righ)o(t)f(and)75 -1224 y(the)g(v)n(alue)g(of)f(the)h(last)g Fm(h)p FD(expression)p -Fm(i)h FD(is)f(returned.)75 1327 y Fu(\(let)21 b Fm(h)p -FD(bindings)p Fm(i)g(h)p FD(b)q(o)q(dy)p Fm(i)q Fu(\))1183 -b FD(syn)o(tax)75 1377 y Fu(\(let)21 b Fm(h)p FD(v)n(ariable)p -Fm(i)g(h)p FD(bindings)p Fm(i)h(h)p FD(b)q(o)q(dy)p Fm(i)p -Fu(\))987 b FD(syn)o(tax)75 1427 y Fu(\(let*)21 b Fm(h)p -FD(bindings)p Fm(i)g(h)p FD(b)q(o)q(dy)p Fm(i)q Fu(\))1161 -b FD(syn)o(tax)75 1500 y FB(Identic)n(al)15 b(to)g(R)325 -1485 y Fy(4)344 1500 y FB(RS.)75 1604 y Fu(\(fluid-let)20 -b Fm(h)p FD(bindings)p Fm(i)h(h)p FD(b)q(o)q(dy)p Fm(i)q -Fu(\))1052 b FD(syn)o(tax)75 1673 y(The)18 b FB(bindings)k -FD(are)c(ev)n(aluated)g(in)f(the)i(curren)o(t)g(en)o(vironmen)o(t,)e -(in)h(some)f(unsp)q(eci\014ed)i(order,)h(the)e(curren)o(t)75 -1719 y(v)n(alues)e(of)f(the)h(v)n(ariables)f(presen)o(t)j(in)d -FB(bindings)20 b FD(are)c(sa)o(v)o(ed,)g(and)g(the)g(new)h(ev)n -(aluated)e(v)n(alues)h(are)g(assigned)75 1764 y(to)e(the)g -FB(bindings)k FD(v)n(ariables.)f(Once)e(this)f(is)g(done,)g(the)g -(expressions)h(of)f FB(b)n(o)n(dy)k FD(are)c(ev)n(aluated)g(sequen)o -(tially)f(in)75 1810 y(the)j(curren)o(t)h(en)o(vironmen)o(t;)d(the)i(v) -n(alue)f(of)g(the)h(last)f(expression)h(is)f(the)h(result)g(of)f -Fu(fluid-let)p FD(.)20 b(Up)q(on)c(exit,)75 1856 y(the)i(stored)g(v)n -(ariables)e(v)n(alues)h(are)h(restored.)29 b(An)17 b(error)h(is)f -(signalled)f(if)h(an)o(y)f(of)h(the)h FB(bindings)j FD(v)n(ariable)16 -b(is)75 1901 y(un)o(b)q(ound.)153 1979 y Ft(\(let*)i(\(\(a)h('out\))291 -2025 y(\(f)g(\(lambda)e(\(\))h(a\)\)\))193 2070 y(\(list)f(a)310 -2116 y(\(fluid-let)f(\(\(a)j('in\)\))e(\(f\)\))310 2162 -y(a\)\))350 2207 y Fs(=)-6 b Fn(\))19 b Ft(\(out)f(in)h(out\))75 -2330 y FD(When)14 b(the)h(b)q(o)q(dy)g(of)e(a)h Fu(fluid-let)f -FD(is)h(exited)h(b)o(y)f(in)o(v)o(oking)e(a)i(con)o(tin)o(uation,)f -(the)i(new)g(v)n(ariable)e(v)n(alues)h(are)75 2376 y(sa)o(v)o(ed,)j -(and)g(the)g(v)n(ariables)f(are)h(set)g(to)g(their)g(old)f(v)n(alues.) -26 b(Then,)17 b(if)f(the)i(b)q(o)q(dy)e(is)h(reen)o(tered)i(b)o(y)d(in) -o(v)o(oking)75 2422 y(a)j(con)o(tin)o(uation,)g(the)h(old)e(v)n(alues)h -(are)h(sa)o(v)o(ed)f(and)g(new)h(v)n(alues)f(are)h(restored.)35 -b(The)20 b(follo)o(wing)d(example)75 2467 y(illustrates)d(this)g(b)q -(eha)o(viour)153 2545 y Ft(\(let)19 b(\(\(cont)e(#f\))271 -2591 y(\(l)78 b('\(\)\))271 2636 y(\(a)g('out\)\))193 -2728 y(\(set!)17 b(l)j(\(cons)d(a)j(l\)\))193 2773 y(\(fluid-le)o(t)c -(\(\(a)j('in\)\))232 2819 y(\(set!)f(cont)g(\(call/cc)e(\(lambda)h -(\(k\))i(k\)\)\))p eop +9 8 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1288 +b(9)p 37 64 1838 2 v 125 190 a Fv(':key)500 b Fu(=)-7 +b Fp(\))43 b Fv(:key)125 240 y(:key)522 b Fu(=)-7 b Fp(\))43 +b Fv(:key)37 387 y Fn(Note:)36 b(R)201 372 y Fm(4)213 +387 y Fl(RS)16 b Fu(requires)e(to)e(quote)h(constan)o(t)h(lists)f(and)f +(constan)o(t)i(v)o(ectors.)19 b(This)12 b(is)h(not)g(necessary)i(with)d +Fk(STk)p Fu(.)37 512 y Fw(\()p Fo(h)p FF(op)q(erator)p +Fo(i)23 b(h)p FF(op)q(erand)467 519 y FA(1)487 512 y +Fo(i)g Fz(:)8 b(:)g(:)e Fw(\))1132 b FF(syn)o(tax)37 +593 y FD(Identic)n(al)15 b(to)i(R)311 576 y FA(4)331 +593 y FD(RS.)e FF(F)l(urthermore,)f Fo(h)p FF(op)q(erator)p +Fo(i)g FF(can)h(b)q(e)h(a)f(macro)f(\(see)h(section)h(6.15\).)37 +717 y Fw(\(lambda)23 b Fo(h)p FF(formals)p Fo(i)g(h)p +FF(b)q(o)q(dy)p Fo(i)p Fw(\))1153 b FF(syn)o(tax)37 773 +y Fw(\(if)24 b Fo(h)p FF(test)p Fo(i)f(h)p FF(consequen)o(t)p +Fo(i)g(h)p FF(alternate)p Fo(i)p Fw(\))966 b FF(syn)o(tax)37 +830 y Fw(\(if)24 b Fo(h)p FF(test)p Fo(i)f(h)p FF(consequen)o(t)p +Fo(i)o Fw(\))1203 b FF(syn)o(tax)37 886 y Fw(\(set!)24 +b Fo(h)p FF(v)m(ariable)p Fo(i)g(h)p FF(expression)p +Fo(i)q Fw(\))1086 b FF(syn)o(tax)37 967 y FD(Identic)n(al)15 +b(to)i(R)311 951 y FA(4)331 967 y FD(RS.)37 1098 y FI(4.2)56 +b(Deriv)n(ed)18 b(expression)f(t)n(yp)r(es)37 1248 y +Fw(\(cond)24 b Fo(h)p FF(clause)317 1255 y FA(1)337 1248 +y Fo(i)g(h)p FF(clause)515 1255 y FA(2)535 1248 y Fo(i)f +Fz(:)8 b(:)g(:)e Fw(\))1084 b FF(syn)o(tax)37 1305 y +Fw(\(case)24 b Fo(h)p FF(k)o(ey)p Fo(i)f(h)p FF(clause)443 +1312 y FA(1)463 1305 y Fo(i)h(h)p FF(clause)641 1312 +y FA(2)661 1305 y Fo(i)g Fz(:)8 b(:)g(:)d Fw(\))958 b +FF(syn)o(tax)37 1361 y Fw(\(and)24 b Fo(h)p FF(test)249 +1368 y FA(1)268 1361 y Fo(i)f Fz(:)8 b(:)g(:)e Fw(\))1351 +b FF(syn)o(tax)37 1418 y Fw(\(or)24 b Fo(h)p FF(test)225 +1425 y FA(1)244 1418 y Fo(i)f Fz(:)8 b(:)g(:)e Fw(\))1375 +b FF(syn)o(tax)37 1498 y FD(Identic)n(al)15 b(to)i(R)311 +1482 y FA(4)331 1498 y FD(RS.)37 1623 y Fw(\(when)24 +b Fo(h)p FF(test)p Fo(i)e(h)p FF(expression)534 1630 +y FA(1)555 1623 y Fo(i)h(h)p FF(expression)817 1630 y +FA(2)838 1623 y Fo(i)g Fz(:)8 b(:)g(:)e Fw(\))781 b FF(syn)o(tax)37 +1704 y(If)17 b(the)f Fo(h)p FF(test)p Fo(i)f FF(expression)h(yields)i +(a)e(true)f(v)m(alue,)i(the)f Fo(h)p FF(expression)p +Fo(i)q FF(s)g(are)f(ev)m(aluated)i(from)f(left)g(to)f(righ)o(t)37 +1760 y(and)h(the)f(v)m(alue)i(of)d(the)i(last)f Fo(h)p +FF(expression)p Fo(i)g FF(is)h(returned.)37 1884 y Fw(\(unless)23 +b Fo(h)p FF(test)p Fo(i)g(h)p FF(expression)582 1891 +y FA(1)602 1884 y Fo(i)h(h)p FF(expression)865 1891 y +FA(2)885 1884 y Fo(i)g Fz(:)8 b(:)g(:)d Fw(\))734 b FF(syn)o(tax)37 +1965 y(If)16 b(the)g Fo(h)p FF(test)p Fo(i)e FF(expression)j(yields)g +(a)e(false)h(v)m(alue,)g(the)g Fo(h)p FF(expression)p +Fo(i)p FF(s)g(are)f(ev)m(aluated)i(from)d(left)i(to)f(righ)o(t)37 +2022 y(and)h(the)f(v)m(alue)i(of)d(the)i(last)f Fo(h)p +FF(expression)p Fo(i)g FF(is)h(returned.)37 2146 y Fw(\(let)24 +b Fo(h)p FF(bindings)p Fo(i)h(h)p FF(b)q(o)q(dy)p Fo(i)p +Fw(\))1203 b FF(syn)o(tax)37 2202 y Fw(\(let)24 b Fo(h)p +FF(v)m(ariable)p Fo(i)g(h)p FF(bindings)p Fo(i)i(h)p +FF(b)q(o)q(dy)p Fo(i)p Fw(\))988 b FF(syn)o(tax)37 2259 +y Fw(\(let*)24 b Fo(h)p FF(bindings)p Fo(i)h(h)p FF(b)q(o)q(dy)p +Fo(i)p Fw(\))1179 b FF(syn)o(tax)37 2340 y FD(Identic)n(al)15 +b(to)i(R)311 2323 y FA(4)331 2340 y FD(RS.)37 2464 y +Fw(\(fluid-let)23 b Fo(h)p FF(bindings)p Fo(i)i(h)p FF(b)q(o)q(dy)p +Fo(i)p Fw(\))1060 b FF(syn)o(tax)37 2538 y(The)13 b FD(bindings)i +FF(are)d(ev)m(aluated)i(in)f(the)g(curren)o(t)f(en)o(vironmen)o(t,)h +(in)h(some)e(unsp)q(eci\014ed)j(order,)d(the)h(curren)o(t)37 +2588 y(v)m(alues)g(of)e(the)g(v)m(ariables)h(presen)o(t)f(in)h +FD(bindings)i FF(are)d(sa)o(v)o(ed,)g(and)g(the)h(new)f(ev)m(aluated)h +(v)m(alues)h(are)d(assigned)37 2638 y(to)i(the)g FD(bindings)j +FF(v)m(ariables.)20 b(Once)13 b(this)g(is)f(done,)h(the)f(expressions)h +(of)f FD(b)n(o)n(dy)k FF(are)c(ev)m(aluated)h(sequen)o(tially)37 +2688 y(in)i(the)g(curren)o(t)f(en)o(vironmen)o(t;)g(the)g(v)m(alue)h +(of)f(the)g(last)g(expression)h(is)g(the)f(result)h(of)e +Fw(fluid-let)p FF(.)18 b(Up)q(on)37 2738 y(exit,)k(the)e(stored)g(v)m +(ariables)h(v)m(alues)h(are)d(restored.)35 b(An)20 b(error)g(is)g +(signalled)i(if)f(an)o(y)f(of)f(the)i FD(bindings)37 +2787 y FF(v)m(ariable)c(is)f(un)o(b)q(ound.)p eop %%Page: 10 10 -10 9 bop 75 47 a FC(10)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 232 179 a Ft(\(set!)k(l)h(\(cons)f(a)h(l\)\)\))193 -224 y(\(set!)e(l)j(\(cons)d(a)j(l\)\))193 316 y(\(if)e(cont)g(\(cont)g -(#f\))g(l\)\))350 361 y Fs(=)-6 b Fn(\))19 b Ft(\(out)f(in)h(out)f(in)h -(out\))75 579 y Fu(\(letrec)h Fm(h)p FD(bindings)p Fm(i)i(h)p -FD(b)q(o)q(dy)p Fm(i)p Fu(\))1118 b FD(syn)o(tax)75 629 -y Fu(\(begin)21 b Fm(h)p FD(expression)429 635 y Fy(1)449 -629 y Fm(i)g(h)p FD(expression)687 635 y Fy(2)707 629 -y Fm(i)h Fx(:)7 b(:)g(:)f Fu(\))896 b FD(syn)o(tax)75 -679 y Fu(\(do)21 b Fm(h)p FD(inits)p Fm(i)h(h)p FD(test)p -Fm(i)h(h)p FD(b)q(o)q(dy)p Fm(i)p Fu(\))1158 b FD(syn)o(tax)75 -729 y Fu(\(delay)21 b Fm(h)p FD(expression)p Fm(i)q Fu(\))1251 -b FD(syn)o(tax)75 778 y Fu(\(quasiquote)20 b Fm(h)p FD(template)p -Fm(i)o Fu(\))1169 b FD(syn)o(tax)75 828 y Fu(\022)p Fm(h)p -FD(template)p Fm(i)1430 b FD(syn)o(tax)75 902 y FB(Identic)n(al)15 -b(to)g(R)325 887 y Fy(4)344 902 y FB(RS.)75 1000 y Fu(\(dotimes)20 -b FB(\(var)i(c)n(ount\))g Fm(h)p FD(expression)705 1006 -y Fy(1)725 1000 y Fm(i)g(h)p FD(expression)964 1006 y -Fy(2)984 1000 y Fm(i)g Fx(:)7 b(:)g(:)e Fu(\))620 b FD(syn)o(tax)75 -1050 y Fu(\(dotimes)20 b FB(\(var)i(c)n(ount)g(r)n(esult\))f -Fm(h)p FD(expression)825 1056 y Fy(1)845 1050 y Fm(i)h(h)p -FD(expression)1084 1056 y Fy(2)1104 1050 y Fm(i)g Fx(:)7 -b(:)g(:)e Fu(\))500 b FD(syn)o(tax)75 1123 y Fu(Dotimes)8 -b FD(ev)n(aluates)h(the)h FB(c)n(ount)k FD(form,)8 b(whic)o(h)h(m)o -(ust)f(return)j(an)e(in)o(teger.)17 b(It)9 b(then)h(ev)n(aluates)f(the) -h Fm(h)p FD(expression)p Fm(i)r FD(s)75 1173 y(once)18 -b(for)f(eac)o(h)g(in)o(teger)h(from)d(zero)j(\(inclusiv)o(e\))f(to)g -FB(c)n(ount)22 b FD(\(exclusiv)o(e\),)c(in)f(order,)h(with)e(the)i(v)n -(ariable)e FB(var)75 1223 y FD(b)q(ound)j(to)f(the)h(in)o(teger;)i(if)d -(the)i(v)n(alue)e(of)g FB(c)n(ount)23 b FD(is)18 b(zero)i(or)e(negativ) -o(e,)h(then)h(the)f Fm(h)p FD(expression)p Fm(i)r FD(s)f(are)i(not)75 -1272 y(ev)n(aluated.)g(When)14 b(the)h(lo)q(op)f(completes,)g -FB(r)n(esult)k FD(is)c(ev)n(aluated)g(and)h(its)f(v)n(alue)g(is)g -(returned)j(as)d(the)h(v)n(alue)f(of)75 1322 y(the)g -Fu(dotimes)f FD(expression.)19 b(If)14 b FB(r)n(esult)i -FD(is)e(omitted,)e Fu(dotimes)h FD(returns)i Fu(#f)p -FD(.)153 1403 y Ft(\(let)k(\(\(l)f('\(\)\)\))193 1449 -y(\(dotimes)e(\(i)j(4)g(l\))252 1494 y(\(set!)e(l)i(\(cons)f(i)h -(l\)\)\)\))350 1540 y Fs(=)-6 b Fn(\))19 b Ft(\(3)g(2)g(1)g(0\))75 -1719 y Fu(\(while)i Fm(h)p FD(test)p Fm(i)i(h)p FD(expression)550 -1725 y Fy(1)570 1719 y Fm(i)f(h)p FD(expression)809 1725 -y Fy(2)829 1719 y Fm(i)g Fx(:)7 b(:)g(:)e Fu(\))775 b -FD(syn)o(tax)75 1793 y Fu(While)11 b FD(ev)n(aluates)g(the)i -Fm(h)p FD(expression)p Fm(i)q FD(s)f(un)o(til)f Fm(h)p -FD(test)p Fm(i)i FD(returns)g(a)f(false)f(v)n(alue.)17 -b(The)12 b(v)n(alue)f(of)g(a)g Fu(while)g FD(construct)75 -1842 y(is)j(unsp)q(eci\014ed.)75 1941 y Fu(\(until)21 -b Fm(h)p FD(test)p Fm(i)i(h)p FD(expression)550 1947 -y Fy(1)570 1941 y Fm(i)f(h)p FD(expression)809 1947 y -Fy(2)829 1941 y Fm(i)g Fx(:)7 b(:)g(:)e Fu(\))775 b FD(syn)o(tax)75 -2014 y Fu(Until)19 b FD(ev)n(aluates)h(the)g Fm(h)p FD(expression)p -Fm(i)r FD(s)g(while)f Fm(h)p FD(test)p Fm(i)i FD(returns)h(a)d(false)h -(v)n(alue.)35 b(The)21 b(v)n(alue)e(of)g(an)h Fu(unless)75 -2064 y FD(construct)c(is)d(unsp)q(eci\014ed.)75 2195 -y Fw(5)67 b(Program)22 b(structure)75 2285 y FB(Identic)n(al)15 -b(to)g(R)325 2270 y Fy(4)344 2285 y FB(RS.)75 2422 y -Fw(6)67 b(Standard)24 b(pro)r(cedures)75 2521 y FG(6.1)56 -b(Bo)r(oleans)75 2597 y FD(In)14 b Fz(STk)g FD(the)h(b)q(o)q(olean)e(v) -n(alue)g Fu(#f)h FD(is)g(di\013eren)o(t)g(from)e(the)j(empt)o(y)e -(list,)g(as)h(required)h(b)o(y)e FB(R)1500 2582 y Fy(4)1512 -2597 y Fx(RS)r FD(.)75 2701 y Fu(\(not)21 b FB(obj)6 -b Fu(\))1394 b FD(pro)q(cedure)75 2751 y Fu(\(boolean?)20 -b FB(obj)6 b Fu(\))1285 b FD(pro)q(cedure)75 2824 y FB(Identic)n(al)15 -b(to)g(R)325 2809 y Fy(4)344 2824 y FB(RS.)p eop +10 9 bop 37 45 a FE(10)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(let*)j(\(\(a)i('out\))277 +240 y(\(f)g(\(lambda)e(\(\))h(a\)\)\))168 290 y(\(list)g(a)299 +340 y(\(fluid-let)f(\(\(a)h('in\)\))g(\(f\)\))299 390 +y(a\)\))343 439 y Fu(=)-7 b Fp(\))21 b Fv(\(out)g(in)h(out\))37 +580 y FF(When)15 b(the)g(b)q(o)q(dy)g(of)g(a)f Fw(fluid-let)f +FF(is)i(exited)h(b)o(y)e(in)o(v)o(oking)h(a)g(con)o(tin)o(uation,)f +(the)h(new)g(v)m(ariable)h(v)m(alues)37 630 y(are)j(sa)o(v)o(ed,)g(and) +g(the)g(v)m(ariables)i(are)d(set)h(to)f(their)i(old)f(v)m(alues.)32 +b(Then,)20 b(if)g(the)f(b)q(o)q(dy)g(is)h(reen)o(tered)f(b)o(y)37 +680 y(in)o(v)o(oking)d(a)f(con)o(tin)o(uation,)g(the)g(old)h(v)m(alues) +g(are)f(sa)o(v)o(ed)g(and)g(new)g(v)m(alues)i(are)d(restored.)20 +b(The)15 b(follo)o(wing)37 729 y(example)i(illustrates)f(this)f(b)q +(eha)o(viour)125 821 y Fv(\(let)21 b(\(\(cont)f(#f\))255 +871 y(\(l)87 b('\(\)\))255 921 y(\(a)g('out\)\))168 1020 +y(\(set!)21 b(l)h(\(cons)e(a)i(l\)\))168 1070 y(\(fluid-let)e(\(\(a)h +('in\)\))212 1120 y(\(set!)g(cont)g(\(call/cc)f(\(lambda)g(\(k\))h +(k\)\)\))212 1170 y(\(set!)g(l)g(\(cons)g(a)h(l\)\)\))168 +1219 y(\(set!)f(l)h(\(cons)e(a)i(l\)\))168 1319 y(\(if)f(cont)g(\(cont) +g(#f\))g(l\)\))343 1369 y Fu(=)-7 b Fp(\))21 b Fv(\(out)g(in)h(out)f +(in)g(out\))37 1633 y Fw(\(letrec)i Fo(h)p FF(bindings)p +Fo(i)j(h)p FF(b)q(o)q(dy)p Fo(i)p Fw(\))1131 b FF(syn)o(tax)37 +1689 y Fw(\(begin)24 b Fo(h)p FF(expression)426 1696 +y FA(1)446 1689 y Fo(i)f(h)p FF(expression)708 1696 y +FA(2)729 1689 y Fo(i)g Fz(:)8 b(:)g(:)e Fw(\))890 b FF(syn)o(tax)37 +1746 y Fw(\(do)24 b Fo(h)p FF(inits)p Fo(i)g(h)p FF(test)p +Fo(i)f(h)p FF(b)q(o)q(dy)p Fo(i)p Fw(\))1175 b FF(syn)o(tax)37 +1802 y Fw(\(delay)24 b Fo(h)p FF(expression)p Fo(i)p +Fw(\))1277 b FF(syn)o(tax)37 1858 y Fw(\(quasiquote)23 +b Fo(h)p FF(template)p Fo(i)o Fw(\))1188 b FF(syn)o(tax)37 +1915 y Fw(\022)p Fo(h)p FF(template)p Fo(i)1474 b FF(syn)o(tax)37 +1996 y FD(Identic)n(al)15 b(to)i(R)311 1979 y FA(4)331 +1996 y FD(RS.)37 2120 y Fw(\(dotimes)23 b FD(\(var)h(c)n(ount\))f +Fo(h)p FF(expression)728 2127 y FA(1)749 2120 y Fo(i)g(h)p +FF(expression)1011 2127 y FA(2)1032 2120 y Fo(i)g Fz(:)8 +b(:)g(:)e Fw(\))587 b FF(syn)o(tax)37 2176 y Fw(\(dotimes)23 +b FD(\(var)h(c)n(ount)g(r)n(esult\))f Fo(h)p FF(expression)860 +2183 y FA(1)880 2176 y Fo(i)h(h)p FF(expression)1143 +2183 y FA(2)1163 2176 y Fo(i)f Fz(:)8 b(:)g(:)e Fw(\))456 +b FF(syn)o(tax)37 2257 y Fw(Dotimes)22 b FF(ev)m(aluates)h(the)g +FD(c)n(ount)j FF(form,)d(whic)o(h)g(m)o(ust)f(return)h(an)f(in)o +(teger.)42 b(It)22 b(then)h(ev)m(aluates)g(the)37 2314 +y Fo(h)p FF(expression)p Fo(i)q FF(s)16 b(once)i(for)e(eac)o(h)h(in)o +(teger)g(from)f(zero)h(\(inclusiv)o(e\))h(to)e FD(c)n(ount)21 +b FF(\(exclusiv)o(e\),)d(in)g(order,)f(with)37 2370 y(the)k(v)m +(ariable)h FD(var)k FF(b)q(ound)c(to)e(the)g(in)o(teger;)k(if)d(the)f +(v)m(alue)i(of)f FD(c)n(ount)j FF(is)d(zero)g(or)f(negativ)o(e,)i(then) +f(the)37 2427 y Fo(h)p FF(expression)p Fo(i)q FF(s)16 +b(are)h(not)f(ev)m(aluated.)26 b(When)17 b(the)g(lo)q(op)h(completes,)f +FD(r)n(esult)k FF(is)c(ev)m(aluated)h(and)f(its)g(v)m(alue)37 +2483 y(is)f(returned)g(as)f(the)g(v)m(alue)h(of)f(the)g +Fw(dotimes)g FF(expression.)20 b(If)c FD(r)n(esult)j +FF(is)c(omitted,)g Fw(dotimes)f FF(returns)h Fw(#f)p +FF(.)125 2588 y Fv(\(let)21 b(\(\(l)g('\(\)\)\))168 2638 +y(\(dotimes)f(\(i)i(4)f(l\))234 2688 y(\(set!)f(l)i(\(cons)f(i)g +(l\)\)\)\))343 2738 y Fu(=)-7 b Fp(\))21 b Fv(\(3)h(2)f(1)h(0\))p +eop %%Page: 11 11 -11 10 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(11)p 75 64 1763 2 v 75 179 a FG(6.2)56 b(Equiv)m(alence)16 -b(predicates)75 316 y Fu(\(eqv?)21 b FB(obj)259 322 y -Fy(1)299 316 y FB(obj)352 322 y Fy(2)371 316 y Fu(\))1266 -b FD(pro)q(cedure)75 387 y Fz(STk)15 b FD(extends)i(the)e -Fu(eqv?)f FD(predicate)i(de\014ned)g(in)e(the)i FB(R)978 -372 y Fy(4)990 387 y Fx(RS)h FD(to)e(tak)o(e)g(k)o(eyw)o(ords)g(in)o -(to)g(accoun)o(t:)20 b(if)14 b FB(obj)1737 393 y Fy(1)1771 -387 y FD(and)75 432 y FB(obj)128 438 y Fy(2)161 432 y -FD(are)g(b)q(oth)g(k)o(eyw)o(ords,)g(the)g Fu(eqv?)f -FD(predicate)i(will)d(yield)i Fu(#t)f FD(if)g(and)h(only)f(if)153 -516 y Ft(\(string=?)k(\(keyword-)o(>s)o(tri)o(ng)f(obj1\))350 -562 y(\(keyword-)o(>s)o(tri)o(ng)g(obj2\)\))703 608 y -Fs(=)-6 b Fn(\))39 b Ft(#t)75 758 y Fu(\(eq?)21 b FB(obj)237 -764 y Fy(1)277 758 y FB(obj)330 764 y Fy(2)349 758 y -Fu(\))1288 b FD(pro)q(cedure)75 833 y Fz(STk)12 b FD(extends)i(the)f -Fu(eq?)e FD(predicate)i(de\014ned)g(in)f FB(R)864 818 -y Fy(4)876 833 y Fx(RS)j FD(to)d(tak)o(e)g(k)o(eyw)o(ords)g(in)o(to)g -(accoun)o(t.)17 b(On)c(k)o(eyw)o(ords,)f Fu(eq?)75 883 -y FD(b)q(eha)o(v)o(es)j(lik)o(e)e Fu(eqv?)p FD(.)153 -976 y Ft(\(eq?)19 b(:key)f(:key\))253 b Fs(=)-6 b Fn(\))39 -b Ft(#t)75 1182 y Fu(\(equal?)20 b FB(obj)302 1188 y -Fy(1)343 1182 y FB(obj)396 1188 y Fy(2)414 1182 y Fu(\))1223 -b FD(pro)q(cedure)75 1257 y FB(Identic)n(al)15 b(to)g(R)325 -1242 y Fy(4)344 1257 y FB(RS.)75 1386 y FG(6.3)56 b(P)n(airs)19 -b(and)g(lists)75 1523 y Fu(\(pair?)i FB(obj)6 b Fu(\))1350 -b FD(pro)q(cedure)75 1573 y Fu(\(cons)21 b FB(obj)259 -1579 y Fy(1)299 1573 y FB(obj)352 1579 y Fy(2)371 1573 -y Fu(\))1266 b FD(pro)q(cedure)75 1623 y Fu(\(car)21 -b FB(p)n(air)t Fu(\))1378 b FD(pro)q(cedure)75 1672 y -Fu(\(cdr)21 b FB(p)n(air)t Fu(\))1378 b FD(pro)q(cedure)75 -1722 y Fu(\(set-car!)20 b FB(p)n(air)h(obj)6 b Fu(\))1193 -b FD(pro)q(cedure)75 1772 y Fu(\(set-cdr!)20 b FB(p)n(air)h(obj)6 -b Fu(\))1193 b FD(pro)q(cedure)75 1822 y Fu(\(caar)21 -b FB(p)n(air)t Fu(\))1356 b FD(pro)q(cedure)75 1872 y -Fu(\(cadr)21 b FB(p)n(air)t Fu(\))1356 b FD(pro)q(cedure)178 -1914 y Fu(.)178 1931 y(.)178 1947 y(.)1742 1914 y FD(.)1742 -1931 y(.)1742 1947 y(.)75 1997 y Fu(\(cdddar)20 b FB(p)n(air)t -Fu(\))1313 b FD(pro)q(cedure)75 2047 y Fu(\(cddddr)20 -b FB(p)n(air)t Fu(\))1313 b FD(pro)q(cedure)75 2097 y -Fu(\(null?)21 b FB(obj)6 b Fu(\))1350 b FD(pro)q(cedure)75 -2146 y Fu(\(list?)21 b FB(obj)6 b Fu(\))1350 b FD(pro)q(cedure)75 -2196 y Fu(\(list)21 b FB(obj)28 b Fx(:)7 b(:)g(:)e Fu(\))1295 -b FD(pro)q(cedure)75 2246 y Fu(\(length)20 b FB(list)t -Fu(\))1329 b FD(pro)q(cedure)75 2296 y Fu(\(append)20 -b FB(list)h Fx(:)7 b(:)g(:)f Fu(\))1256 b FD(pro)q(cedure)75 -2346 y Fu(\(reverse)20 b FB(list)t Fu(\))1307 b FD(pro)q(cedure)75 -2395 y Fu(\(list-tail)20 b FB(list)h Fx(k)q Fu(\))1223 -b FD(pro)q(cedure)75 2445 y Fu(\(list-ref)20 b FB(list)h -Fx(k)q Fu(\))1245 b FD(pro)q(cedure)75 2495 y Fu(\(memq)21 -b FB(obj)h(list)t Fu(\))1297 b FD(pro)q(cedure)75 2545 -y Fu(\(memv)21 b FB(obj)h(list)t Fu(\))1297 b FD(pro)q(cedure)75 -2595 y Fu(\(member)20 b FB(obj)i(list)t Fu(\))1254 b -FD(pro)q(cedure)75 2645 y Fu(\(assq)21 b FB(obj)h(alist)t -Fu(\))1276 b FD(pro)q(cedure)75 2694 y Fu(\(assv)21 b -FB(obj)h(alist)t Fu(\))1276 b FD(pro)q(cedure)75 2744 -y Fu(\(assoc)21 b FB(obj)g(alist)t Fu(\))1255 b FD(pro)q(cedure)75 -2819 y FB(Identic)n(al)15 b(to)g(R)325 2804 y Fy(4)344 -2819 y FB(RS.)p eop +11 10 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(11)p 37 64 1838 2 v 37 190 a Fw(\(while)24 b Fo(h)p +FF(test)p Fo(i)e(h)p FF(expression)558 197 y FA(1)579 +190 y Fo(i)h(h)p FF(expression)841 197 y FA(2)861 190 +y Fo(i)h Fz(:)8 b(:)g(:)e Fw(\))757 b FF(syn)o(tax)37 +272 y Fw(While)20 b FF(ev)m(aluates)g(the)g Fo(h)p FF(expression)p +Fo(i)p FF(s)g(un)o(til)h Fo(h)p FF(test)p Fo(i)d FF(returns)i(a)f +(false)h(v)m(alue.)35 b(The)20 b(v)m(alue)h(of)e(a)h +Fw(while)37 328 y FF(construct)15 b(is)h(unsp)q(eci\014ed.)37 +455 y Fw(\(until)24 b Fo(h)p FF(test)p Fo(i)e(h)p FF(expression)558 +462 y FA(1)579 455 y Fo(i)h(h)p FF(expression)841 462 +y FA(2)861 455 y Fo(i)h Fz(:)8 b(:)g(:)e Fw(\))757 b +FF(syn)o(tax)37 536 y Fw(Until)16 b FF(ev)m(aluates)g(the)h +Fo(h)p FF(expression)p Fo(i)p FF(s)f(while)h Fo(h)p FF(test)p +Fo(i)e FF(returns)h(a)f(false)i(v)m(alue.)23 b(The)16 +b(v)m(alue)h(of)f(an)g Fw(unless)37 593 y FF(construct)f(is)h(unsp)q +(eci\014ed.)37 748 y Fy(5)67 b(Program)23 b(structure)37 +852 y FD(Identic)n(al)15 b(to)i(R)311 835 y FA(4)331 +852 y FD(RS.)37 1002 y Fy(6)67 b(Standard)24 b(pro)r(cedures)37 +1107 y FI(6.1)56 b(Bo)r(oleans)37 1196 y FF(In)16 b FB(STk)f +FF(the)g(b)q(o)q(olean)h(v)m(alue)h Fw(#f)e FF(is)g(di\013eren)o(t)h +(from)e(the)i(empt)o(y)e(list,)i(as)f(required)h(b)o(y)f +FD(R)1598 1179 y FA(4)1611 1196 y Fz(RS)s FF(.)37 1317 +y Fw(\(not)24 b FD(obj)7 b Fw(\))1433 b FF(pro)q(cedure)37 +1373 y Fw(\(boolean?)23 b FD(obj)7 b Fw(\))1314 b FF(pro)q(cedure)37 +1454 y FD(Identic)n(al)15 b(to)i(R)311 1438 y FA(4)331 +1454 y FD(RS.)37 1588 y FI(6.2)56 b(Equiv)m(alence)16 +b(predicates)37 1740 y Fw(\(eqv?)24 b FD(obj)239 1747 +y FA(1)282 1740 y FD(obj)340 1747 y FA(2)360 1740 y Fw(\))1295 +b FF(pro)q(cedure)37 1815 y FB(STk)16 b FF(extends)h(the)f +Fw(eqv?)g FF(predicate)h(de\014ned)g(in)g(the)g FD(R)1026 +1798 y FA(4)1038 1815 y Fz(RS)h FF(to)e(tak)o(e)f(k)o(eyw)o(ords)h(in)o +(to)g(accoun)o(t:)22 b(if)16 b FD(obj)1855 1822 y FA(1)37 +1865 y FF(and)g FD(obj)184 1872 y FA(2)219 1865 y FF(are)f(b)q(oth)g(k) +o(eyw)o(ords,)f(the)h Fw(eqv?)g FF(predicate)h(will)h(yield)g +Fw(#t)e FF(if)g(and)h(only)f(if)125 1958 y Fv(\(string=?)20 +b(\(keyword->strin)o(g)f(obj1\))343 2007 y(\(keyword->strin)o(g)g +(obj2\)\))735 2057 y Fu(=)-7 b Fp(\))43 b Fv(#t)37 2225 +y Fw(\(eq?)24 b FD(obj)215 2232 y FA(1)258 2225 y FD(obj)316 +2232 y FA(2)336 2225 y Fw(\))1319 b FF(pro)q(cedure)37 +2306 y FB(STk)13 b FF(extends)g(the)g Fw(eq?)f FF(predicate)h +(de\014ned)i(in)e FD(R)898 2290 y FA(4)910 2306 y Fz(RS)i +FF(to)e(tak)o(e)f(k)o(eyw)o(ords)f(in)o(to)i(accoun)o(t.)19 +b(On)13 b(k)o(eyw)o(ords,)37 2363 y Fw(eq?)i FF(b)q(eha)o(v)o(es)h(lik) +o(e)g Fw(eqv?)p FF(.)125 2469 y Fv(\(eq?)21 b(:key)g(:key\))282 +b Fu(=)-7 b Fp(\))43 b Fv(#t)37 2700 y Fw(\(equal?)23 +b FD(obj)286 2707 y FA(1)330 2700 y FD(obj)388 2707 y +FA(2)408 2700 y Fw(\))1247 b FF(pro)q(cedure)37 2782 +y FD(Identic)n(al)15 b(to)i(R)311 2765 y FA(4)331 2782 +y FD(RS.)p eop %%Page: 12 12 -12 11 bop 75 47 a FC(12)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(remq)21 b FB(obj)h(list)t -Fu(\))1297 b FD(pro)q(cedure)75 229 y Fu(\(remv)21 b -FB(obj)h(list)t Fu(\))1297 b FD(pro)q(cedure)75 278 y -Fu(\(remove)20 b FB(obj)i(list)t Fu(\))1254 b FD(pro)q(cedure)75 -355 y(Eac)o(h)10 b(function)g(return)i(a)d(cop)o(y)i(of)e -FB(list)k FD(where)e(all)e(the)i(o)q(ccurences)i(of)d -FB(obj)16 b FD(ha)o(v)o(e)10 b(b)q(een)h(deleted.)18 -b(The)10 b(predicate)75 404 y(used)15 b(to)f(test)g(the)h(presence)h -(of)e FB(obj)20 b FD(in)13 b FB(list)k FD(is)d(resp)q(ectiv)o(ely)h -Fu(eq)p FD(,)e Fu(eqv)g FD(and)h Fu(equal)p FD(.)75 453 -y Fl(Note:)32 b Fs(It)13 b(is)h(not)f(an)g(error)g(if)h -Fl(obj)j Fs(do)q(es)c(not)h(app)q(ear)g(in)f Fl(list)s -Fs(.)153 543 y Ft(\(remq)18 b(1)h('\(1)g(2)g(3\)\))215 -b Fs(=)-6 b Fn(\))19 b Ft(\(2)g(3\))153 589 y(\(remq)f("foo")g -('\("foo")f("bar"\)\))g Fs(=)-6 b Fn(\))19 b Ft(\("foo")e("bar"\))153 -634 y(\(remove)g("foo")h('\("foo")f("bar"\)\))703 680 -y Fs(=)-6 b Fn(\))19 b Ft(\("bar"\))75 891 y Fu(\(list*)i -FB(obj)6 b Fu(\))1350 b FD(pro)q(cedure)75 963 y Fu(list*)18 -b FD(is)g(lik)o(e)g Fu(list)g FD(except)j(that)d(the)i(last)e(argumen)o -(t)g(to)h Fu(list*)f FD(is)g(used)i(as)f(the)g FB(c)n(dr)g -FD(of)f(the)h(last)g(pair)75 1009 y(constructed.)153 -1099 y Ft(\(list*)f(1)h(2)g(3\))294 b Fs(=)-6 b Fn(\))19 -b Ft(\(1)g(2)g(.)g(3\))153 1144 y(\(list*)f(1)h(2)g(3)g('\(4)g(5\)\)) -156 b Fs(=)-6 b Fn(\))19 b Ft(\(1)g(2)g(3)g(4)h(5\))75 -1355 y Fu(\(copy-tree)g FB(obj)6 b Fu(\))1263 b FD(pro)q(cedure)75 -1431 y Fu(Copy-tree)10 b FD(recursiv)o(ely)j(copies)f(trees)i(of)d -(pairs.)18 b(If)11 b Fu(obj)g FD(is)h(not)g(a)g(pair,)f(it)h(is)f -(returned;)j(otherwise)f(the)g(result)75 1481 y(is)k(a)g(new)g(pair)g -(whose)h FB(c)n(ar)e FD(and)h FB(c)n(dr)g FD(are)h(obtained)e(b)o(y)h -(calling)f Fu(copy-tree)f FD(on)i(the)h FB(c)n(ar)e FD(and)h -FB(c)n(dr)g FD(of)g Fu(obj)p FD(,)75 1531 y(resp)q(ectiv)o(ely)m(.)75 -1674 y FG(6.4)56 b(Sym)n(b)r(ols)75 1756 y FD(The)15 -b Fz(STk)g FD(reader)h(can)g(cop)q(e)f(with)g(sym)o(b)q(ols)e(whose)i -(names)f(con)o(tain)h(sp)q(ecial)g(c)o(haracters)i(or)d(letters)i(in)f -(the)75 1806 y(non)k(standard)h(case.)36 b(When)20 b(a)f(sym)o(b)q(ol)f -(is)i(read,)g(the)h(parts)f(enclosed)g(in)f(bars)h(\(\\)p -Fu(|)p FD("\))g(will)e(b)q(e)i(en)o(tered)75 1856 y(v)o(erbatim)12 -b(in)o(to)h(the)h(sym)o(b)q(ol's)d(name.)17 b(The)d(\\)p -Fu(|)p FD(")f(c)o(haracters)i(are)f(not)f(part)h(of)f(the)h(sym)o(b)q -(ol;)d(they)k(only)d(serv)o(e)75 1906 y(to)g(delimit)d(the)j(sequence)i -(of)d(c)o(haracters)j(that)d(m)o(ust)g(b)q(e)h(en)o(tered)i(\\as)d -(is".)17 b(In)12 b(order)g(to)g(main)o(tain)d(read-write)75 -1956 y(in)o(v)n(ariance,)j(sym)o(b)q(ols)f(con)o(taining)h(suc)o(h)h -(sequences)j(of)c(sp)q(ecial)h(c)o(haracters)h(will)e(b)q(e)h(written)g -(b)q(et)o(w)o(een)h(a)f(pair)75 2005 y(of)g(\\)p Fu(|)p -FD(")153 2107 y Ft('|x|)470 b Fs(=)-6 b Fn(\))19 b Ft(x)153 -2152 y(\(string->sy)o(mb)o(ol)d("X"\))156 b Fs(=)-6 b -Fn(\))19 b Ft(|X|)153 2198 y(\(symbol->st)o(ri)o(ng)d('|X|\))136 -b Fs(=)-6 b Fn(\))19 b Ft("X")153 2244 y('|a)39 b(b|)411 -b Fs(=)-6 b Fn(\))19 b Ft(|a)39 b(b|)153 2289 y('a|B|c)430 -b Fs(=)-6 b Fn(\))19 b Ft(|aBc|)153 2335 y(\(write)f('|FoO|\))272 -b Fs(=)-6 b Fn(\))19 b Ft(writes)e(the)i(string)e("|FoO|")153 -2381 y(\(display)g('|FoO|\))233 b Fs(=)-6 b Fn(\))19 -b Ft(writes)e(the)i(string)e("FoO")75 2529 y Fl(Note:)53 -b Fs(This)19 b(notation)h(has)e(b)q(een)h(in)o(tro)q(duced)h(b)q -(ecause)g Fl(R)1014 2513 y Fr(4)1025 2529 y Fk(RS)g Fs(states)f(that)f -(case)h(m)o(ust)f(not)g(b)q(e)h(signi\014can)o(t)i(in)75 -2579 y(sym)o(b)q(ols)14 b(whereas)f(the)g(Tk)g(to)q(olkit)h(is)f(case)g -(signi\014can)o(t)j(\(or)c(more)h(precisely)i(thinks)f(it)f(runs)g(o)o -(v)o(er)g(Tcl)g(whic)o(h)h(is)f(case)75 2629 y(signi\014can)o(t\).)19 -b(Ho)o(w)o(ev)o(er,)13 b(sym)o(b)q(ols)h(con)o(taining)i(the)d(c)o -(haracter)h(\\)p Ft(|)p Fs(")f(itself)h(still)h(can't)e(b)q(e)g(read)g -(in.)75 2743 y Fu(\(symbol?)20 b FB(obj)6 b Fu(\))1307 -b FD(pro)q(cedure)75 2819 y(Returns)15 b Fu(#t)e FD(if)g -FB(obj)20 b FD(is)14 b(a)f(sym)o(b)q(ol,)f(otherwise)j(returns)g -Fu(#f)p FD(.)p eop +12 11 bop 37 45 a FE(12)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FI(6.3)56 b(P)n(airs)19 b(and)h(lists)37 +343 y Fw(\(pair?)k FD(obj)7 b Fw(\))1385 b FF(pro)q(cedure)37 +399 y Fw(\(cons)24 b FD(obj)239 406 y FA(1)282 399 y +FD(obj)340 406 y FA(2)360 399 y Fw(\))1295 b FF(pro)q(cedure)37 +455 y Fw(\(car)24 b FD(p)n(air)5 b Fw(\))1416 b FF(pro)q(cedure)37 +512 y Fw(\(cdr)24 b FD(p)n(air)5 b Fw(\))1416 b FF(pro)q(cedure)37 +568 y Fw(\(set-car!)23 b FD(p)n(air)h(obj)7 b Fw(\))1213 +b FF(pro)q(cedure)37 625 y Fw(\(set-cdr!)23 b FD(p)n(air)h(obj)7 +b Fw(\))1213 b FF(pro)q(cedure)37 681 y Fw(\(caar)24 +b FD(p)n(air)5 b Fw(\))1392 b FF(pro)q(cedure)37 738 +y Fw(\(cadr)24 b FD(p)n(air)5 b Fw(\))1392 b FF(pro)q(cedure)150 +781 y Fw(.)150 798 y(.)150 815 y(.)1771 781 y FF(.)1771 +798 y(.)1771 815 y(.)37 871 y Fw(\(cdddar)23 b FD(p)n(air)5 +b Fw(\))1345 b FF(pro)q(cedure)37 927 y Fw(\(cddddr)23 +b FD(p)n(air)5 b Fw(\))1345 b FF(pro)q(cedure)37 984 +y Fw(\(null?)24 b FD(obj)7 b Fw(\))1385 b FF(pro)q(cedure)37 +1040 y Fw(\(list?)24 b FD(obj)7 b Fw(\))1385 b FF(pro)q(cedure)37 +1097 y Fw(\(list)24 b FD(obj)30 b Fz(:)8 b(:)g(:)e Fw(\))1325 +b FF(pro)q(cedure)37 1153 y Fw(\(length)23 b FD(list)t +Fw(\))1363 b FF(pro)q(cedure)37 1210 y Fw(\(append)23 +b FD(list)h Fz(:)8 b(:)g(:)d Fw(\))1283 b FF(pro)q(cedure)37 +1291 y FD(Identic)n(al)15 b(to)i(R)311 1275 y FA(4)331 +1291 y FD(RS.)37 1419 y Fw(\(append!)23 b FD(list)g(.)7 +b(.)g(.)g Fw(\))1257 b FF(pro)q(cedure)37 1494 y(Returns)15 +b(a)f(list)i(consisting)f(of)f(the)g(elemen)o(ts)h(of)f(the)h(\014rst)f +FD(list)k FF(follo)o(w)o(ed)c(b)o(y)g(the)h(elemen)o(ts)g(of)f(the)g +(other)37 1543 y(lists,)i(as)g(with)f Fw(append)p FF(.)20 +b(The)c(di\013erenece)h(with)f Fw(append)e FF(is)i(that)f(the)h +(argumen)o(ts)e(are)h FD(change)n(d)h FF(rather)37 1593 +y(than)g FD(c)n(opie)n(d)p FF(.)168 1687 y Fv(\(append!)k('\(1)i(2\))f +('\(3)g(4\))g('\(5)h(6\)\))343 1737 y Fu(=)-7 b Fp(\))21 +b Fv('\(1)g(2)h(3)g(4)f(5)h(6\))168 1786 y(\(let)f(\(\(l1)g('\(1)g +(2\)\))299 1836 y(\(l2)g('\(3)g(4\)\))299 1886 y(\(l3)g('\(5)g(6\)\)\)) +212 1936 y(\(append!)f(l1)h(l2)h(l3\))212 1986 y(\(list)f(l1)g(l2)g +(l3\)\))343 2036 y Fu(=)-7 b Fp(\))21 b Fv(\(\(1)g(2)h(3)g(4)f(5)h(6\)) +f(\(3)h(4)f(5)h(6\))f(\(5)g(6\)\))37 2254 y Fw(\(reverse)i +FD(list)t Fw(\))1339 b FF(pro)q(cedure)37 2311 y Fw(\(list-tail)23 +b FD(list)g Fz(k)q Fw(\))1247 b FF(pro)q(cedure)37 2367 +y Fw(\(list-ref)23 b FD(list)g Fz(k)q Fw(\))1271 b FF(pro)q(cedure)37 +2424 y Fw(\(memq)24 b FD(obj)g(list)t Fw(\))1328 b FF(pro)q(cedure)37 +2480 y Fw(\(memv)24 b FD(obj)g(list)t Fw(\))1328 b FF(pro)q(cedure)37 +2537 y Fw(\(member)23 b FD(obj)h(list)t Fw(\))1281 b +FF(pro)q(cedure)37 2593 y Fw(\(assq)24 b FD(obj)g(alist)t +Fw(\))1305 b FF(pro)q(cedure)37 2650 y Fw(\(assv)24 b +FD(obj)g(alist)t Fw(\))1305 b FF(pro)q(cedure)37 2706 +y Fw(\(assoc)24 b FD(obj)f(alist)t Fw(\))1282 b FF(pro)q(cedure)37 +2787 y FD(Identic)n(al)15 b(to)i(R)311 2771 y FA(4)331 +2787 y FD(RS.)p eop %%Page: 13 13 -13 12 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(13)p 75 64 1763 2 v 153 179 a Ft(\(symbol?)17 b('foo\))273 -b Fs(=)-6 b Fn(\))39 b Ft(#t)153 224 y(\(symbol?)17 b(\(car)h('\(a)h -(b\)\)\))116 b Fs(=)-6 b Fn(\))39 b Ft(#t)153 270 y(\(symbol?)17 -b("bar"\))253 b Fs(=)-6 b Fn(\))39 b Ft(#f)153 316 y(\(symbol?)17 -b('nil\))273 b Fs(=)-6 b Fn(\))39 b Ft(#t)153 361 y(\(symbol?)17 -b('\(\)\))293 b Fs(=)-6 b Fn(\))39 b Ft(#f)153 407 y(\(symbol?)17 -b(#f\))313 b Fs(=)-6 b Fn(\))39 b Ft(#f)153 453 y(\(symbol?)17 -b(:key\))273 b Fs(=)-6 b Fn(\))39 b Ft(#f)75 632 y Fu(\(symbol->string) -19 b FB(symb)n(ol)t Fu(\))1089 b FD(pro)q(cedure)75 682 -y Fu(\(string->symbol)19 b FB(string)t Fu(\))1105 b FD(pro)q(cedure)75 -755 y FB(Identic)n(al)15 b(to)g(R)325 740 y Fy(4)344 -755 y FB(RS.)75 853 y Fu(\(gensym)o(\))1409 b FD(pro)q(cedure)75 -903 y Fu(\(gensym)20 b FB(pr)n(e\014x)5 b Fu(\))1285 -b FD(pro)q(cedure)75 972 y Fu(Gensym)11 b FD(creates)k(a)d(new)h(sym)o -(b)q(ol.)j(The)d(prin)o(t)f(name)g(of)g(the)h(generated)h(sym)o(b)q(ol) -c(consists)k(of)e(a)g(pre\014x)h(\(whic)o(h)75 1018 y(defaults)g(to)g -Fu("G")p FD(\))g(follo)o(w)o(ed)e(b)o(y)i(the)h(decimal)d(represen)o -(tation)k(of)d(a)h(n)o(um)o(b)q(er.)k(If)c FB(pr)n(e\014x)18 -b FD(is)13 b(sp)q(eci\014ed,)i(it)d(m)o(ust)75 1064 y(b)q(e)j(a)e -(string.)153 1138 y Ft(\(gensym\))350 1183 y Fs(=)-6 -b Fn(\))19 b Ft(|G100|)153 1229 y(\(gensym)e("foo-"\))350 -1275 y Fs(=)-6 b Fn(\))19 b Ft(foo-101)75 1458 y FG(6.5)56 -b(Num)n(b)r(ers)75 1535 y FD(The)18 b(only)g(n)o(um)o(b)q(ers)f -(recognized)i(b)o(y)f Fz(STk)g FD(are)h(in)o(tegers)f(\(with)g -(arbitrary)g(precision\))g(and)g(reals)g(\(imple-)75 -1584 y(men)o(ted)13 b(as)h(C)g Fu(double)21 b(float)p -FD(s\).)75 1688 y Fu(\(number?)f FB(obj)6 b Fu(\))1307 -b FD(pro)q(cedure)75 1762 y(Returns)15 b Fu(#t)e FD(if)g -FB(obj)20 b FD(is)14 b(a)f(n)o(um)o(b)q(er,)g(otherwise)i(returns)g -Fu(#f)p FD(.)75 1860 y Fu(\(complex?)20 b FB(obj)6 b -Fu(\))1285 b FD(pro)q(cedure)75 1933 y(Returns)15 b(the)f(same)f -(result)i(as)f FB(numb)n(er?)5 b FD(.)18 b(Note)d(that)f(complex)e(n)o -(um)o(b)q(ers)i(are)g(not)g(implemen)o(ted.)75 2031 y -Fu(\(real?)21 b FB(obj)6 b Fu(\))1350 b FD(pro)q(cedure)75 -2105 y(Returns)15 b Fu(#t)e FD(if)g FB(obj)20 b FD(is)14 -b(a)f(\015oat)h(n)o(um)o(b)q(er,)f(otherwise)i(returns)g -Fu(#f)p FD(.)75 2203 y Fu(\(rational?)20 b FB(obj)6 b -Fu(\))1263 b FD(pro)q(cedure)75 2276 y(Returns)15 b(the)f(same)f -(result)i(as)f FB(numb)n(er?)5 b FD(.)18 b(Note)d(that)f(rational)e(n)o -(um)o(b)q(ers)i(are)g(not)g(implemen)o(ted.)75 2375 y -Fu(\(integer?)20 b FB(obj)6 b Fu(\))1285 b FD(pro)q(cedure)75 -2448 y(Returns)10 b Fu(#t)g FD(if)e FB(obj)16 b FD(is)9 -b(an)h(in)o(teger,)g(otherwise)h(returns)g Fu(#f)p FD(.)16 -b Fl(Note:)28 b Fs(The)9 b Fj(STk)g Fs(in)o(terpreter)h(distinguis)q -(hes)i(b)q(et)o(w)o(een)75 2498 y(in)o(tegers)i(whic)o(h)g(\014t)g(in)g -(a)f(C)g Ft(long)18 b(int)12 b Fs(\(min)o(us)i(8)f(bits\))h(and)g(in)o -(tegers)g(of)f(arbitrary)i(length)g(\(ak)n(a)e(\\bign)o(ums"\).)20 -b(This)75 2548 y(should)15 b(b)q(e)e(transparen)o(t)h(to)f(the)g(user,) -g(though.)75 2646 y Fu(\(exact?)20 b Fx(z)r Fu(\))1367 -b FD(pro)q(cedure)75 2696 y Fu(\(inexact?)20 b Fx(z)r -Fu(\))1323 b FD(pro)q(cedure)75 2769 y(In)18 b(this)g(implemen)o(tati)o -(on,)e(in)o(tegers)i(\(C)g Fu(long)j(int)c FD(or)h(\\bign)o(ums"\))e -(are)i(exact)h(n)o(um)o(b)q(ers)e(and)h(\015oats)g(are)75 -2819 y(inexact.)p eop +13 12 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(13)p 37 64 1838 2 v 37 190 a Fw(\(remq)24 b FD(obj)g(list)t +Fw(\))1328 b FF(pro)q(cedure)37 247 y Fw(\(remv)24 b +FD(obj)g(list)t Fw(\))1328 b FF(pro)q(cedure)37 303 y +Fw(\(remove)23 b FD(obj)h(list)t Fw(\))1281 b FF(pro)q(cedure)37 +385 y(Eac)o(h)18 b(function)g(return)f(a)g(cop)o(y)g(of)g +FD(list)k FF(where)c(all)h(the)g(o)q(ccurences)g(of)f +FD(obj)24 b FF(ha)o(v)o(e)17 b(b)q(een)h(deleted.)28 +b(The)37 441 y(predicate)17 b(used)e(to)g(test)g(the)g(presence)h(of)f +FD(obj)22 b FF(in)16 b FD(list)i FF(is)e(resp)q(ectiv)o(ely)h +Fw(eq)p FF(,)d Fw(eqv)h FF(and)h Fw(equal)p FF(.)37 493 +y Fn(Note:)37 b Fu(It)14 b(is)g(not)g(an)f(error)i(if)e +Fn(obj)20 b Fu(do)q(es)15 b(not)e(app)q(ear)i(in)e Fn(list)s +Fu(.)125 588 y Fv(\(remq)20 b(1)i('\(1)f(2)h(3\)\))239 +b Fu(=)-7 b Fp(\))22 b Fv(\(2)f(3\))125 638 y(\(remq)f("foo")h +('\("foo")g("bar"\)\))f Fu(=)-7 b Fp(\))22 b Fv(\("foo")e("bar"\))125 +688 y(\(remove)g("foo")h('\("foo")f("bar"\)\))735 738 +y Fu(=)-7 b Fp(\))22 b Fv(\("bar"\))37 960 y Fw(\(last-pair)h +FD(list)t Fw(\))1291 b FF(pro)q(cedure)37 1035 y(Returns)16 +b(the)g(last)f(pair)g(of)g FD(list)584 1018 y FA(2)603 +1035 y FF(.)125 1130 y Fv(\(last-pair)k('\(1)j(2)f(3\)\))343 +1180 y Fu(=)-7 b Fp(\))21 b Fv(3)125 1230 y(\(last-pair)e('\(1)j(2)f(.) +h(3\)\))343 1280 y Fu(=)-7 b Fp(\))21 b Fv(\(2)h(.)f(3\))37 +1502 y Fw(\(list*)j FD(obj)7 b Fw(\))1385 b FF(pro)q(cedure)37 +1577 y Fw(list*)16 b FF(is)g(lik)o(e)h Fw(list)e FF(except)h(that)f +(the)h(last)f(argumen)o(t)g(to)g Fw(list*)g FF(is)i(used)f(as)f(the)h +FD(c)n(dr)g FF(of)f(the)h(last)g(pair)37 1627 y(constructed.)125 +1722 y Fv(\(list*)k(1)i(2)f(3\))327 b Fu(=)-7 b Fp(\))22 +b Fv(\(1)f(2)h(.)f(3\))125 1772 y(\(list*)f(1)i(2)f(3)h('\(4)f(5\)\)) +174 b Fu(=)-7 b Fp(\))22 b Fv(\(1)f(2)h(3)f(4)h(5\))37 +1994 y Fw(\(copy-tree)h FD(obj)7 b Fw(\))1290 b FF(pro)q(cedure)37 +2076 y Fw(Copy-tree)14 b FF(recursiv)o(ely)j(copies)f(trees)f(of)g +(pairs.)20 b(If)c Fw(obj)e FF(is)i(not)f(a)g(pair,)g(it)g(is)h +(returned;)f(otherwise)h(the)37 2132 y(result)g(is)g(a)f(new)g(pair)g +(whose)g FD(c)n(ar)h FF(and)f FD(c)n(dr)g FF(are)g(obtained)h(b)o(y)f +(calling)h Fw(copy-tree)e FF(on)h(the)h FD(c)n(ar)f FF(and)g +FD(c)n(dr)37 2189 y FF(of)g Fw(obj)p FF(,)g(resp)q(ectiv)o(ely)l(.)37 +2327 y FI(6.4)56 b(Sym)n(b)r(ols)37 2416 y FF(The)20 +b FB(STk)f FF(reader)g(can)h(cop)q(e)g(with)f(sym)o(b)q(ols)h(whose)f +(names)h(con)o(tain)f(sp)q(ecial)i(c)o(haracters)e(or)g(letters)37 +2473 y(in)g(the)f(non)g(standard)f(case.)28 b(When)18 +b(a)g(sym)o(b)q(ol)g(is)g(read,)g(the)g(parts)f(enclosed)i(in)g(bars)e +(\(\\)p Fw(|)p FF("\))g(will)i(b)q(e)37 2529 y(en)o(tered)h(v)o +(erbatim)e(in)o(to)h(the)g(sym)o(b)q(ol's)f(name.)31 +b(The)19 b(\\)p Fw(|)p FF(")f(c)o(haracters)g(are)g(not)h(part)f(of)g +(the)h(sym)o(b)q(ol;)37 2586 y(they)13 b(only)h(serv)o(e)f(to)f +(delimit)j(the)e(sequence)h(of)e(c)o(haracters)g(that)h(m)o(ust)f(b)q +(e)i(en)o(tered)f(\\as)f(is".)19 b(In)14 b(order)f(to)37 +2642 y(main)o(tain)k(read-write)g(in)o(v)m(ariance,)h(sym)o(b)q(ols)e +(con)o(taining)i(suc)o(h)e(sequences)i(of)e(sp)q(ecial)i(c)o(haracters) +d(will)37 2699 y(b)q(e)h(written)g(b)q(et)o(w)o(een)f(a)g(pair)h(of)e +(\\)p Fw(|)p FF(")p 37 2745 735 2 v 89 2771 a Ft(2)107 +2787 y Fq(Last-pair)9 b Fs(w)o(as)k(a)g(standard)h(pro)q(cedure)g(in)g +Fr(R)813 2771 y Ft(3)824 2787 y Fj(RS)r Fs(.)p eop %%Page: 14 14 -14 13 bop 75 47 a FC(14)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(=)21 b Fx(z)159 185 y Fy(1)200 -179 y Fx(z)219 185 y Fy(2)260 179 y Fx(z)279 185 y Fy(3)320 -179 y Fx(:)7 b(:)g(:)e Fu(\))1262 b FD(pro)q(cedure)75 -229 y Fu(\(<)21 b Fx(x)164 235 y Fy(1)205 229 y Fx(x)229 -235 y Fy(2)269 229 y Fx(x)293 235 y Fy(3)333 229 y Fx(:)7 -b(:)g(:)e Fu(\))1249 b FD(pro)q(cedure)75 278 y Fu(\(>)21 -b Fx(x)164 284 y Fy(1)205 278 y Fx(x)229 284 y Fy(2)269 -278 y Fx(x)293 284 y Fy(3)333 278 y Fx(:)7 b(:)g(:)e -Fu(\))1249 b FD(pro)q(cedure)75 328 y Fu(\(<=)21 b Fx(x)186 -334 y Fy(1)226 328 y Fx(x)250 334 y Fy(2)290 328 y Fx(x)314 -334 y Fy(3)355 328 y Fx(:)7 b(:)g(:)e Fu(\))1227 b FD(pro)q(cedure)75 -378 y Fu(\(>=)21 b Fx(x)186 384 y Fy(1)226 378 y Fx(x)250 -384 y Fy(2)290 378 y Fx(x)314 384 y Fy(3)355 378 y Fx(:)7 -b(:)g(:)e Fu(\))1227 b FD(pro)q(cedure)75 428 y Fu(\(zero?)21 -b FB(z)5 b Fu(\))1387 b FD(pro)q(cedure)75 478 y Fu(\(positive?)20 -b FB(z)5 b Fu(\))1300 b FD(pro)q(cedure)75 527 y Fu(\(negative?)20 -b FB(z)5 b Fu(\))1300 b FD(pro)q(cedure)75 577 y Fu(\(odd?)21 -b FB(z)5 b Fu(\))1409 b FD(pro)q(cedure)75 627 y Fu(\(even?)21 -b FB(z)5 b Fu(\))1387 b FD(pro)q(cedure)75 677 y Fu(\(max)21 -b Fx(x)208 683 y Fy(1)248 677 y Fx(x)272 683 y Fy(2)312 -677 y Fx(:)7 b(:)g(:)f Fu(\))1269 b FD(pro)q(cedure)75 -727 y Fu(\(min)21 b Fx(x)208 733 y Fy(1)248 727 y Fx(x)272 -733 y Fy(2)312 727 y Fx(:)7 b(:)g(:)f Fu(\))1269 b FD(pro)q(cedure)75 -777 y Fu(\(+)21 b Fx(z)159 783 y Fy(1)200 777 y Fx(:)7 -b(:)g(:)e Fu(\))1382 b FD(pro)q(cedure)75 826 y Fu(\(*)21 -b Fx(z)159 832 y Fy(1)200 826 y Fx(:)7 b(:)g(:)e Fu(\))1382 -b FD(pro)q(cedure)75 876 y Fu(\(-)21 b Fx(z)159 882 y -Fy(1)200 876 y Fx(z)219 882 y Fy(2)238 876 y Fu(\))1399 -b FD(pro)q(cedure)75 926 y Fu(\(-)21 b Fx(z)s Fu(\))1475 -b FD(pro)q(cedure)75 976 y Fu(\(-)21 b Fx(z)159 982 y -Fy(1)200 976 y Fx(z)219 982 y Fy(2)260 976 y Fx(:)7 b(:)g(:)e -Fu(\))1322 b FD(pro)q(cedure)75 1026 y Fu(\(/)21 b Fx(z)159 -1032 y Fy(1)200 1026 y Fx(z)219 1032 y Fy(2)238 1026 -y Fu(\))1399 b FD(pro)q(cedure)75 1075 y Fu(\(/)21 b -Fx(z)s Fu(\))1475 b FD(pro)q(cedure)75 1125 y Fu(\(/)21 -b Fx(z)159 1131 y Fy(1)200 1125 y Fx(z)219 1131 y Fy(2)260 -1125 y Fx(:)7 b(:)g(:)e Fu(\))1322 b FD(pro)q(cedure)75 -1175 y Fu(\(abs)21 b FB(x)5 b Fu(\))1429 b FD(pro)q(cedure)75 -1225 y Fu(\(quotient)20 b Fx(n)318 1231 y Fy(1)358 1225 -y Fx(n)383 1231 y Fy(2)402 1225 y Fu(\))1235 b FD(pro)q(cedure)75 -1275 y Fu(\(remainder)20 b Fx(n)340 1281 y Fy(1)380 1275 -y Fx(n)405 1281 y Fy(2)424 1275 y Fu(\))1213 b FD(pro)q(cedure)75 -1324 y Fu(\(modulo)20 b Fx(n)274 1330 y Fy(1)315 1324 -y Fx(n)340 1330 y Fy(2)358 1324 y Fu(\))1279 b FD(pro)q(cedure)75 -1374 y Fu(\(gcd)21 b Fx(n)209 1380 y Fy(1)249 1374 y -Fx(:)7 b(:)g(:)f Fu(\))1332 b FD(pro)q(cedure)75 1424 -y Fu(\(lcm)21 b Fx(n)209 1430 y Fy(1)249 1424 y Fx(:)7 -b(:)g(:)f Fu(\))1332 b FD(pro)q(cedure)75 1500 y FB(Identic)n(al)15 -b(to)g(R)325 1485 y Fy(4)344 1500 y FB(RS.)75 1623 y -Fu(\(numerator)20 b Fx(q)q Fu(\))1302 b FD(pro)q(cedure)75 -1673 y Fu(\(denominator)19 b Fx(q)q Fu(\))1259 b FD(pro)q(cedure)75 -1749 y(Not)14 b(implemen)o(ted.)75 1872 y Fu(\(floor)21 -b FB(x)5 b Fu(\))1385 b FD(pro)q(cedure)75 1922 y Fu(\(ceiling)20 -b FB(x)5 b Fu(\))1342 b FD(pro)q(cedure)75 1972 y Fu(\(truncate)20 -b FB(x)5 b Fu(\))1320 b FD(pro)q(cedure)75 2022 y Fu(\(round)21 -b FB(x)5 b Fu(\))1385 b FD(pro)q(cedure)75 2098 y FB(Identic)n(al)15 -b(to)g(R)325 2083 y Fy(4)344 2098 y FB(RS.)75 2221 y -Fu(\(rationalize)k FB(x)j(y)t Fu(\))1214 b FD(pro)q(cedure)75 -2297 y(not)14 b(y)o(et)g(implemen)o(ted.)75 2420 y Fu(\(exp)21 -b Fx(z)r Fu(\))1432 b FD(pro)q(cedure)75 2470 y Fu(\(log)21 -b Fx(z)r Fu(\))1432 b FD(pro)q(cedure)75 2520 y Fu(\(sin)21 -b Fx(z)r Fu(\))1432 b FD(pro)q(cedure)75 2570 y Fu(\(cos)21 -b Fx(z)r Fu(\))1432 b FD(pro)q(cedure)75 2620 y Fu(\(tan)21 -b Fx(z)r Fu(\))1432 b FD(pro)q(cedure)75 2669 y Fu(\(asin)21 -b Fx(z)r Fu(\))1410 b FD(pro)q(cedure)75 2719 y Fu(\(acos)21 -b Fx(z)r Fu(\))1410 b FD(pro)q(cedure)75 2769 y Fu(\(atan)21 -b Fx(z)r Fu(\))1410 b FD(pro)q(cedure)75 2819 y Fu(\(atan)21 -b Fx(y)i(x)p Fu(\))1364 b FD(pro)q(cedure)p eop +14 13 bop 37 45 a FE(14)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv('|x|)522 b Fu(=)-7 b Fp(\))22 +b Fv(x)125 240 y(\(string->symbol)c("X"\))174 b Fu(=)-7 +b Fp(\))22 b Fv(|X|)125 290 y(\(symbol->string)c('|X|\))152 +b Fu(=)-7 b Fp(\))22 b Fv("X")125 340 y('|a)43 b(b|)457 +b Fu(=)-7 b Fp(\))22 b Fv(|a)43 b(b|)125 390 y('a|B|c)478 +b Fu(=)-7 b Fp(\))22 b Fv(|aBc|)125 439 y(\(write)e('|FoO|\))304 +b Fu(=)-7 b Fp(\))22 b Fv(writes)e(the)h(string)g("|FoO|")125 +489 y(\(display)f('|FoO|\))260 b Fu(=)-7 b Fp(\))22 b +Fv(writes)e(the)h(string)g("FoO")37 639 y Fn(Note:)44 +b Fu(This)16 b(notation)f(has)g(b)q(een)i(in)o(tro)q(duced)g(b)q +(ecause)g Fn(R)1014 624 y Fm(4)1026 639 y Fl(RS)h Fu(states)f(that)f +(case)h(m)o(ust)d(not)i(b)q(e)g(signi\014can)o(t)f(in)37 +695 y(sym)o(b)q(ols)f(whereas)i(the)f(Tk)g(to)q(olkit)e(is)i(case)g +(signi\014can)o(t)g(\(or)f(more)g(precisely)i(thinks)e(it)h(runs)g(o)o +(v)o(er)g(Tcl)g(whic)o(h)f(is)37 752 y(case)h(signi\014can)o(t\).)j(Ho) +o(w)o(ev)o(er,)c(sym)o(b)q(ols)e(con)o(taining)h(the)i(c)o(haracter)g +(\\)p Fv(|)p Fu(")e(itself)h(still)f(can't)g(b)q(e)i(read)f(in.)37 +868 y Fw(\(symbol?)23 b FD(obj)7 b Fw(\))1338 b FF(pro)q(cedure)37 +948 y(Returns)16 b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 +b(a)g(sym)o(b)q(ol,)g(otherwise)h(returns)f Fw(#f)p FF(.)125 +1041 y Fv(\(symbol?)20 b('foo\))304 b Fu(=)-7 b Fp(\))43 +b Fv(#t)125 1091 y(\(symbol?)20 b(\(car)h('\(a)g(b\)\)\))130 +b Fu(=)-7 b Fp(\))43 b Fv(#t)125 1141 y(\(symbol?)20 +b("bar"\))282 b Fu(=)-7 b Fp(\))43 b Fv(#f)125 1190 y(\(symbol?)20 +b('nil\))304 b Fu(=)-7 b Fp(\))43 b Fv(#t)125 1240 y(\(symbol?)20 +b('\(\)\))326 b Fu(=)-7 b Fp(\))43 b Fv(#f)125 1290 y(\(symbol?)20 +b(#f\))348 b Fu(=)-7 b Fp(\))43 b Fv(#f)125 1340 y(\(symbol?)20 +b(:key\))304 b Fu(=)-7 b Fp(\))43 b Fv(#f)37 1544 y Fw +(\(symbol->string)22 b FD(symb)n(ol)5 b Fw(\))1099 b +FF(pro)q(cedure)37 1600 y Fw(\(string->symbol)22 b FD(string)t +Fw(\))1118 b FF(pro)q(cedure)37 1680 y FD(Identic)n(al)15 +b(to)i(R)311 1664 y FA(4)331 1680 y FD(RS.)37 1791 y +Fw(\(gensym\))1450 b FF(pro)q(cedure)37 1847 y Fw(\(gensym)23 +b FD(pr)n(e\014x)5 b Fw(\))1314 b FF(pro)q(cedure)37 +1921 y Fw(Gensym)17 b FF(creates)g(a)f(new)i(sym)o(b)q(ol.)26 +b(The)17 b(prin)o(t)h(name)f(of)g(the)g(generated)g(sym)o(b)q(ol)h +(consists)f(of)g(a)f(pre\014x)37 1971 y(\(whic)o(h)23 +b(defaults)f(to)e Fw("G")p FF(\))h(follo)o(w)o(ed)h(b)o(y)f(the)h +(decimal)h(represen)o(tation)f(of)f(a)g(n)o(um)o(b)q(er.)39 +b(If)22 b FD(pr)n(e\014x)k FF(is)37 2020 y(sp)q(eci\014ed,)17 +b(it)f(m)o(ust)f(b)q(e)g(a)g(string.)125 2102 y Fv(\(gensym\))343 +2152 y Fu(=)-7 b Fp(\))21 b Fv(|G100|)125 2202 y(\(gensym)f("foo-"\)) +343 2252 y Fu(=)-7 b Fp(\))21 b Fv(foo-101)37 2449 y +FI(6.5)56 b(Num)n(b)r(ers)37 2535 y FF(The)18 b(only)f(n)o(um)o(b)q +(ers)h(recognized)g(b)o(y)f FB(STk)f FF(are)h(in)o(tegers)g(\(with)g +(arbitrary)f(precision\))i(and)f(reals)h(\(im-)37 2592 +y(plemen)o(ted)f(as)e(C)g Fw(double)23 b(float)p FF(s\).)37 +2707 y Fw(\(number?)g FD(obj)7 b Fw(\))1338 b FF(pro)q(cedure)37 +2787 y(Returns)16 b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 +b(a)g(n)o(um)o(b)q(er,)g(otherwise)h(returns)f Fw(#f)p +FF(.)p eop %%Page: 15 15 -15 14 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(15)p 75 64 1763 2 v 376 139 1161 2 v 375 185 2 46 v -401 171 a Fl(name)p 515 185 V 49 w(value)p 650 185 V -48 w(alternate)11 b(name)p 951 185 V 960 185 V 57 w(name)p -1100 185 V 49 w(value)p 1235 185 V 48 w(alternate)h(name)p -1536 185 V 376 186 1161 2 v 375 232 2 46 v 420 218 a -Fs(n)o(ul)p 515 232 V 84 w(000)p 650 232 V 158 w(n)o(ull)p -951 232 V 960 232 V 181 w(bs)p 1100 232 V 91 w(010)p -1235 232 V 107 w(bac)o(kspace)p 1536 232 V 375 278 V -418 264 a(soh)p 515 278 V 82 w(001)p 650 278 V 951 278 -V 960 278 V 401 w(h)o(t)p 1100 278 V 91 w(011)p 1235 -278 V 162 w(tab)p 1536 278 V 375 323 V 421 310 a(stx)p -515 323 V 84 w(002)p 650 323 V 951 323 V 960 323 V 402 -w(nl)p 1100 323 V 94 w(012)p 1235 323 V 127 w(newline)p -1536 323 V 375 369 V 420 355 a(etx)p 515 369 V 83 w(003)p -650 369 V 951 369 V 960 369 V 401 w(vt)p 1100 369 V 91 -w(013)p 1235 369 V 1536 369 V 375 415 V 420 401 a(eot)p -515 415 V 84 w(004)p 650 415 V 951 415 V 960 415 V 397 -w(np)p 1100 415 V 88 w(014)p 1235 415 V 152 w(page)p -1536 415 V 375 460 V 416 447 a(enq)p 515 460 V 81 w(005)p -650 460 V 951 460 V 960 460 V 402 w(cr)p 1100 460 V 93 -w(015)p 1235 460 V 138 w(return)p 1536 460 V 375 506 -V 418 492 a(ac)o(k)p 515 506 V 82 w(006)p 650 506 V 951 -506 V 960 506 V 401 w(so)p 1100 506 V 92 w(016)p 1235 -506 V 1536 506 V 375 575 2 70 v 421 538 a(b)q(el)p 515 -575 V 85 w(007)p 650 575 V 159 w(b)q(ell)p 951 575 V -960 575 V 187 w(si)p 1100 575 V 97 w(017)p 1235 575 V -1536 575 V 375 621 2 46 v 421 607 a(dle)p 515 621 V 86 -w(020)p 650 621 V 951 621 V 960 621 V 390 w(can)p 1100 -621 V 80 w(030)p 1235 621 V 1536 621 V 375 666 V 417 -653 a(dc1)p 515 666 V 81 w(021)p 650 666 V 951 666 V -960 666 V 394 w(em)p 1100 666 V 84 w(031)p 1235 666 V -1536 666 V 375 712 V 417 698 a(dc2)p 515 712 V 81 w(022)p -650 712 V 951 712 V 960 712 V 389 w(sub)p 1100 712 V -81 w(032)p 1235 712 V 1536 712 V 375 758 V 417 744 a(dc3)p -515 758 V 81 w(023)p 650 758 V 951 758 V 960 758 V 394 -w(esc)p 1100 758 V 84 w(033)p 1235 758 V 136 w(escap)q(e)p -1536 758 V 375 803 V 417 790 a(dc4)p 515 803 V 81 w(024)p -650 803 V 951 803 V 960 803 V 405 w(fs)p 1100 803 V 95 -w(034)p 1235 803 V 1536 803 V 375 849 V 415 835 a(nak)p -515 849 V 80 w(025)p 650 849 V 951 849 V 960 849 V 401 -w(gs)p 1100 849 V 92 w(035)p 1235 849 V 1536 849 V 375 -895 V 417 881 a(syn)p 515 895 V 82 w(026)p 650 895 V -951 895 V 960 895 V 403 w(rs)p 1100 895 V 94 w(036)p -1235 895 V 1536 895 V 375 964 2 70 v 419 927 a(etb)p -515 964 V 83 w(027)p 650 964 V 951 964 V 960 964 V 400 -w(us)p 1100 964 V 91 w(037)p 1235 964 V 1536 964 V 375 -1033 V 428 996 a(sp)p 515 1033 V 91 w(040)p 650 1033 -V 145 w(space)p 951 1033 V 960 1033 V 1100 1033 V 1235 -1033 V 1536 1033 V 375 1079 2 46 v 421 1065 a(del)p 515 -1079 V 86 w(177)p 650 1079 V 140 w(delete)p 951 1079 -V 960 1079 V 1100 1079 V 1235 1079 V 1536 1079 V 376 -1081 1161 2 v 665 1197 a FD(T)m(able)i(1:)j(V)m(alid)c(c)o(haracter)i -(names)75 1322 y Fu(\(sqrt)21 b Fx(z)r Fu(\))1410 b FD(pro)q(cedure)75 -1372 y Fu(\(expt)21 b Fx(z)225 1378 y Fy(1)265 1372 y -Fx(z)284 1378 y Fy(2)303 1372 y Fu(\))1334 b FD(pro)q(cedure)75 -1446 y FB(Identic)n(al)15 b(to)g(R)325 1431 y Fy(4)344 -1446 y FB(RS.)75 1556 y Fu(\(make-rectangular)j Fx(x)491 -1562 y Fy(1)531 1556 y Fx(x)555 1562 y Fy(2)574 1556 -y Fu(\))1063 b FD(pro)q(cedure)75 1606 y Fu(\(make-polar)20 -b Fx(x)361 1612 y Fy(1)401 1606 y Fx(x)425 1612 y Fy(2)443 -1606 y Fu(\))1194 b FD(pro)q(cedure)75 1656 y Fu(\(real-part)20 -b Fx(z)r Fu(\))1301 b FD(pro)q(cedure)75 1706 y Fu(\(imag-part)20 -b Fx(z)r Fu(\))1301 b FD(pro)q(cedure)75 1756 y Fu(\(magnitude)20 -b Fx(z)r Fu(\))1301 b FD(pro)q(cedure)75 1805 y Fu(\(angle)21 -b Fx(z)r Fu(\))1388 b FD(pro)q(cedure)75 1879 y(These)15 -b(pro)q(cedures)h(are)f(not)e(implemen)o(ted)f(since)j(complex)d(n)o -(um)o(b)q(ers)i(are)g(not)g(de\014ned.)75 1989 y Fu(\(exact->inexact)19 -b Fx(z)r Fu(\))1192 b FD(pro)q(cedure)75 2039 y Fu(\(inexact->exact)19 -b Fx(z)r Fu(\))1192 b FD(pro)q(cedure)75 2089 y Fu(\(number->string)19 -b FB(numb)n(er)t Fu(\))1076 b FD(pro)q(cedure)75 2139 -y Fu(\(number->string)19 b FB(numb)n(er)j(r)n(adix)5 -b Fu(\))963 b FD(pro)q(cedure)75 2189 y Fu(\(string->number)19 -b FB(string)t Fu(\))1105 b FD(pro)q(cedure)75 2238 y -Fu(\(string->number)19 b FB(string)i(r)n(adix)5 b Fu(\))993 -b FD(pro)q(cedure)75 2312 y FB(Identic)n(al)15 b(to)g(R)325 -2297 y Fy(4)344 2312 y FB(RS.)75 2435 y FG(6.6)56 b(Characters)75 -2512 y FD(T)m(able)14 b(1)g(giv)o(es)h(the)g(list)f(of)h(allo)o(w)o(ed) -e(c)o(haracter)j(names)e(together)i(with)e(their)h(ASCI)q(I)g(equiv)n -(alen)o(t)f(expressed)75 2562 y(in)f(o)q(ctal.)75 2669 -y Fu(\(char?)21 b FB(obj)6 b Fu(\))1350 b FD(pro)q(cedure)75 -2719 y Fu(\(char=?)20 b FB(char)328 2725 y Fy(1)369 2719 -y FB(char)448 2725 y Fy(2)466 2719 y Fu(\))1171 b FD(pro)q(cedure)75 -2769 y Fu(\(char?)20 b FB(char)328 2825 y Fy(1)369 2819 -y FB(char)448 2825 y Fy(2)466 2819 y Fu(\))1171 b FD(pro)q(cedure)p -eop +15 14 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(15)p 37 64 1838 2 v 37 190 a Fw(\(complex?)23 b FD(obj)7 +b Fw(\))1314 b FF(pro)q(cedure)37 272 y(Returns)16 b(the)g(same)e +(result)i(as)f FD(numb)n(er?)5 b FF(.)20 b(Note)15 b(that)g(complex)h +(n)o(um)o(b)q(ers)f(are)g(not)g(implemen)o(ted.)37 405 +y Fw(\(real?)24 b FD(obj)7 b Fw(\))1385 b FF(pro)q(cedure)37 +487 y(Returns)16 b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 +b(a)g(\015oat)g(n)o(um)o(b)q(er,)g(otherwise)g(returns)g +Fw(#f)p FF(.)37 619 y Fw(\(rational?)23 b FD(obj)7 b +Fw(\))1290 b FF(pro)q(cedure)37 701 y(Returns)16 b(the)g(same)e(result) +i(as)f FD(numb)n(er?)5 b FF(.)20 b(Note)15 b(that)g(rational)g(n)o(um)o +(b)q(ers)g(are)g(not)g(implemen)o(ted.)37 834 y Fw(\(integer?)23 +b FD(obj)7 b Fw(\))1314 b FF(pro)q(cedure)37 916 y(Returns)17 +b Fw(#t)e FF(if)i FD(obj)22 b FF(is)17 b(an)e(in)o(teger,)h(otherwise)g +(returns)g Fw(#f)p FF(.)22 b Fn(Note:)39 b Fu(The)15 +b Fk(STk)f Fu(in)o(terpreter)j(distinguishes)37 972 y(b)q(et)o(w)o(een) +22 b(in)o(tegers)g(whic)o(h)e(\014t)h(in)f(a)g(C)g Fv(long)h(int)f +Fu(\(min)o(us)f(8)h(bits\))h(and)f(in)o(tegers)h(of)f(arbitrary)g +(length)h(\(ak)n(a)37 1029 y(\\bign)o(ums"\).)16 b(This)e(should)g(b)q +(e)g(transparen)o(t)h(to)f(the)h(user,)f(though.)37 1161 +y Fw(\(exact?)23 b Fz(z)s Fw(\))1403 b FF(pro)q(cedure)37 +1218 y Fw(\(inexact?)23 b Fz(z)r Fw(\))1356 b FF(pro)q(cedure)37 +1300 y(In)20 b(this)f(implemen)o(tation,)h(in)o(tegers)f(\(C)f +Fw(long)23 b(int)18 b FF(or)g(\\bign)o(ums"\))h(are)f(exact)g(n)o(um)o +(b)q(ers)h(and)g(\015oats)37 1356 y(are)c(inexact.)37 +1489 y Fw(\(=)24 b Fz(z)130 1496 y FA(1)174 1489 y Fz(z)195 +1496 y FA(2)239 1489 y Fz(z)260 1496 y FA(3)303 1489 +y Fz(:)8 b(:)g(:)e Fw(\))1291 b FF(pro)q(cedure)37 1545 +y Fw(\(<)24 b Fz(x)135 1552 y FA(1)179 1545 y Fz(x)205 +1552 y FA(2)248 1545 y Fz(x)274 1552 y FA(3)318 1545 +y Fz(:)8 b(:)g(:)d Fw(\))1277 b FF(pro)q(cedure)37 1602 +y Fw(\(>)24 b Fz(x)135 1609 y FA(1)179 1602 y Fz(x)205 +1609 y FA(2)248 1602 y Fz(x)274 1609 y FA(3)318 1602 +y Fz(:)8 b(:)g(:)d Fw(\))1277 b FF(pro)q(cedure)37 1658 +y Fw(\(<=)24 b Fz(x)159 1665 y FA(1)203 1658 y Fz(x)229 +1665 y FA(2)272 1658 y Fz(x)298 1665 y FA(3)342 1658 +y Fz(:)8 b(:)g(:)d Fw(\))1253 b FF(pro)q(cedure)37 1715 +y Fw(\(>=)24 b Fz(x)159 1722 y FA(1)203 1715 y Fz(x)229 +1722 y FA(2)272 1715 y Fz(x)298 1722 y FA(3)342 1715 +y Fz(:)8 b(:)g(:)d Fw(\))1253 b FF(pro)q(cedure)37 1771 +y Fw(\(zero?)24 b FD(z)6 b Fw(\))1425 b FF(pro)q(cedure)37 +1828 y Fw(\(positive?)23 b FD(z)6 b Fw(\))1330 b FF(pro)q(cedure)37 +1884 y Fw(\(negative?)23 b FD(z)6 b Fw(\))1330 b FF(pro)q(cedure)37 +1941 y Fw(\(odd?)24 b FD(z)6 b Fw(\))1449 b FF(pro)q(cedure)37 +1997 y Fw(\(even?)24 b FD(z)6 b Fw(\))1425 b FF(pro)q(cedure)37 +2053 y Fw(\(max)24 b Fz(x)183 2060 y FA(1)226 2053 y +Fz(x)252 2060 y FA(2)296 2053 y Fz(:)8 b(:)g(:)e Fw(\))1298 +b FF(pro)q(cedure)37 2110 y Fw(\(min)24 b Fz(x)183 2117 +y FA(1)226 2110 y Fz(x)252 2117 y FA(2)296 2110 y Fz(:)8 +b(:)g(:)e Fw(\))1298 b FF(pro)q(cedure)37 2166 y Fw(\(+)24 +b Fz(z)130 2173 y FA(1)174 2166 y Fz(:)8 b(:)g(:)d Fw(\))1421 +b FF(pro)q(cedure)37 2223 y Fw(\(*)24 b Fz(z)130 2230 +y FA(1)174 2223 y Fz(:)8 b(:)g(:)d Fw(\))1421 b FF(pro)q(cedure)37 +2279 y Fw(\(-)24 b Fz(z)130 2286 y FA(1)174 2279 y Fz(z)195 +2286 y FA(2)215 2279 y Fw(\))1440 b FF(pro)q(cedure)37 +2336 y Fw(\(-)24 b Fz(z)r Fw(\))1523 b FF(pro)q(cedure)37 +2392 y Fw(\(-)24 b Fz(z)130 2399 y FA(1)174 2392 y Fz(z)195 +2399 y FA(2)239 2392 y Fz(:)8 b(:)g(:)d Fw(\))1356 b +FF(pro)q(cedure)37 2449 y Fw(\(/)24 b Fz(z)130 2456 y +FA(1)174 2449 y Fz(z)195 2456 y FA(2)215 2449 y Fw(\))1440 +b FF(pro)q(cedure)37 2505 y Fw(\(/)24 b Fz(z)r Fw(\))1523 +b FF(pro)q(cedure)37 2562 y Fw(\(/)24 b Fz(z)130 2569 +y FA(1)174 2562 y Fz(z)195 2569 y FA(2)239 2562 y Fz(:)8 +b(:)g(:)d Fw(\))1356 b FF(pro)q(cedure)37 2618 y Fw(\(abs)24 +b FD(x)5 b Fw(\))1472 b FF(pro)q(cedure)37 2674 y Fw(\(quotient)23 +b Fz(n)303 2681 y FA(1)347 2674 y Fz(n)374 2681 y FA(2)394 +2674 y Fw(\))1261 b FF(pro)q(cedure)37 2731 y Fw(\(remainder)23 +b Fz(n)327 2738 y FA(1)371 2731 y Fz(n)398 2738 y FA(2)418 +2731 y Fw(\))1237 b FF(pro)q(cedure)37 2787 y Fw(\(modulo)23 +b Fz(n)255 2794 y FA(1)299 2787 y Fz(n)326 2794 y FA(2)346 +2787 y Fw(\))1309 b FF(pro)q(cedure)p eop %%Page: 16 16 -16 15 bop 75 47 a FC(16)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 404 139 1105 2 v 403 185 2 46 v 453 171 -a Fl(Se)n(quenc)n(e)p 649 185 V 649 185 V 321 w(Char)n(acter)e(inserte) -n(d)p 1508 185 V 404 186 1105 2 v 403 232 2 46 v 429 -218 a Ft(\\)p Fs(b)p 649 232 V 205 w(Bac)o(kspace)p 1508 -232 V 403 278 V 429 264 a Ft(\\)p Fs(e)p 649 278 V 209 -w(Escap)q(e)p 1508 278 V 403 323 V 429 310 a Ft(\\)p -Fs(n)p 649 323 V 205 w(Newline)p 1508 323 V 403 369 V -429 355 a Ft(\\)p Fs(t)p 649 369 V 211 w(Horizon)o(tal)j(T)m(ab)p -1508 369 V 403 415 V 429 401 a Ft(\\)p Fs(n)p 649 415 -V 205 w(Carriage)f(Return)p 1508 415 V 403 460 V 429 -447 a Ft(\\)p Fs(0ab)q(c)p 649 460 V 149 w(ASCI)q(I)e(c)o(haracter)i -(with)f(o)q(ctal)h(v)n(alue)h(ab)q(c)p 1508 460 V 403 -506 V 429 492 a Ft(\\)p 649 506 V 47 w Fs(None)e(\(p)q -(ermits)h(to)f(en)o(ter)g(a)g(string)h(on)g(sev)o(eral)g(lines\))p -1508 506 V 403 552 V 429 538 a Ft(\\)p 649 552 -V 86 w()p 1508 552 V 404 553 1105 2 v 659 669 -a FD(T)m(able)f(2:)18 b(String)13 b(escap)q(e)j(sequences)75 -798 y Fu(\(char<=?)k FB(char)350 804 y Fy(1)391 798 y -FB(char)470 804 y Fy(2)488 798 y Fu(\))1149 b FD(pro)q(cedure)75 -848 y Fu(\(char>=?)20 b FB(char)350 854 y Fy(1)391 848 -y FB(char)470 854 y Fy(2)488 848 y Fu(\))1149 b FD(pro)q(cedure)75 -898 y Fu(\(char-ci=?)20 b FB(char)394 904 y Fy(1)434 -898 y FB(char)513 904 y Fy(2)532 898 y Fu(\))1105 b FD(pro)q(cedure)75 -948 y Fu(\(char-ci?)20 b FB(char)394 1003 y Fy(1)434 -997 y FB(char)513 1003 y Fy(2)532 997 y Fu(\))1105 b -FD(pro)q(cedure)75 1047 y Fu(\(char-ci<=?)20 b FB(char)416 -1053 y Fy(1)456 1047 y FB(char)535 1053 y Fy(2)554 1047 -y Fu(\))1083 b FD(pro)q(cedure)75 1097 y Fu(\(char-ci>=?)20 -b FB(char)416 1103 y Fy(1)456 1097 y FB(char)535 1103 -y Fy(2)554 1097 y Fu(\))1083 b FD(pro)q(cedure)75 1147 -y Fu(\(char-alphabetic?)18 b FB(char)t Fu(\))1087 b FD(pro)q(cedure)75 -1197 y Fu(\(char-numeric?)19 b FB(char)t Fu(\))1152 b -FD(pro)q(cedure)75 1246 y Fu(\(char-whitespace?)18 b -FB(char)t Fu(\))1087 b FD(pro)q(cedure)75 1296 y Fu(\(char-upper-case?) -18 b FB(letter)t Fu(\))1071 b FD(pro)q(cedure)75 1346 -y Fu(\(char-lower-case?)18 b FB(letter)t Fu(\))1071 b -FD(pro)q(cedure)75 1396 y Fu(\(char->integer)19 b FB(char)t -Fu(\))1152 b FD(pro)q(cedure)75 1446 y Fu(\(integer->char)19 -b Fx(n)p Fu(\))1210 b FD(pro)q(cedure)75 1495 y Fu(\(char-upcase)19 -b FB(char)t Fu(\))1196 b FD(pro)q(cedure)75 1545 y Fu(\(char-downcase) -19 b FB(char)t Fu(\))1152 b FD(pro)q(cedure)75 1619 y -FB(Identic)n(al)15 b(to)g(R)325 1604 y Fy(4)344 1619 -y FB(RS.)75 1730 y FG(6.7)56 b(Strings)75 1807 y Fz(STk)21 -b FD(string)f(constan)o(ts)i(allo)o(w)d(the)i(insertion)f(of)g -(arbitrary)g(c)o(haracters)j(b)o(y)d(enco)q(ding)h(them)e(as)i(escap)q -(e)75 1857 y(sequences,)c(in)o(tro)q(duced)f(b)o(y)f(a)f(bac)o(kslash)h -(\()p Fu(\\)p FD(\).)21 b(The)16 b(v)n(alid)d(escap)q(e)k(sequences)g -(are)e(sho)o(wn)g(in)g(T)m(able)f(2.)21 b(F)m(or)75 1906 -y(instance,)14 b(the)h(string)153 1989 y Ft("ab\\040c\\nd)o(\\)153 -2035 y(e")75 2167 y FD(is)f(the)g(string)g(consisting)g(of)f(the)i(c)o -(haracters)g Fu(#\\)p FD(a,)e Fu(#\\)p FD(b,)p Fu(#\\)p -FD(space,)g Fu(#\\)p FD(c,)h Fu(#\\)p FD(newline,)f Fu(#\\)p -FD(d)g(and)h Fu(#\\)p FD(e.)75 2271 y Fu(\(string?)20 -b FB(obj)6 b Fu(\))1307 b FD(pro)q(cedure)75 2321 y Fu(\(make-string)19 -b Fx(k)q Fu(\))1256 b FD(pro)q(cedure)75 2371 y Fu(\(make-string)19 -b Fx(k)k FB(char)t Fu(\))1151 b FD(pro)q(cedure)75 2420 -y Fu(\(string)20 b FB(char)i Fx(:)7 b(:)g(:)f Fu(\))1231 -b FD(pro)q(cedure)75 2470 y Fu(\(string-length)19 b FB(string)t -Fu(\))1127 b FD(pro)q(cedure)75 2520 y Fu(\(string-ref)20 -b FB(string)h Fx(k)q Fu(\))1152 b FD(pro)q(cedure)75 -2570 y Fu(\(string-set!)19 b FB(string)j(k)f(char)t Fu(\))1030 -b FD(pro)q(cedure)75 2620 y Fu(\(string=?)20 b FB(string)397 -2626 y Fy(1)437 2620 y FB(string)541 2626 y Fy(2)559 -2620 y Fu(\))1078 b FD(pro)q(cedure)75 2669 y Fu(\(string-ci=?)19 -b FB(string)462 2675 y Fy(1)502 2669 y FB(string)606 -2675 y Fy(2)624 2669 y Fu(\))1013 b FD(pro)q(cedure)75 -2719 y Fu(\(string?)20 b FB(string)397 -2775 y Fy(1)437 2769 y FB(string)541 2775 y Fy(2)559 -2769 y Fu(\))1078 b FD(pro)q(cedure)75 2819 y Fu(\(string<=?)20 -b FB(string)419 2825 y Fy(1)459 2819 y FB(string)563 -2825 y Fy(2)581 2819 y Fu(\))1056 b FD(pro)q(cedure)p -eop +16 15 bop 37 45 a FE(16)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(gcd)24 b Fz(n)184 197 y +FA(1)228 190 y Fz(:)8 b(:)g(:)d Fw(\))1367 b FF(pro)q(cedure)37 +247 y Fw(\(lcm)24 b Fz(n)184 254 y FA(1)228 247 y Fz(:)8 +b(:)g(:)d Fw(\))1367 b FF(pro)q(cedure)37 327 y FD(Identic)n(al)15 +b(to)i(R)311 310 y FA(4)331 327 y FD(RS.)37 433 y Fw(\(numerator)23 +b Fz(q)r Fw(\))1333 b FF(pro)q(cedure)37 489 y Fw(\(denominator)23 +b Fz(q)r Fw(\))1285 b FF(pro)q(cedure)37 569 y(Not)15 +b(implemen)o(ted.)37 675 y Fw(\(floor)24 b FD(x)5 b Fw(\))1424 +b FF(pro)q(cedure)37 731 y Fw(\(ceiling)23 b FD(x)5 b +Fw(\))1377 b FF(pro)q(cedure)37 788 y Fw(\(truncate)23 +b FD(x)5 b Fw(\))1353 b FF(pro)q(cedure)37 844 y Fw(\(round)24 +b FD(x)5 b Fw(\))1424 b FF(pro)q(cedure)37 924 y FD(Identic)n(al)15 +b(to)i(R)311 908 y FA(4)331 924 y FD(RS.)37 1030 y Fw(\(rationalize)23 +b FD(x)h(y)t Fw(\))1236 b FF(pro)q(cedure)37 1110 y(not)15 +b(y)o(et)g(implemen)o(ted.)37 1216 y Fw(\(exp)24 b Fz(z)r +Fw(\))1475 b FF(pro)q(cedure)37 1272 y Fw(\(log)24 b +Fz(z)r Fw(\))1475 b FF(pro)q(cedure)37 1328 y Fw(\(sin)24 +b Fz(z)r Fw(\))1475 b FF(pro)q(cedure)37 1385 y Fw(\(cos)24 +b Fz(z)r Fw(\))1475 b FF(pro)q(cedure)37 1441 y Fw(\(tan)24 +b Fz(z)r Fw(\))1475 b FF(pro)q(cedure)37 1498 y Fw(\(asin)24 +b Fz(z)r Fw(\))1451 b FF(pro)q(cedure)37 1554 y Fw(\(acos)24 +b Fz(z)r Fw(\))1451 b FF(pro)q(cedure)37 1611 y Fw(\(atan)24 +b Fz(z)r Fw(\))1451 b FF(pro)q(cedure)37 1667 y Fw(\(atan)24 +b Fz(y)h(x)p Fw(\))1401 b FF(pro)q(cedure)37 1724 y Fw(\(sqrt)24 +b Fz(z)r Fw(\))1451 b FF(pro)q(cedure)37 1780 y Fw(\(expt)24 +b Fz(z)202 1787 y FA(1)245 1780 y Fz(z)266 1787 y FA(2)286 +1780 y Fw(\))1369 b FF(pro)q(cedure)37 1860 y FD(Identic)n(al)15 +b(to)i(R)311 1844 y FA(4)331 1860 y FD(RS.)37 1966 y +Fw(\(make-rectangular)22 b Fz(x)493 1973 y FA(1)537 1966 +y Fz(x)563 1973 y FA(2)582 1966 y Fw(\))1073 b FF(pro)q(cedure)37 +2022 y Fw(\(make-polar)23 b Fz(x)350 2029 y FA(1)393 +2022 y Fz(x)419 2029 y FA(2)439 2022 y Fw(\))1216 b FF(pro)q(cedure)37 +2079 y Fw(\(real-part)23 b Fz(z)r Fw(\))1332 b FF(pro)q(cedure)37 +2135 y Fw(\(imag-part)23 b Fz(z)r Fw(\))1332 b FF(pro)q(cedure)37 +2192 y Fw(\(magnitude)23 b Fz(z)r Fw(\))1332 b FF(pro)q(cedure)37 +2248 y Fw(\(angle)24 b Fz(z)r Fw(\))1427 b FF(pro)q(cedure)37 +2328 y(These)16 b(pro)q(cedures)g(are)f(not)g(implemen)o(ted)i(since)f +(complex)g(n)o(um)o(b)q(ers)g(are)e(not)h(de\014ned.)37 +2434 y Fw(\(exact->inexact)22 b Fz(z)r Fw(\))1213 b FF(pro)q(cedure)37 +2490 y Fw(\(inexact->exact)22 b Fz(z)r Fw(\))1213 b FF(pro)q(cedure)37 +2547 y Fw(\(number->string)22 b FD(numb)n(er)5 b Fw(\))1085 +b FF(pro)q(cedure)37 2603 y Fw(\(number->string)22 b +FD(numb)n(er)i(r)n(adix)5 b Fw(\))963 b FF(pro)q(cedure)37 +2660 y Fw(\(string->number)22 b FD(string)t Fw(\))1118 +b FF(pro)q(cedure)37 2716 y Fw(\(string->number)22 b +FD(string)h(r)n(adix)5 b Fw(\))996 b FF(pro)q(cedure)37 +2796 y FD(Identic)n(al)15 b(to)i(R)311 2780 y FA(4)331 +2796 y FD(RS.)p eop %%Page: 17 17 -17 16 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(17)p 75 64 1763 2 v 75 179 a Fu(\(string>=?)20 b FB(string)419 -185 y Fy(1)459 179 y FB(string)563 185 y Fy(2)581 179 -y Fu(\))1056 b FD(pro)q(cedure)75 229 y Fu(\(string-ci?)19 b FB(string)462 284 y Fy(1)502 -278 y FB(string)606 284 y Fy(2)624 278 y Fu(\))1013 b -FD(pro)q(cedure)75 328 y Fu(\(string-ci<=?)19 b FB(string)484 -334 y Fy(1)524 328 y FB(string)628 334 y Fy(2)646 328 -y Fu(\))991 b FD(pro)q(cedure)75 378 y Fu(\(string-ci>=?)19 -b FB(string)484 384 y Fy(1)524 378 y FB(string)628 384 -y Fy(2)646 378 y Fu(\))991 b FD(pro)q(cedure)75 428 y -Fu(\(substring)20 b FB(string)h(start)g(end)t Fu(\))1025 -b FD(pro)q(cedure)75 478 y Fu(\(string-append)19 b FB(string)25 -b Fx(:)7 b(:)g(:)e Fu(\))1051 b FD(pro)q(cedure)75 527 -y Fu(\(string->list)19 b FB(string)t Fu(\))1149 b FD(pro)q(cedure)75 -577 y Fu(\(list->string)19 b FB(chars)s Fu(\))1158 b -FD(pro)q(cedure)75 627 y Fu(\(string-copy)19 b FB(string)t -Fu(\))1171 b FD(pro)q(cedure)75 677 y Fu(\(string-fill!)19 -b FB(string)i(char)t Fu(\))1049 b FD(pro)q(cedure)75 -750 y FB(Identic)n(al)15 b(to)g(R)325 735 y Fy(4)344 -750 y FB(RS.)75 855 y Fu(\(string-find?)k FB(string)484 -861 y Fy(1)524 855 y FB(string)628 861 y Fy(2)646 855 -y Fu(\))991 b FD(pro)q(cedure)75 929 y(Returns)15 b Fu(#t)e -FD(if)g FB(string)432 935 y Fy(1)464 929 y FD(app)q(ears)i(somewhere)f -(in)f FB(string)980 935 y Fy(2)999 929 y FD(;)g(otherwise)i(returns)g -Fu(#f)p FD(.)75 1034 y Fu(\(string-index)k FB(string)484 -1040 y Fy(1)524 1034 y FB(string)628 1040 y Fy(2)646 -1034 y Fu(\))991 b FD(pro)q(cedure)75 1103 y(Returns)15 -b(the)f(index)g(of)f(where)i FB(string)687 1109 y Fy(1)719 -1103 y FD(is)f(a)g(substring)g(of)f FB(string)1127 1109 -y Fy(2)1159 1103 y FD(if)g(it)h(exists;)g(returns)h Fu(#f)f -FD(otherwise.)153 1182 y Ft(\(string-ind)o(ex)i("ca")i("abracadab)o(ra) -o("\))350 1227 y Fs(=)-6 b Fn(\))19 b Ft(4)153 1273 y(\(string-ind)o -(ex)d("ba")i("abracadab)o(ra)o("\))350 1319 y Fs(=)-6 -b Fn(\))19 b Ft(#f)75 1502 y Fu(\(split-string)g FB(string)t -Fu(\))1149 b FD(pro)q(cedure)75 1552 y Fu(\(split-string)19 -b FB(string)i(delimiters)s Fu(\))950 b FD(pro)q(cedure)75 -1621 y(This)16 b(function)f(parses)i FB(string)567 1627 -y Fy(1)601 1621 y FD(and)f(returns)h(a)f(list)f(of)g(tok)o(ens)h(ended) -h(b)o(y)f(a)f(c)o(haracter)j(of)d(the)h FB(delimiters)1820 -1627 y Fy(1)75 1667 y FD(string.)30 b(If)17 b FB(delimiters)445 -1673 y Fy(1)480 1667 y FD(is)h(omitted,)f(it)g(defaults)h(to)g(a)g -(string)f(con)o(taining)g(a)h(space,)h(a)f(tabulation)e(and)i(a)75 -1712 y(newline)c(c)o(haracters.)153 1791 y Ft(\(split-stri)o(ng)i -("/usr/loca)o(l/)o(bin)o(")g("/"\))-138 b Fs(=)-6 b Fn(\))19 -b Ft(\("usr")e("local")g("bin"\))153 1837 y(\(split-stri)o(ng)f("once) -57 b(upon)18 b(a)h(time"\))-139 b Fs(=)-6 b Fn(\))19 -b Ft(\("once")e("upon")g("a")i("time"\))75 2020 y Fu(\(string-lower)g -FB(string)t Fu(\))1149 b FD(pro)q(cedure)75 2094 y(Returns)15 -b(a)f(string)g(in)g(whic)o(h)g(all)f(upp)q(er)i(case)g(letters)g(of)f -Fu(string)f FD(ha)o(v)o(e)h(b)q(een)h(replaced)g(b)o(y)f(their)h(lo)o -(w)o(er)e(case)75 2144 y(equiv)n(alen)o(t.)75 2249 y -Fu(\(string-upper)19 b FB(string)t Fu(\))1149 b FD(pro)q(cedure)75 -2322 y(Returns)15 b(a)f(string)g(in)g(whic)o(h)g(all)f(lo)o(w)o(er)h -(case)h(letters)g(of)f Fu(string)e FD(ha)o(v)o(e)i(b)q(een)i(replaced)f -(b)o(y)f(their)g(upp)q(er)h(case)75 2372 y(equiv)n(alen)o(t.)75 -2488 y FG(6.8)56 b(V)-5 b(ectors)75 2620 y Fu(\(vector?)20 -b FB(obj)6 b Fu(\))1307 b FD(pro)q(cedure)75 2669 y Fu(\(make-vector)19 -b FB(k)t Fu(\))1256 b FD(pro)q(cedure)75 2719 y Fu(\(make-vector)19 -b FB(k)j(\014l)r(l)t Fu(\))1187 b FD(pro)q(cedure)75 -2769 y Fu(\(vector)20 b FB(obj)i Fx(:)7 b(:)g(:)f Fu(\))1257 -b FD(pro)q(cedure)75 2819 y Fu(\(vector-length)19 b FB(ve)n(ctor)t -Fu(\))1123 b FD(pro)q(cedure)p eop +17 16 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(17)p 37 64 1838 2 v 341 146 1232 2 v 340 196 2 50 v +366 181 a Fn(name)p 487 196 V 50 w(value)p 629 196 V +50 w(alternate)15 b(name)p 951 196 V 960 196 V 58 w(name)p +1107 196 V 51 w(value)p 1249 196 V 50 w(alternate)f(name)p +1571 196 V 341 198 1232 2 v 340 248 2 50 v 386 233 a +Fu(n)o(ul)p 487 248 V 85 w(000)p 629 248 V 166 w(n)o(ull)p +951 248 V 960 248 V 188 w(bs)p 1107 248 V 95 w(010)p +1249 248 V 110 w(bac)o(kspace)p 1571 248 V 340 298 V +384 283 a(soh)p 487 298 V 84 w(001)p 629 298 V 951 298 +V 960 298 V 424 w(h)o(t)p 1107 298 V 95 w(011)p 1249 +298 V 170 w(tab)p 1571 298 V 340 347 V 387 332 a(stx)p +487 347 V 87 w(002)p 629 347 V 951 347 V 960 347 V 426 +w(nl)p 1107 347 V 96 w(012)p 1249 347 V 132 w(newline)p +1571 347 V 340 397 V 386 382 a(etx)p 487 397 V 86 w(003)p +629 397 V 951 397 V 960 397 V 424 w(vt)p 1107 397 V 95 +w(013)p 1249 397 V 1571 397 V 340 447 V 387 432 a(eot)p +487 447 V 86 w(004)p 629 447 V 951 447 V 960 447 V 420 +w(np)p 1107 447 V 91 w(014)p 1249 447 V 158 w(page)p +1571 447 V 340 497 V 383 482 a(enq)p 487 497 V 82 w(005)p +629 497 V 951 497 V 960 497 V 426 w(cr)p 1107 497 V 97 +w(015)p 1249 497 V 143 w(return)p 1571 497 V 340 547 +V 384 532 a(ac)o(k)p 487 547 V 84 w(006)p 629 547 V 951 +547 V 960 547 V 425 w(so)p 1107 547 V 95 w(016)p 1249 +547 V 1571 547 V 340 620 2 74 v 387 581 a(b)q(el)p 487 +620 V 87 w(007)p 629 620 V 167 w(b)q(ell)p 951 620 V +960 620 V 196 w(si)p 1107 620 V 100 w(017)p 1249 620 +V 1571 620 V 340 670 2 50 v 388 655 a(dle)p 487 670 V +87 w(020)p 629 670 V 951 670 V 960 670 V 412 w(can)p +1107 670 V 83 w(030)p 1249 670 V 1571 670 V 340 720 V +383 705 a(dc1)p 487 720 V 83 w(021)p 629 720 V 951 720 +V 960 720 V 417 w(em)p 1107 720 V 86 w(031)p 1249 720 +V 1571 720 V 340 769 V 383 755 a(dc2)p 487 769 V 83 w(022)p +629 769 V 951 769 V 960 769 V 412 w(sub)p 1107 769 V +83 w(032)p 1249 769 V 1571 769 V 340 819 V 383 804 a(dc3)p +487 819 V 83 w(023)p 629 819 V 951 819 V 960 819 V 416 +w(esc)p 1107 819 V 89 w(033)p 1249 819 V 142 w(escap)q(e)p +1571 819 V 340 869 V 383 854 a(dc4)p 487 869 V 83 w(024)p +629 869 V 951 869 V 960 869 V 429 w(fs)p 1107 869 V 99 +w(034)p 1249 869 V 1571 869 V 340 919 V 382 904 a(nak)p +487 919 V 80 w(025)p 629 919 V 951 919 V 960 919 V 425 +w(gs)p 1107 919 V 95 w(035)p 1249 919 V 1571 919 V 340 +969 V 384 954 a(syn)p 487 969 V 83 w(026)p 629 969 V +951 969 V 960 969 V 427 w(rs)p 1107 969 V 98 w(036)p +1249 969 V 1571 969 V 340 1042 2 74 v 386 1004 a(etb)p +487 1042 V 85 w(027)p 629 1042 V 951 1042 V 960 1042 +V 423 w(us)p 1107 1042 V 95 w(037)p 1249 1042 V 1571 +1042 V 340 1116 V 395 1077 a(sp)p 487 1116 V 94 w(040)p +629 1116 V 152 w(space)p 951 1116 V 960 1116 V 1107 1116 +V 1249 1116 V 1571 1116 V 340 1165 2 50 v 388 1150 a(del)p +487 1165 V 87 w(177)p 629 1165 V 147 w(delete)p 951 1165 +V 960 1165 V 1107 1165 V 1249 1165 V 1571 1165 V 341 +1167 1232 2 v 638 1294 a FF(T)l(able)i(1:)j(V)l(alid)e(c)o(haracter)e +(names)37 1447 y FI(6.6)56 b(Characters)37 1557 y FF(T)l(able)20 +b(1)e(giv)o(es)h(the)g(list)h(of)e(allo)o(w)o(ed)h(c)o(haracter)f +(names)h(together)f(with)h(their)g(ASCI)q(I)h(equiv)m(alen)o(t)h(ex-)37 +1613 y(pressed)16 b(in)g(o)q(ctal.)37 1771 y Fw(\(char?)24 +b FD(obj)7 b Fw(\))1385 b FF(pro)q(cedure)37 1828 y Fw(\(char=?)23 +b FD(char)314 1835 y FA(1)359 1828 y FD(char)445 1835 +y FA(2)465 1828 y Fw(\))1190 b FF(pro)q(cedure)37 1884 +y Fw(\(char?)23 b FD(char)314 1948 y FA(1)359 1941 +y FD(char)445 1948 y FA(2)465 1941 y Fw(\))1190 b FF(pro)q(cedure)37 +1997 y Fw(\(char<=?)23 b FD(char)338 2004 y FA(1)382 +1997 y FD(char)468 2004 y FA(2)489 1997 y Fw(\))1166 +b FF(pro)q(cedure)37 2053 y Fw(\(char>=?)23 b FD(char)338 +2060 y FA(1)382 2053 y FD(char)468 2060 y FA(2)489 2053 +y Fw(\))1166 b FF(pro)q(cedure)37 2110 y Fw(\(char-ci=?)23 +b FD(char)386 2117 y FA(1)430 2110 y FD(char)516 2117 +y FA(2)536 2110 y Fw(\))1119 b FF(pro)q(cedure)37 2166 +y Fw(\(char-ci?)23 b FD(char)386 2230 y FA(1)430 +2223 y FD(char)516 2230 y FA(2)536 2223 y Fw(\))1119 +b FF(pro)q(cedure)37 2279 y Fw(\(char-ci<=?)23 b FD(char)410 +2286 y FA(1)454 2279 y FD(char)540 2286 y FA(2)560 2279 +y Fw(\))1095 b FF(pro)q(cedure)37 2336 y Fw(\(char-ci>=?)23 +b FD(char)410 2343 y FA(1)454 2336 y FD(char)540 2343 +y FA(2)560 2336 y Fw(\))1095 b FF(pro)q(cedure)37 2392 +y Fw(\(char-alphabetic?)22 b FD(char)5 b Fw(\))1097 b +FF(pro)q(cedure)37 2449 y Fw(\(char-numeric?)22 b FD(char)5 +b Fw(\))1169 b FF(pro)q(cedure)37 2505 y Fw(\(char-whitespace?)22 +b FD(char)5 b Fw(\))1097 b FF(pro)q(cedure)37 2562 y +Fw(\(char-upper-case?)22 b FD(letter)5 b Fw(\))1080 b +FF(pro)q(cedure)37 2618 y Fw(\(char-lower-case?)22 b +FD(letter)5 b Fw(\))1080 b FF(pro)q(cedure)37 2674 y +Fw(\(char->integer)22 b FD(char)5 b Fw(\))1169 b FF(pro)q(cedure)37 +2731 y Fw(\(integer->char)22 b Fz(n)q Fw(\))1232 b FF(pro)q(cedure)37 +2787 y Fw(\(char-upcase)23 b FD(char)5 b Fw(\))1216 b +FF(pro)q(cedure)p eop %%Page: 18 18 -18 17 bop 75 47 a FC(18)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(vector-ref)20 b FB(ve)n(ctor)h(k)t -Fu(\))1148 b FD(pro)q(cedure)75 229 y Fu(\(vector-set!)19 -b FB(ve)n(ctor)j(k)g(obj)6 b Fu(\))1049 b FD(pro)q(cedure)75 -278 y Fu(\(vector->list)19 b FB(ve)n(ctor)t Fu(\))1145 -b FD(pro)q(cedure)75 328 y Fu(\(list->vector)19 b FB(list)t -Fu(\))1198 b FD(pro)q(cedure)75 378 y Fu(\(vector-fill!)19 -b FB(ve)n(ctor)j(\014l)r(l)t Fu(\))1076 b FD(pro)q(cedure)75 -451 y FB(Identic)n(al)15 b(to)g(R)325 436 y Fy(4)344 -451 y FB(RS.)75 542 y Fu(\(vector-copy)k FB(ve)n(ctor)t -Fu(\))1167 b FD(pro)q(cedure)75 616 y(returns)15 b(a)f(cop)o(y)g(of)f -FB(ve)n(ctor)t FD(.)75 706 y Fu(\(vector-resize)19 b -FB(ve)n(ctor)i(size)s Fu(\))1037 b FD(pro)q(cedure)75 -780 y FB(ve)n(ctor-r)n(esize)17 b FD(ph)o(ysically)d(c)o(hanges)h(the)h -(size)g(of)e FB(ve)n(ctor)t FD(.)21 b(If)15 b FB(size)j -FD(is)d(greater)h(than)f(the)g(old)g(v)o(ector)g(size,)h(the)75 -830 y(con)o(ten)o(ts)f(of)e(the)i(newly)f(allo)q(cated)f(cells)h(are)g -(unde\014ned.)75 932 y FG(6.9)56 b(Con)n(trol)19 b(features)75 -1061 y Fu(\(procedure?)h FB(obj)6 b Fu(\))1241 b FD(pro)q(cedure)75 -1111 y Fu(\(apply)21 b FB(pr)n(o)n(c)g(ar)n(gs)s Fu(\))1237 -b FD(pro)q(cedure)75 1161 y Fu(\(apply)21 b FB(pr)n(o)n(c)g(ar)n(g)380 -1167 y Fy(1)420 1161 y Fx(:)7 b(:)g(:)20 b FB(ar)n(gs)s -Fu(\))1071 b FD(pro)q(cedure)75 1210 y Fu(\(map)21 b -FB(pr)n(o)n(c)h(list)336 1216 y Fy(1)375 1210 y FB(list)430 -1216 y Fy(2)470 1210 y Fx(:)7 b(:)g(:)e Fu(\))1112 b -FD(pro)q(cedure)75 1260 y Fu(\(for-each)20 b FB(pr)n(o)n(c)i(list)445 -1266 y Fy(1)484 1260 y FB(list)539 1266 y Fy(2)579 1260 -y Fx(:)7 b(:)g(:)e Fu(\))1003 b FD(pro)q(cedure)75 1310 -y Fu(\(force)21 b FB(pr)n(omise)s Fu(\))1265 b FD(pro)q(cedure)75 -1384 y FB(Identic)n(al)15 b(to)g(R)325 1368 y Fy(4)344 -1384 y FB(RS.)75 1474 y Fu(\(call-with-curren)o(t-con)o(tinua)o(tion)j -FB(pr)n(o)n(c)r Fu(\))788 b FD(pro)q(cedure)75 1524 y -Fu(\(call/cc)20 b FB(pr)n(o)n(c)r Fu(\))1289 b FD(pro)q(cedure)75 -1597 y Fu(Call/cc)12 b FD(is)i(a)g(shorter)h(name)e(for)g -Fu(call-with-current-)o(conti)o(nuati)o(on)p FD(.)75 -1688 y Fu(\(closure?)20 b FB(obj)6 b Fu(\))1285 b FD(pro)q(cedure)75 -1762 y(returns)14 b Fu(#t)f FD(if)f FB(obj)18 b FD(is)13 -b(a)g(pro)q(cedure)h(created)h(b)o(y)d(ev)n(aluating)g(a)g(lam)o(b)q -(da)e(expression,)k(otherwise)g(returns)g Fu(#f)p FD(.)75 -1852 y Fu(\(primitive?)20 b FB(obj)6 b Fu(\))1241 b FD(pro)q(cedure)75 -1926 y(returns)15 b Fu(#t)f FD(if)f FB(obj)20 b FD(is)14 -b(a)f(pro)q(cedure)j(and)e(is)f(not)h(a)g(closure,)g(otherwise)h -(returns)g Fu(#f)p FD(.)75 2016 y Fu(\(promise?)20 b -FB(obj)6 b Fu(\))1285 b FD(pro)q(cedure)75 2090 y(returns)15 -b Fu(#t)f FD(if)f FB(obj)20 b FD(is)14 b(an)f(ob)r(ject)i(returned)g(b) -o(y)f(the)h(application)d(of)h Fu(delay)p FD(,)g(otherwise)i(returns)g -Fu(#f)p FD(.)75 2181 y Fu(\(continuation?)k FB(obj)6 -b Fu(\))1176 b FD(pro)q(cedure)75 2254 y(returns)15 b -Fu(#t)f FD(if)f FB(obj)20 b FD(is)14 b(a)f(con)o(tin)o(uation)g -(obtained)h(b)o(y)f Fu(call/cc)p FD(,)f(otherwise)j(returns)g -Fu(#f)p FD(.)75 2345 y Fu(\(dynamic-wind)k Fm(h)p FD(th)o(unk)502 -2351 y Fy(1)521 2345 y Fm(i)j(h)p FD(th)o(unk)681 2351 -y Fy(2)700 2345 y Fm(i)g(h)p FD(th)o(unk)860 2351 y Fy(3)879 -2345 y Fm(i)p Fu(\))742 b FD(pro)q(cedure)75 2418 y Fm(h)p -FD(Th)o(unk)211 2424 y Fy(1)230 2418 y Fm(i)p FD(,)17 -b Fm(h)p FD(th)o(unk)397 2424 y Fy(2)416 2418 y Fm(i)g -FD(and)g Fm(h)p FD(th)o(unk)655 2424 y Fy(3)674 2418 -y Fm(i)h FD(are)f(called)g(in)g(order.)28 b(The)18 b(result)g(of)f -Fu(dynamic-wind)d FD(is)j(the)h(v)n(alue)75 2468 y(returned)g(b)o(y)e -Fm(h)p FD(th)o(unk)428 2474 y Fy(2)447 2468 y Fm(i)p -FD(.)26 b(If)16 b Fm(h)p FD(th)o(unk)667 2474 y Fy(2)685 -2468 y Fm(i)h FD(escap)q(es)h(from)d(its)h(con)o(tin)o(uation)g(during) -g(ev)n(aluation)f(\(b)o(y)h(calling)f(a)75 2518 y(con)o(tin)o(uation)f -(obtained)g(b)o(y)h Fu(call/cc)e FD(or)i(on)f(error\),)i -Fm(h)p FD(th)o(unk)1076 2524 y Fy(3)1094 2518 y Fm(i)f -FD(is)g(called.)20 b(If)14 b Fm(h)p FD(th)o(unk)1468 -2524 y Fy(2)1487 2518 y Fm(i)h FD(is)g(later)g(reen)o(tered,)75 -2568 y Fm(h)p FD(th)o(unk)197 2574 y Fy(1)216 2568 y -Fm(i)f FD(is)g(called.)75 2658 y Fu(\(catch)21 b Fm(h)p -FD(expression)429 2664 y Fy(1)449 2658 y Fm(i)g(h)p FD(expression)687 -2664 y Fy(2)707 2658 y Fm(i)h Fx(:)7 b(:)g(:)f Fu(\))896 -b FD(syn)o(tax)75 2728 y(The)10 b Fm(h)p FD(expression)p -Fm(i)r FD(s)g(are)g(ev)n(aluated)f(from)f(left)i(to)f(righ)o(t.)17 -b(If)9 b(an)h(error)g(o)q(ccurs,)i(ev)n(aluation)c(of)h(the)i -Fm(h)p FD(expression)p Fm(i)q FD(s)75 2773 y(is)17 b(ab)q(orted,)h(and) -f Fu(#t)g FD(is)g(returned)i(to)e Fu(catch)p FD('s)f(caller.)28 -b(If)16 b(ev)n(aluation)g(\014nishes)i(without)f(an)g(error,)i -Fu(catch)75 2819 y FD(returns)c Fu(#f)p FD(.)p eop +18 17 bop 37 45 a FE(18)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 360 146 1192 2 v 359 196 2 50 v 414 181 +a Fn(Se)n(quenc)n(e)p 627 196 V 627 196 V 350 w(Char)n(acter)d(inserte) +n(d)p 1551 196 V 360 198 1192 2 v 359 248 2 50 v 385 +233 a Fv(\\)p Fu(b)p 627 248 V 223 w(Bac)o(kspace)p 1551 +248 V 359 298 V 385 283 a Fv(\\)p Fu(e)p 627 298 V 228 +w(Escap)q(e)p 1551 298 V 359 347 V 385 332 a Fv(\\)p +Fu(n)p 627 347 V 223 w(Newline)p 1551 347 V 359 397 V +385 382 a Fv(\\)p Fu(t)p 627 397 V 230 w(Horizon)o(tal)f(T)m(ab)p +1551 397 V 359 447 V 385 432 a Fv(\\)p Fu(n)p 627 447 +V 223 w(Carriage)h(Return)p 1551 447 V 359 497 V 385 +482 a Fv(\\)p Fu(0ab)q(c)p 627 497 V 162 w(ASCI)q(I)g(c)o(haracter)h +(with)f(o)q(ctal)g(v)n(alue)f(ab)q(c)p 1551 497 V 359 +547 V 385 532 a Fv(\\)p 627 547 V 48 w Fu(None)h(\(p)q(ermits) +g(to)g(en)o(ter)h(a)e(string)h(on)g(sev)o(eral)g(lines\))p +1551 547 V 359 596 V 385 581 a Fv(\\)p 627 596 +V 92 w()p 1551 596 V 360 598 1192 2 v 631 725 +a FF(T)l(able)i(2:)j(String)d(escap)q(e)g(sequences)37 +865 y Fw(\(char-downcase)22 b FD(char)5 b Fw(\))1169 +b FF(pro)q(cedure)37 946 y FD(Identic)n(al)15 b(to)i(R)311 +929 y FA(4)331 946 y FD(RS.)37 1077 y FI(6.7)56 b(Strings)37 +1165 y FB(STk)15 b FF(string)g(constan)o(ts)g(allo)o(w)g(the)h +(insertion)g(of)f(arbitrary)g(c)o(haracters)f(b)o(y)h(enco)q(ding)i +(them)e(as)g(escap)q(e)37 1222 y(sequences,)j(in)o(tro)q(duced)f(b)o(y) +f(a)g(bac)o(kslash)h(\()p Fw(\\)p FF(\).)k(The)c(v)m(alid)h(escap)q(e)f +(sequences)g(are)f(sho)o(wn)g(in)h(T)l(able)g(2.)37 1278 +y(F)l(or)e(instance,)h(the)f(string)125 1384 y Fv("ab\\040c\\nd\\)125 +1433 y(e")37 1594 y FF(is)h(the)f(string)h(consisting)g(of)f(the)g(c)o +(haracters)f Fw(#\\)p FF(a,)g Fw(#\\)p FF(b,)p Fw(#\\)p +FF(space,)h Fw(#\\)p FF(c,)g Fw(#\\)p FF(newline,)h Fw(#\\)p +FF(d)f(and)h Fw(#\\)p FF(e.)37 1715 y Fw(\(string?)23 +b FD(obj)7 b Fw(\))1338 b FF(pro)q(cedure)37 1771 y Fw(\(make-string)23 +b Fz(k)q Fw(\))1282 b FF(pro)q(cedure)37 1828 y Fw(\(make-string)23 +b Fz(k)i FD(char)5 b Fw(\))1167 b FF(pro)q(cedure)37 +1884 y Fw(\(string)23 b FD(char)i Fz(:)8 b(:)g(:)d Fw(\))1256 +b FF(pro)q(cedure)37 1941 y Fw(\(string-length)22 b FD(string)t +Fw(\))1142 b FF(pro)q(cedure)37 1997 y Fw(\(string-ref)23 +b FD(string)g Fz(k)q Fw(\))1169 b FF(pro)q(cedure)37 +2053 y Fw(\(string-set!)23 b FD(string)g(k)h(char)5 b +Fw(\))1034 b FF(pro)q(cedure)37 2110 y Fw(\(string=?)23 +b FD(string)390 2117 y FA(1)433 2110 y FD(string)547 +2117 y FA(2)566 2110 y Fw(\))1089 b FF(pro)q(cedure)37 +2166 y Fw(\(string-ci=?)23 b FD(string)462 2173 y FA(1)505 +2166 y FD(string)619 2173 y FA(2)638 2166 y Fw(\))1017 +b FF(pro)q(cedure)37 2223 y Fw(\(string?)23 +b FD(string)390 2286 y FA(1)433 2279 y FD(string)547 +2286 y FA(2)566 2279 y Fw(\))1089 b FF(pro)q(cedure)37 +2336 y Fw(\(string<=?)23 b FD(string)414 2343 y FA(1)457 +2336 y FD(string)571 2343 y FA(2)590 2336 y Fw(\))1065 +b FF(pro)q(cedure)37 2392 y Fw(\(string>=?)23 b FD(string)414 +2399 y FA(1)457 2392 y FD(string)571 2399 y FA(2)590 +2392 y Fw(\))1065 b FF(pro)q(cedure)37 2449 y Fw(\(string-ci?)23 b FD(string)462 2512 y FA(1)505 +2505 y FD(string)619 2512 y FA(2)638 2505 y Fw(\))1017 +b FF(pro)q(cedure)37 2562 y Fw(\(string-ci<=?)23 b FD(string)486 +2569 y FA(1)528 2562 y FD(string)642 2569 y FA(2)661 +2562 y Fw(\))994 b FF(pro)q(cedure)37 2618 y Fw(\(string-ci>=?)23 +b FD(string)486 2625 y FA(1)528 2618 y FD(string)642 +2625 y FA(2)661 2618 y Fw(\))994 b FF(pro)q(cedure)37 +2674 y Fw(\(substring)23 b FD(string)g(start)h(end)5 +b Fw(\))1028 b FF(pro)q(cedure)37 2731 y Fw(\(string-append)22 +b FD(string)28 b Fz(:)8 b(:)g(:)d Fw(\))1058 b FF(pro)q(cedure)37 +2787 y Fw(\(string->list)23 b FD(string)t Fw(\))1165 +b FF(pro)q(cedure)p eop %%Page: 19 19 -19 18 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(19)p 75 64 1763 2 v 153 179 a Ft(\(let*)18 b(\(\(x)h(0\))291 -224 y(\(y)g(\(catch)408 270 y(\(set!)f(x)h(1\))408 316 -y(\(/)g(0\))g(;)g(causes)f(a)h("division)d(by)j(0")g(error)408 -361 y(\(set!)f(x)h(2\)\)\)\))193 407 y(\(cons)e(x)j(y\)\))350 -453 y Fs(=)-6 b Fn(\))19 b Ft(\(1)g(.)g(#t\))75 641 y -Fu(\(procedure-body)g Fm(h)p FD(pro)q(cedure)p Fm(i)r -Fu(\))1002 b FD(pro)q(cedure)75 711 y(returns)15 b(the)f(b)q(o)q(dy)g -(of)f Fm(h)p FD(pro)q(cedure)p Fm(i)r FD(.)18 b(If)13 -b Fm(h)p FD(pro)q(cedure)p Fm(i)j FD(is)d(not)h(a)f(closure,)h -Fu(procedure-body)d FD(returns)k Fu(#f)p FD(.)153 791 -y Ft(\(define)i(\(f)i(a)g(b\))212 837 y(\(+)g(a)g(\(*)g(b)g(2\)\)\))153 -928 y(\(procedure-)o(bo)o(dy)d(f\))196 b Fs(=)-6 b Fn(\))19 -b Ft(\(lambda)e(\(a)i(b\))820 974 y(\(+)g(a)g(\(*)g(b)g(2\)\)\))153 -1020 y(\(procedure-)o(bo)o(dy)d(car\))156 b Fs(=)-6 b -Fn(\))19 b Ft(#f)75 1220 y FG(6.10)56 b(Input)18 b(and)i(output)75 -1297 y FD(The)d FB(R)193 1282 y Fy(4)205 1297 y Fx(RS)i -FD(states)e(that)g(p)q(orts)g(represen)o(t)h(input)e(and)h(output)f -(devices.)27 b(Ho)o(w)o(ev)o(er,)17 b(it)e(de\014nes)j(only)e(p)q(orts) -75 1347 y(whic)o(h)10 b(are)h(attac)o(hed)h(to)e(\014les.)17 -b(In)11 b Fz(STk)p FD(,)g(p)q(orts)g(can)g(also)f(b)q(e)h(attac)o(hed)g -(to)g(strings)g(or)f(to)h(a)f(external)h(command)75 1397 -y(input)16 b(or)g(output.)26 b(String)16 b(p)q(orts)h(are)f(similar)e -(to)i(\014le)g(p)q(orts,)h(except)h(that)e(c)o(haracters)i(are)f(read)g -(from)d(\(or)75 1447 y(written)g(to\))f(a)g(string)h(rather)g(than)f(a) -h(\014le.)j(External)d(command)d(input)i(or)g(output)h(p)q(orts)g(are)g -(implem)o(en)o(ted)75 1496 y(with)g(Unix)h(pip)q(es)g(and)f(are)h -(called)g(pip)q(e)f(p)q(orts.)21 b(A)15 b(pip)q(e)g(p)q(ort)g(is)f -(created)j(b)o(y)d(sp)q(ecifying)h(the)g(command)d(to)75 -1546 y(execute)19 b(pre\014xed)f(with)f(the)h(string)f -Fu("|)22 b(")p FD(.)27 b(Sp)q(eci\014cation)18 b(of)e(a)h(pip)q(e)g(p)q -(ort)h(can)f(o)q(ccur)h(ev)o(erywhere)i(a)c(\014le)75 -1596 y(name)d(is)g(needed.)75 1703 y Fu(\(call-with-input-)o(file)18 -b FB(string)k(pr)n(o)n(c)r Fu(\))880 b FD(pro)q(cedure)75 -1752 y Fu(\(call-with-output)o(-file)18 b FB(string)j(pr)n(o)n(c)r -Fu(\))859 b FD(pro)q(cedure)75 1826 y Fl(Note:)35 b Fs(if)14 -b Fl(s)s Fs(tring)h(starts)e(with)i(the)f(t)o(w)o(o)f(c)o(haracters)h -Ft("|)19 b(")p Fs(,)13 b(these)h(pro)q(cedures)h(return)g(a)e(pip)q(e)i -(p)q(ort.)20 b(Consequen)o(tly)m(,)75 1876 y(it)13 b(is)h(not)f(p)q -(ossible)j(to)d(op)q(en)g(a)g(\014le)h(whose)g(name)f(starts)g(with)h -(those)f(t)o(w)o(o)g(c)o(haracters.)75 1985 y Fu(\(call-with-input-)o -(strin)o(g)19 b FB(string)i(pr)n(o)n(c)r Fu(\))837 b -FD(pro)q(cedure)75 2058 y(b)q(eha)o(v)o(es)15 b(exactly)f(as)f -Fu(call-with-input-file)d FD(except)15 b(that)f(the)h(p)q(ort)f(passed) -h(to)e FB(pr)n(o)n(c)j FD(is)e(the)g(string)g(p)q(ort)75 -2108 y(obtained)g(from)e FB(string)s FD(.)153 2198 y -Ft(\(call-with-)o(in)o(put)o(-st)o(ri)o(ng)k("123)i(456")g(\(lambda)f -(\(x\))i(\(read)e(x\)\)\))350 2243 y Fs(=)-6 b Fn(\))19 -b Ft(123)75 2440 y Fu(\(call-with-output)o(-stri)o(ng)g -FB(pr)n(o)n(c)r Fu(\))940 b FD(pro)q(cedure)75 2510 y -FB(Pr)n(o)n(c)14 b FD(should)e(b)q(e)g(a)g(pro)q(cedure)i(of)d(one)h -(argumen)o(t.)k Fu(Call-with-output-st)o(ring)8 b FD(calls)k -FB(pr)n(o)n(c)i FD(with)e(a)f(freshly)75 2556 y(op)q(ened)i(output)g -(string)f(p)q(ort.)18 b(The)13 b(result)g(of)f(this)g(pro)q(cedure)j -(is)d(a)g(string)g(con)o(taining)g(all)f(the)i(text)g(that)f(has)75 -2601 y(b)q(een)j(written)f(on)g(the)h(string)f(p)q(ort.)153 -2682 y Ft(\(call-with-)o(ou)o(tpu)o(t-s)o(tr)o(ing)212 -2728 y(\(lambda)j(\(x\))i(\(write)e(123)h(x\))h(\(display)e("Hello")g -(x\)\)\))350 2773 y Fs(=)-6 b Fn(\))19 b Ft("123Hello")p -eop +19 18 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(19)p 37 64 1838 2 v 37 190 a Fw(\(list->string)23 b +FD(chars)t Fw(\))1174 b FF(pro)q(cedure)37 247 y Fw(\(string-copy)23 +b FD(string)t Fw(\))1189 b FF(pro)q(cedure)37 303 y Fw(\(string-fill!) +23 b FD(string)g(char)5 b Fw(\))1055 b FF(pro)q(cedure)37 +384 y FD(Identic)n(al)15 b(to)i(R)311 367 y FA(4)331 +384 y FD(RS.)37 501 y Fw(\(string-find?)23 b FD(string)486 +508 y FA(1)528 501 y FD(string)642 508 y FA(2)661 501 +y Fw(\))994 b FF(pro)q(cedure)37 582 y(Returns)16 b Fw(#t)f +FF(if)h FD(string)429 589 y FA(1)463 582 y FF(app)q(ears)f(somewhere)g +(in)h FD(string)1028 589 y FA(2)1047 582 y FF(;)f(otherwise)h(returns)f +Fw(#f)p FF(.)37 699 y Fw(\(string-index)23 b FD(string)486 +706 y FA(1)528 699 y FD(string)642 706 y FA(2)661 699 +y Fw(\))994 b FF(pro)q(cedure)37 773 y(Returns)12 b(the)f(index)h(of)e +(where)h FD(string)686 780 y FA(1)716 773 y FF(is)g(a)g(substring)g(of) +g FD(string)1146 780 y FA(2)1175 773 y FF(if)h(it)f(exists;)h(returns)f +Fw(#f)f FF(otherwise.)125 861 y Fv(\(string-index)19 +b("ca")i("abracadabra"\))343 910 y Fu(=)-7 b Fp(\))21 +b Fv(4)125 960 y(\(string-index)e("ba")i("abracadabra"\))343 +1010 y Fu(=)-7 b Fp(\))21 b Fv(#f)37 1215 y Fw(\(split-string)i +FD(string)t Fw(\))1165 b FF(pro)q(cedure)37 1272 y Fw(\(split-string)23 +b FD(string)g(delimiters)t Fw(\))947 b FF(pro)q(cedure)37 +1345 y(This)13 b(function)f(parses)g FD(string)560 1352 +y FA(1)590 1345 y FF(and)g(returns)f(a)h(list)g(of)f(tok)o(ens)g(ended) +i(b)o(y)f(a)f(c)o(haracter)g(of)g(the)h FD(delimiters)1856 +1352 y FA(1)37 1395 y FF(string.)20 b(If)15 b FD(delimiters)424 +1402 y FA(1)457 1395 y FF(is)g(omitted,)f(it)h(defaults)g(to)f(a)g +(string)g(con)o(taining)h(a)f(space,)h(a)f(tabulation)h(and)f(a)37 +1445 y(newline)k(c)o(haracters.)125 1533 y Fv(\(split-string)h +("/usr/local/bin")f("/"\))-153 b Fu(=)-7 b Fp(\))22 b +Fv(\("usr")e("local")g("bin"\))125 1583 y(\(split-string)f("once)64 +b(upon)21 b(a)h(time"\))-154 b Fu(=)-7 b Fp(\))22 b Fv(\("once")e +("upon")g("a")i("time"\))37 1788 y Fw(\(string-lower)h +FD(string)t Fw(\))1165 b FF(pro)q(cedure)37 1868 y(Returns)17 +b(a)e(string)h(in)g(whic)o(h)h(all)g(upp)q(er)f(case)g(letters)g(of)f +Fw(string)g FF(ha)o(v)o(e)h(b)q(een)g(replaced)h(b)o(y)f(their)g(lo)o +(w)o(er)37 1924 y(case)g(equiv)m(alen)o(t.)37 2042 y +Fw(\(string-upper)23 b FD(string)t Fw(\))1165 b FF(pro)q(cedure)37 +2123 y(Returns)17 b(a)e(string)h(in)g(whic)o(h)h(all)g(lo)o(w)o(er)e +(case)h(letters)g(of)f Fw(string)g FF(ha)o(v)o(e)g(b)q(een)i(replaced)g +(b)o(y)f(their)g(upp)q(er)37 2179 y(case)g(equiv)m(alen)o(t.)37 +2302 y FI(6.8)56 b(V)-5 b(ectors)37 2449 y Fw(\(vector?)23 +b FD(obj)7 b Fw(\))1338 b FF(pro)q(cedure)37 2505 y Fw(\(make-vector)23 +b FD(k)5 b Fw(\))1281 b FF(pro)q(cedure)37 2562 y Fw(\(make-vector)23 +b FD(k)g(\014l)r(l)5 b Fw(\))1206 b FF(pro)q(cedure)37 +2618 y Fw(\(vector)23 b FD(obj)h Fz(:)8 b(:)g(:)e Fw(\))1284 +b FF(pro)q(cedure)37 2674 y Fw(\(vector-length)22 b FD(ve)n(ctor)5 +b Fw(\))1137 b FF(pro)q(cedure)37 2731 y Fw(\(vector-ref)23 +b FD(ve)n(ctor)h(k)5 b Fw(\))1163 b FF(pro)q(cedure)37 +2787 y Fw(\(vector-set!)23 b FD(ve)n(ctor)g(k)h(obj)7 +b Fw(\))1056 b FF(pro)q(cedure)p eop %%Page: 20 20 -20 19 bop 75 47 a FC(20)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(input-port?)19 b FB(obj)6 -b Fu(\))1220 b FD(pro)q(cedure)75 229 y Fu(\(output-port?)19 -b FB(obj)6 b Fu(\))1198 b FD(pro)q(cedure)75 302 y FB(Identic)n(al)15 -b(to)g(R)325 287 y Fy(4)344 302 y FB(RS.)75 406 y Fu -(\(input-string-por)o(t?)k FB(obj)6 b Fu(\))1067 b FD(pro)q(cedure)75 -456 y Fu(\(output-string-po)o(rt?)19 b FB(obj)6 b Fu(\))1045 -b FD(pro)q(cedure)75 529 y(Returns)15 b Fu(#t)e FD(if)g -FB(obj)20 b FD(is)14 b(either)h(an)e(input)h(or)g(an)f(output)h(string) -g(p)q(ort,)g(otherwise)h(returns)g Fu(#f)p FD(.)75 633 -y Fu(\(current-input-po)o(rt)m(\))1148 b FD(pro)q(cedure)75 -683 y Fu(\(current-output-p)o(ort)m(\))1126 b FD(pro)q(cedure)75 -756 y FB(Identic)n(al)15 b(to)g(R)325 741 y Fy(4)344 -756 y FB(RS.)75 860 y Fu(\(current-error-po)o(rt)m(\))1148 -b FD(pro)q(cedure)75 933 y(Returns)15 b(the)f(curren)o(t)i(default)d -(error)i(p)q(ort.)75 1037 y Fu(\(with-input-from-)o(file)j -FB(string)k(thunk)t Fu(\))854 b FD(pro)q(cedure)75 1087 -y Fu(\(with-output-to-f)o(ile)19 b FB(string)i(thunk)t -Fu(\))876 b FD(pro)q(cedure)75 1160 y FB(Identic)n(al)15 -b(to)g(R)325 1145 y Fy(4)344 1160 y FB(RS.)75 1210 y -FD(The)10 b(follo)o(wing)e(example)g(uses)j(a)f(pip)q(e)g(p)q(ort)g(op) -q(ened)h(for)e(reading.)17 b(It)10 b(p)q(ermits)f(to)h(read)g(all)f -(the)h(lines)g(pro)q(duced)75 1260 y(b)o(y)15 b(an)g(external)g -Fu(ls)g FD(command)d(\(i.e.)21 b(the)16 b(ouput)f(of)g(the)g -Fu(ls)g FD(command)d(is)j FB(r)n(e)n(dir)n(e)n(cte)n(d)f -FD(to)h(the)g(Sc)o(heme)g(pip)q(e)75 1310 y(p)q(ort\).)153 -1395 y Ft(\(with-input)o(-f)o(rom)o(-fi)o(le)h("|)j(ls)g(-ls")193 -1441 y(\(lambda)e(\(\))232 1487 y(\(do)h(\(\(l)h(\(read-lin)o(e\))d -(\(read-line)o(\)\)\))310 1532 y(\(\(eof-objec)o(t?)g(l\)\))271 -1578 y(\(display)h(l\))271 1624 y(\(newline\)\))o(\)\))75 -1755 y FD(Hereafter)e(is)e(another)g(example)f(of)g(Unix)h(command)d -(redirection.)19 b(This)13 b(time,)e(it)i(is)g(the)h(standard)f(input)g -(of)75 1801 y(the)h(Unix)g(command)d(whic)o(h)j(is)g(redirected.)153 -1879 y Ft(\(with-outpu)o(t-)o(to-)o(fil)o(e)i("|)j(mail)f(root")193 -1924 y(\(lambda\(\))232 1970 y(\(format)f(#t)i("A)g(simple)e(mail)h -(sent)g(from)g(STk\\n"\)\)\))75 2152 y Fu(\(with-input-from-)o(strin)o -(g)h FB(string)i(thunk)t Fu(\))811 b FD(pro)q(cedure)75 -2225 y(A)12 b(string)f(p)q(ort)h(is)g(op)q(ened)g(for)g(input)f(from)f -FB(string)s FD(.)17 b Fu(Current-input-port)8 b FD(is)j(set)i(to)e(the) -i(p)q(ort)e(and)h FB(thunk)17 b FD(is)75 2275 y(called.)f(When)10 -b FB(thunk)15 b FD(returns,)c(the)g(previous)f(default)f(input)g(p)q -(ort)h(is)g(restored.)18 b Fu(With-input-from-st)o(ring)75 -2325 y FD(returns)d(the)g(v)n(alue)e(yielded)h(b)o(y)g -FB(thunk)5 b FD(.)153 2411 y Ft(\(with-input)o(-f)o(rom)o(-st)o(ri)o -(ng)16 b("123)i(456")g(\(lambda)f(\(\))i(\(read\)\)\))350 -2456 y Fs(=)-6 b Fn(\))19 b Ft(123)75 2646 y Fu(\(with-output-to-s)o -(tring)f FB(thunk)t Fu(\))958 b FD(pro)q(cedure)75 2719 -y(A)14 b(string)g(p)q(ort)g(is)g(op)q(ened)h(for)f(output.)k -Fu(Current-output-po)o(rt)11 b FD(is)j(set)g(to)g(it)g(and)g -FB(thunk)19 b FD(is)13 b(called.)18 b(When)75 2769 y(the)c -FB(thunk)19 b FD(returns,)14 b(the)g(previous)g(default)f(output)h(p)q -(ort)g(is)f(restored.)20 b Fu(With-output-to-s)o(tring)10 -b FD(returns)75 2819 y(the)k(string)g(con)o(taining)f(all)g(the)h(text) -h(written)f(on)g(the)g(string)g(p)q(ort.)p eop +20 19 bop 37 45 a FE(20)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(vector->list)23 b FD(ve)n(ctor)5 +b Fw(\))1160 b FF(pro)q(cedure)37 247 y Fw(\(list->vector)23 +b FD(list)t Fw(\))1219 b FF(pro)q(cedure)37 303 y Fw(\(vector-fill!)23 +b FD(ve)n(ctor)g(\014l)r(l)5 b Fw(\))1085 b FF(pro)q(cedure)37 +383 y FD(Identic)n(al)15 b(to)i(R)311 367 y FA(4)331 +383 y FD(RS.)37 497 y Fw(\(vector-copy)23 b FD(ve)n(ctor)5 +b Fw(\))1184 b FF(pro)q(cedure)37 577 y(returns)16 b(a)e(cop)o(y)i(of)e +FD(ve)n(ctor)5 b FF(.)37 691 y Fw(\(vector-resize)22 +b FD(ve)n(ctor)i(size)s Fw(\))1042 b FF(pro)q(cedure)37 +771 y FD(ve)n(ctor-r)n(esize)18 b FF(ph)o(ysically)g(c)o(hanges)e(the)f +(size)i(of)e FD(ve)n(ctor)5 b FF(.)21 b(If)16 b FD(size)i +FF(is)e(greater)f(than)h(the)f(old)h(v)o(ector)f(size,)37 +828 y(the)h(con)o(ten)o(ts)e(of)h(the)g(newly)h(allo)q(cated)h(cells)f +(are)f(unde\014ned.)37 946 y FI(6.9)56 b(Con)n(trol)19 +b(features)37 1092 y Fw(\(procedure?)k FD(obj)7 b Fw(\))1266 +b FF(pro)q(cedure)37 1149 y Fw(\(apply)24 b FD(pr)n(o)n(c)f(ar)n(gs)t +Fw(\))1261 b FF(pro)q(cedure)37 1205 y Fw(\(apply)24 +b FD(pr)n(o)n(c)f(ar)n(g)371 1212 y FA(1)415 1205 y Fz(:)8 +b(:)g(:)22 b FD(ar)n(gs)t Fw(\))1079 b FF(pro)q(cedure)37 +1261 y Fw(\(map)24 b FD(pr)n(o)n(c)g(list)323 1268 y +FA(1)365 1261 y FD(list)425 1268 y FA(2)468 1261 y Fz(:)8 +b(:)g(:)e Fw(\))1126 b FF(pro)q(cedure)37 1318 y Fw(\(for-each)23 +b FD(pr)n(o)n(c)h(list)442 1325 y FA(1)485 1318 y FD(list)545 +1325 y FA(2)588 1318 y Fz(:)8 b(:)g(:)d Fw(\))1007 b +FF(pro)q(cedure)37 1374 y Fw(\(force)24 b FD(pr)n(omise)s +Fw(\))1293 b FF(pro)q(cedure)37 1454 y FD(Identic)n(al)15 +b(to)i(R)311 1438 y FA(4)331 1454 y FD(RS.)37 1568 y +Fw(\(call-with-current-continuatio)o(n)k FD(pr)n(o)n(c)s +Fw(\))769 b FF(pro)q(cedure)37 1625 y Fw(\(call/cc)23 +b FD(pr)n(o)n(c)s Fw(\))1318 b FF(pro)q(cedure)37 1705 +y Fw(Call/cc)15 b FF(is)g(a)g(shorter)g(name)g(for)g +Fw(call-with-current-conti)o(nuation)p FF(.)37 1819 y +Fw(\(closure?)23 b FD(obj)7 b Fw(\))1314 b FF(pro)q(cedure)37 +1899 y(returns)14 b Fw(#t)g FF(if)h FD(obj)21 b FF(is)14 +b(a)g(pro)q(cedure)h(created)f(b)o(y)g(ev)m(aluating)i(a)d(lam)o(b)q +(da)i(expression,)g(otherwise)f(returns)37 1955 y Fw(#f)p +FF(.)37 2069 y Fw(\(primitive?)23 b FD(obj)7 b Fw(\))1266 +b FF(pro)q(cedure)37 2149 y(returns)16 b Fw(#t)e FF(if)i +FD(obj)22 b FF(is)16 b(a)f(pro)q(cedure)h(and)f(is)h(not)f(a)f +(closure,)i(otherwise)f(returns)g Fw(#f)p FF(.)37 2263 +y Fw(\(promise?)23 b FD(obj)7 b Fw(\))1314 b FF(pro)q(cedure)37 +2343 y(returns)16 b Fw(#t)e FF(if)i FD(obj)22 b FF(is)16 +b(an)f(ob)s(ject)f(returned)i(b)o(y)f(the)g(application)i(of)e +Fw(delay)p FF(,)f(otherwise)i(returns)f Fw(#f)p FF(.)37 +2457 y Fw(\(continuation?)22 b FD(obj)7 b Fw(\))1195 +b FF(pro)q(cedure)37 2537 y(returns)16 b Fw(#t)e FF(if)i +FD(obj)22 b FF(is)16 b(a)f(con)o(tin)o(uation)g(obtained)h(b)o(y)f +Fw(call/cc)p FF(,)f(otherwise)h(returns)g Fw(#f)p FF(.)37 +2651 y Fw(\(dynamic-wind)23 b Fo(h)p FF(th)o(unk)506 +2658 y FA(1)525 2651 y Fo(i)h(h)p FF(th)o(unk)701 2658 +y FA(2)720 2651 y Fo(i)g(h)p FF(th)o(unk)896 2658 y FA(3)915 +2651 y Fo(i)p Fw(\))722 b FF(pro)q(cedure)37 2731 y Fo(h)p +FF(Th)o(unk)186 2738 y FA(1)206 2731 y Fo(i)p FF(,)22 +b Fo(h)p FF(th)o(unk)393 2738 y FA(2)412 2731 y Fo(i)f +FF(and)g Fo(h)p FF(th)o(unk)679 2738 y FA(3)698 2731 +y Fo(i)g FF(are)f(called)j(in)e(order.)37 b(The)21 b(result)g(of)f +Fw(dynamic-wind)g FF(is)h(the)37 2787 y(v)m(alue)d(returned)f(b)o(y)f +Fo(h)p FF(th)o(unk)540 2794 y FA(2)559 2787 y Fo(i)p +FF(.)23 b(If)16 b Fo(h)p FF(th)o(unk)793 2794 y FA(2)813 +2787 y Fo(i)g FF(escap)q(es)g(from)g(its)g(con)o(tin)o(uation)h(during) +g(ev)m(aluation)g(\(b)o(y)p eop %%Page: 21 21 -21 20 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(21)p 75 64 1763 2 v 153 179 a Ft(\(with-outpu)o(t-)o(to-)o(str)o(in)o -(g)17 b(\(lambda)f(\(\))j(\(write)f(123\))g(\(write)f("Hello"\)\)\))350 -224 y Fs(=)-6 b Fn(\))19 b Ft("123Hello")75 410 y Fu(\(open-input-file) -f FB(\014lename)s Fu(\))1039 b FD(pro)q(cedure)75 460 -y Fu(\(open-output-file)18 b FB(\014lename)s Fu(\))1017 -b FD(pro)q(cedure)75 534 y FB(Identic)n(al)15 b(to)g(R)325 -518 y Fy(4)344 534 y FB(RS.)75 583 y Fl(Note:)31 b Fs(if)12 -b Fl(f)c Fs(ilename)14 b(starts)e(with)g(the)g(string)h -Ft("|)19 b(")p Fs(,)11 b(these)i(pro)q(cedure)g(return)f(a)g(pip)q(e)i -(p)q(ort.)i(Consequen)o(tly)m(,)e(it)f(is)f(not)75 633 -y(p)q(ossible)j(to)e(op)q(en)h(a)f(\014le)h(whose)f(name)h(starts)f -(with)g(those)h(t)o(w)o(o)e(c)o(haracters.)75 735 y Fu -(\(open-input-strin)o(g)19 b FB(string)t Fu(\))1040 b -FD(pro)q(cedure)75 808 y(Returns)15 b(an)e(input)h(string)g(p)q(ort)g -(capable)g(of)f(deliv)o(ering)h(c)o(haracters)h(from)d -FB(string)t FD(.)75 910 y Fu(\(open-output-stri)o(ng)m(\))1148 -b FD(pro)q(cedure)75 984 y(Returns)15 b(an)e(output)h(string)g(p)q(ort) -h(capable)f(of)f(receiving)h(and)g(collecting)f(c)o(haracters.)75 -1085 y Fu(\(get-output-strin)o(g)19 b FB(p)n(ort)t Fu(\))1072 -b FD(pro)q(cedure)75 1155 y(Returns)15 b(a)e(string)h(con)o(taining)f -(all)g(the)h(text)h(that)f(has)g(b)q(een)h(written)f(on)g(the)g(output) -g(string)g FB(p)n(ort)t FD(.)153 1231 y Ft(\(let)19 b(\(\(p)f -(\(open-outp)o(ut)o(-st)o(ri)o(ng\))o(\)\))193 1277 y(\(display)e -("Hello,)h(world")g(p\))193 1322 y(\(get-outp)o(ut)o(-st)o(rin)o(g)f -(p\)\))350 1368 y Fs(=)-6 b Fn(\))19 b Ft("Hello,)e(world")75 -1546 y Fu(\(close-input-port)h FB(p)n(ort)t Fu(\))1094 -b FD(pro)q(cedure)75 1596 y Fu(\(close-output-por)o(t)19 -b FB(p)n(ort)t Fu(\))1072 b FD(pro)q(cedure)75 1669 y -FB(Identic)n(al)15 b(to)g(R)325 1654 y Fy(4)344 1669 -y FB(RS.)75 1771 y Fu(\(read)o(\))1453 b FD(pro)q(cedure)75 -1821 y Fu(\(read)21 b FB(p)n(ort)t Fu(\))1355 b FD(pro)q(cedure)75 -1871 y Fu(\(read-char)n(\))1344 b FD(pro)q(cedure)75 -1921 y Fu(\(read-char)20 b FB(p)n(ort)t Fu(\))1246 b -FD(pro)q(cedure)75 1970 y Fu(\(peek-char)n(\))1344 b -FD(pro)q(cedure)75 2020 y Fu(\(peek-char)20 b FB(p)n(ort)t -Fu(\))1246 b FD(pro)q(cedure)75 2070 y Fu(\(char-ready?)n(\))1300 -b FD(pro)q(cedure)75 2120 y Fu(\(char-ready?)19 b FB(p)n(ort)t -Fu(\))1203 b FD(pro)q(cedure)75 2193 y FB(Identic)n(al)15 -b(to)g(R)325 2178 y Fy(4)344 2193 y FB(RS.)75 2295 y -Fu(\(read-line)n(\))1344 b FD(pro)q(cedure)75 2345 y -Fu(\(read-line)20 b FB(p)n(ort)t Fu(\))1246 b FD(pro)q(cedure)75 -2418 y(Reads)18 b(the)h(next)g(line)f(a)o(v)n(ailable)e(from)g(the)j -(input)f(p)q(ort)h FB(p)n(ort)j FD(and)c(returns)i(it)d(as)i(a)f -(string.)31 b(The)19 b(termi-)75 2468 y(nating)d(newline)h(is)g(not)g -(included)g(in)g(the)g(string.)27 b(If)17 b(no)g(more)f(c)o(haracters)i -(are)g(a)o(v)n(ailable,)d(an)i(end)g(of)f(\014le)75 2518 -y(ob)r(ject)k(is)g(returned.)37 b FB(Port)23 b FD(ma)o(y)18 -b(b)q(e)i(omitted,)f(in)h(whic)o(h)f(case)i(it)e(defaults)h(to)f(the)h -(v)n(alue)f(returned)j(b)o(y)75 2568 y Fu(current-input-por)o(t)p -FD(.)75 2669 y Fu(\(write)f FB(obj)6 b Fu(\))1350 b FD(pro)q(cedure)75 -2719 y Fu(\(write)21 b FB(obj)g(p)n(ort)t Fu(\))1259 -b FD(pro)q(cedure)75 2769 y Fu(\(display)20 b FB(obj)6 -b Fu(\))1307 b FD(pro)q(cedure)75 2819 y Fu(\(display)20 -b FB(obj)i(p)n(ort)t Fu(\))1215 b FD(pro)q(cedure)p eop +21 20 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(21)p 37 64 1838 2 v 37 190 a FF(calling)21 b(a)e(con)o(tin)o(uation)g +(obtained)g(b)o(y)g Fw(call/cc)f FF(or)g(on)h(error\),)g +Fo(h)p FF(th)o(unk)1343 197 y FA(3)1362 190 y Fo(i)g +FF(is)g(called.)32 b(If)19 b Fo(h)p FF(th)o(unk)1788 +197 y FA(2)1808 190 y Fo(i)f FF(is)37 247 y(later)e(reen)o(tered,)f +Fo(h)p FF(th)o(unk)489 254 y FA(1)508 247 y Fo(i)g FF(is)h(called.)37 +364 y Fw(\(catch)24 b Fo(h)p FF(expression)426 371 y +FA(1)446 364 y Fo(i)f(h)p FF(expression)708 371 y FA(2)729 +364 y Fo(i)g Fz(:)8 b(:)g(:)e Fw(\))890 b FF(syn)o(tax)37 +438 y(The)23 b Fo(h)p FF(expression)p Fo(i)p FF(s)g(are)f(ev)m(aluated) +h(from)f(left)g(to)g(righ)o(t.)41 b(If)22 b(an)h(error)e(o)q(ccurs,)j +(ev)m(aluation)g(of)e(the)37 488 y Fo(h)p FF(expression)p +Fo(i)q FF(s)16 b(is)h(ab)q(orted,)g(and)f Fw(#t)g FF(is)h(returned)g +(to)f Fw(catch)p FF('s)g(caller.)25 b(If)16 b(ev)m(aluation)i +(\014nishes)g(without)37 538 y(an)e(error,)e Fw(catch)g +FF(returns)h Fw(#f)p FF(.)125 625 y Fv(\(let*)20 b(\(\(x)i(0\))277 +675 y(\(y)g(\(catch)408 725 y(\(set!)f(x)g(1\))408 774 +y(\(/)g(0\))h(;)f(causes)g(a)g("division)f(by)i(0")f(error)408 +824 y(\(set!)g(x)g(2\)\)\)\))168 874 y(\(cons)g(x)h(y\)\))343 +924 y Fu(=)-7 b Fp(\))21 b Fv(\(1)h(.)f(#t\))37 1129 +y Fw(\(procedure-body)h Fo(h)p FF(pro)q(cedure)p Fo(i)q +Fw(\))1004 b FF(pro)q(cedure)37 1202 y(returns)20 b(the)f(b)q(o)q(dy)h +(of)f Fo(h)p FF(pro)q(cedure)p Fo(i)p FF(.)33 b(If)19 +b Fo(h)p FF(pro)q(cedure)p Fo(i)h FF(is)g(not)f(a)g(closure,)i +Fw(procedure-body)c FF(returns)37 1252 y Fw(#f)p FF(.)125 +1340 y Fv(\(define)j(\(f)h(a)h(b\))190 1389 y(\(+)f(a)h(\(*)f(b)h +(2\)\)\))125 1489 y(\(procedure-body)c(f\))218 b Fu(=)-7 +b Fp(\))22 b Fv(\(lambda)e(\(a)h(b\))866 1539 y(\(+)g(a)h(\(*)f(b)h +(2\)\)\))125 1589 y(\(procedure-body)c(car\))174 b Fu(=)-7 +b Fp(\))22 b Fv(#f)37 1798 y FI(6.10)56 b(Input)19 b(and)g(output)37 +1884 y FF(The)12 b FD(R)160 1868 y FA(4)173 1884 y Fz(RS)h +FF(states)e(that)g(p)q(orts)g(represen)o(t)g(input)i(and)f(output)f +(devices.)20 b(Ho)o(w)o(ev)o(er,)11 b(it)h(de\014nes)g(only)g(p)q(orts) +37 1941 y(whic)o(h)19 b(are)f(attac)o(hed)f(to)h(\014les.)29 +b(In)18 b FB(STk)p FF(,)g(p)q(orts)f(can)h(also)g(b)q(e)h(attac)o(hed)e +(to)g(strings)h(or)g(to)f(a)h(external)37 1997 y(command)f(input)h(or)f +(output.)25 b(String)17 b(p)q(orts)g(are)g(similar)h(to)e(\014le)i(p)q +(orts,)f(except)h(that)e(c)o(haracters)g(are)37 2053 +y(read)k(from)g(\(or)f(written)h(to\))f(a)g(string)h(rather)f(than)h(a) +g(\014le.)35 b(External)20 b(command)g(input)h(or)e(output)37 +2110 y(p)q(orts)d(are)g(implemen)o(ted)h(with)f(Unix)h(pip)q(es)h(and)e +(are)f(called)j(pip)q(e)f(p)q(orts.)22 b(A)16 b(pip)q(e)h(p)q(ort)f(is) +g(created)g(b)o(y)37 2166 y(sp)q(ecifying)f(the)e(command)g(to)f +(execute)i(pre\014xed)g(with)f(the)g(string)g Fw("|)24 +b(")p FF(.)19 b(Sp)q(eci\014cation)c(of)d(a)h(pip)q(e)h(p)q(ort)37 +2223 y(can)i(o)q(ccur)f(ev)o(erywhere)h(a)f(\014le)h(name)f(is)h +(needed.)37 2340 y Fw(\(call-with-input-file)21 b FD(string)j(pr)n(o)n +(c)s Fw(\))870 b FF(pro)q(cedure)37 2397 y Fw(\(call-with-output-file) +21 b FD(string)i(pr)n(o)n(c)s Fw(\))847 b FF(pro)q(cedure)37 +2477 y Fn(Note:)33 b Fu(if)9 b Fn(s)t Fu(tring)g(starts)i(with)f(the)h +(t)o(w)o(o)e(c)o(haracters)j Fv("|)21 b(")p Fu(,)10 b(these)i(pro)q +(cedures)g(return)f(a)f(pip)q(e)g(p)q(ort.)17 b(Consequen)o(tly)m(,)37 +2533 y(it)d(is)g(not)g(p)q(ossible)g(to)f(op)q(en)i(a)e(\014le)h(whose) +h(name)d(starts)j(with)f(those)g(t)o(w)o(o)g(c)o(haracters.)37 +2651 y Fw(\(call-with-input-string)21 b FD(string)i(pr)n(o)n(c)s +Fw(\))823 b FF(pro)q(cedure)37 2731 y(b)q(eha)o(v)o(es)16 +b(exactly)g(as)g Fw(call-with-input-file)d FF(except)j(that)f(the)h(p)q +(ort)f(passed)h(to)f FD(pr)n(o)n(c)j FF(is)e(the)g(string)37 +2787 y(p)q(ort)f(obtained)h(from)f FD(string)s FF(.)p +eop %%Page: 22 22 -22 21 bop 75 47 a FC(22)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(newline)n(\))1388 b FD(pro)q(cedure)75 -229 y Fu(\(newline)20 b FB(p)n(ort)t Fu(\))1290 b FD(pro)q(cedure)75 -278 y Fu(\(write-char)20 b FB(char)t Fu(\))1217 b FD(pro)q(cedure)75 -328 y Fu(\(write-char)20 b FB(char)h(p)n(ort)t Fu(\))1124 -b FD(pro)q(cedure)75 402 y FB(Identic)n(al)15 b(to)g(R)325 -387 y Fy(4)344 402 y FB(RS.)75 511 y Fu(\(format)20 b -FB(p)n(ort)i(string)f Fx(obj)523 517 y Fy(1)563 511 y -Fx(obj)618 517 y Fy(2)659 511 y Fx(:)7 b(:)g(:)e Fu(\))923 -b FD(pro)q(cedure)75 585 y(W)m(rites)12 b(the)h FB(obj)6 -b FD(s)13 b(to)f(the)h(giv)o(en)f FB(p)n(ort)t FD(,)g(according)g(to)g -(the)h(format)e(string)h FB(string)s FD(.)18 b FB(String)e -FD(is)c(written)h(literally)m(,)75 635 y(except)i(for)f(the)g(follo)o -(wing)e(sequences:)137 720 y Fm(\017)21 b Fu(~)p FD(a)13 -b(or)h Fu(~)p FD(A)g(is)g(replaced)g(b)o(y)g(the)h(prin)o(ted)f -(represen)o(tation)h(of)e(the)i(next)f FB(obj)6 b FD(.)137 -805 y Fm(\017)21 b Fu(~)p FD(s)14 b(or)g Fu(~)p FD(S)f(is)h(replaced)h -(b)o(y)f(the)g(\\slashi\014ed")g(prin)o(ted)g(represen)o(tation)h(of)f -(the)g(next)g FB(obj)7 b FD(.)137 890 y Fm(\017)21 b -Fu(~~)13 b FD(is)h(replaced)h(b)o(y)e(a)h(single)g(tilde.)137 -975 y Fm(\017)21 b Fu(~)p FD(\045)13 b(is)h(replaced)h(b)o(y)e(a)h -(newline)75 1055 y FB(Port)19 b FD(can)d(b)q(e)g(a)f(b)q(o)q(olean,)g -(a)g(p)q(ort)h(or)g(a)f(string)h(p)q(ort.)23 b(If)15 -b FB(p)n(ort)k FD(is)c Fu(#t)p FD(,)g(output)h(go)q(es)g(to)f(the)h -(curren)o(t)h(output)75 1101 y(p)q(ort;)i(if)d FB(p)n(ort)k -FD(is)d Fu(#f)p FD(,)g(the)h(output)f(is)g(returned)i(as)e(a)g(string.) -28 b(Otherwise,)19 b(the)e(output)h(is)f(prin)o(ted)g(on)g(the)75 -1147 y(sp)q(eci\014ed)e(p)q(ort.)153 1227 y Ft(\(format)i(#f)i("A)g -(test."\))350 1273 y Fs(=)-6 b Fn(\))19 b Ft("A)g(test.")153 -1319 y(\(format)e(#f)i("A)g(~a.")f("test"\))350 1364 -y Fs(=)-6 b Fn(\))19 b Ft("A)g(test.")153 1410 y(\(format)e(#f)i("A)g -(~s.")f("test"\))350 1456 y Fs(=)-6 b Fn(\))19 b Ft("A)g(\\"test\\".)o -(")75 1645 y Fu(\(get-output-strin)o(g)g FB(p)n(ort)t -Fu(\))1072 b FD(pro)q(cedure)75 1715 y(Returns)15 b(the)f(string)g -(asso)q(ciated)h(with)e(the)i(output)f(string)g FB(p)n(ort)s -FD(.)153 1795 y Ft(\(let)19 b(\(\(p)f(\(open-outp)o(ut)o(-st)o(ri)o -(ng\))o(\)\))193 1841 y(\(display)e("Hello,)h(world")g(p\))193 -1887 y(\(get-outp)o(ut)o(-st)o(rin)o(g)f(p\)\))350 1932 -y Fs(=)-6 b Fn(\))19 b Ft("Hello,)e(world")75 2121 y -Fu(\(flush)o(\))1431 b FD(pro)q(cedure)75 2171 y Fu(\(flush)21 -b FB(p)n(ort)t Fu(\))1333 b FD(pro)q(cedure)75 2245 y(Flushes)16 -b(the)f(bu\013er)h(asso)q(ciated)g(with)f(the)g(giv)o(en)g -FB(p)n(ort)s FD(.)21 b(The)16 b FB(p)n(ort)i FD(argumen)o(t)c(ma)o(y)f -(b)q(e)j(omitted,)d(in)i(whic)o(h)75 2295 y(case)g(it)e(defaults)h(to)g -(the)h(v)n(alue)e(returned)i(b)o(y)f Fu(current-output-po)o(rt)p -FD(.)75 2404 y Fu(\(when-port-readab)o(le)19 b FB(p)n(ort)i(hand)r(ler) -t Fu(\))893 b FD(pro)q(cedure)75 2454 y Fu(\(when-port-readab)o(le)19 -b FB(p)n(ort)t Fu(\))1050 b FD(pro)q(cedure)75 2528 y(When)18 -b FB(p)n(ort)j FD(is)c(ready)h(for)f(reading,)h FB(hand)r(ler)5 -b FD(,)18 b(whic)o(h)f(m)o(ust)g(b)q(e)h(a)f(th)o(unk,)h(is)f(called)h -(lea)o(ving)e(the)i(curren)o(t)75 2578 y(ev)n(aluation)d(susp)q(ended.) -29 b(When)17 b FB(hand)r(ler)k FD(execution)c(is)g(terminated,)f -(normal)f(ev)n(aluation)g(is)i(resumed)g(at)75 2627 y(its)e(susp)q -(ension)i(p)q(oin)o(t.)22 b(If)14 b(the)i(sp)q(ecial)g(v)n(alue)f -Fu(#f)f FD(is)h(pro)o(vided)h(as)f FB(hand)r(ler)5 b -FD(,)15 b(the)h(curren)o(t)h(handler)e(for)g FB(p)n(ort)75 -2677 y FD(is)j(deleted.)34 b(If)18 b(a)g(handler)h(is)f(pro)o(vided,)i -(the)f(v)n(alue)f(returned)i(b)o(y)e Fu(when-port-readable)d -FD(is)k(unde\014ned.)75 2727 y(Otherwise,)c(it)e(returns)j(the)e -(handler)g(curren)o(tly)h(asso)q(ciated)g(to)f FB(p)n(ort)s -FD(.)75 2773 y(The)i(example)e(b)q(elo)o(w)h(sho)o(ws)h(a)f(simple)f -(usage)i(of)f(the)h Fu(when-port-reada)o(ble)c FD(pro)q(cedure:)23 -b(the)16 b(command)75 2819 y FB(cmd)i FD(is)c(run)g(with)g(its)g -(output)g(redirected)i(in)d(a)h(pip)q(e)g(asso)q(ciated)h(to)e(the)i -FB(p)h FD(Sc)o(heme)e(p)q(ort.)p eop +22 21 bop 37 45 a FE(22)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(call-with-input)o(-stri)o(ng)i("123)i +(456")g(\(lambda)f(\(x\))h(\(read)g(x\)\)\))343 240 y +Fu(=)-7 b Fp(\))21 b Fv(123)37 448 y Fw(\(call-with-output-string)g +FD(pr)n(o)n(c)s Fw(\))936 b FF(pro)q(cedure)37 522 y +FD(Pr)n(o)n(c)20 b FF(should)e(b)q(e)g(a)f(pro)q(cedure)h(of)e(one)i +(argumen)o(t.)25 b Fw(Call-with-output-string)14 b FF(calls)k +FD(pr)n(o)n(c)i FF(with)d(a)37 572 y(freshly)g(op)q(ened)g(output)e +(string)h(p)q(ort.)21 b(The)16 b(result)g(of)f(this)h(pro)q(cedure)h +(is)f(a)f(string)h(con)o(taining)g(all)h(the)37 621 y(text)e(that)g +(has)g(b)q(een)h(written)f(on)g(the)h(string)f(p)q(ort.)125 +705 y Fv(\(call-with-outpu)o(t-str)o(ing)190 755 y(\(lambda)20 +b(\(x\))i(\(write)e(123)h(x\))h(\(display)e("Hello")g(x\)\)\))343 +805 y Fu(=)-7 b Fp(\))21 b Fv("123Hello")37 1001 y Fw(\(input-port?)i +FD(obj)7 b Fw(\))1242 b FF(pro)q(cedure)37 1058 y Fw(\(output-port?)23 +b FD(obj)7 b Fw(\))1218 b FF(pro)q(cedure)37 1138 y FD(Identic)n(al)15 +b(to)i(R)311 1121 y FA(4)331 1138 y FD(RS.)37 1250 y +Fw(\(input-string-port?)22 b FD(obj)7 b Fw(\))1075 b +FF(pro)q(cedure)37 1307 y Fw(\(output-string-port?)22 +b FD(obj)7 b Fw(\))1051 b FF(pro)q(cedure)37 1387 y(Returns)16 +b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 b(either)h(an)f(input)i(or)d(an) +h(output)g(string)h(p)q(ort,)e(otherwise)h(returns)g +Fw(#f)p FF(.)37 1500 y Fw(\(current-input-port)n(\))1164 +b FF(pro)q(cedure)37 1556 y Fw(\(current-output-port)n(\))1140 +b FF(pro)q(cedure)37 1636 y FD(Identic)n(al)15 b(to)i(R)311 +1620 y FA(4)331 1636 y FD(RS.)37 1749 y Fw(\(current-error-port)n(\)) +1164 b FF(pro)q(cedure)37 1829 y(Returns)16 b(the)g(curren)o(t)f +(default)g(error)g(p)q(ort.)37 1942 y Fw(\(with-input-from-file)21 +b FD(string)j(thunk)5 b Fw(\))841 b FF(pro)q(cedure)37 +1998 y Fw(\(with-output-to-file)22 b FD(string)h(thunk)5 +b Fw(\))865 b FF(pro)q(cedure)37 2079 y FD(Identic)n(al)15 +b(to)i(R)311 2062 y FA(4)331 2079 y FD(RS.)37 2135 y +FF(The)h(follo)o(wing)g(example)g(uses)f(a)g(pip)q(e)h(p)q(ort)f(op)q +(ened)h(for)f(reading.)26 b(It)17 b(p)q(ermits)h(to)e(read)h(all)h(the) +f(lines)37 2191 y(pro)q(duced)g(b)o(y)e(an)f(external)i +Fw(ls)e FF(command)h(\(i.e.)20 b(the)15 b(ouput)g(of)g(the)g +Fw(ls)f FF(command)h(is)h FD(r)n(e)n(dir)n(e)n(cte)n(d)e +FF(to)g(the)37 2248 y(Sc)o(heme)i(pip)q(e)h(p)q(ort\).)125 +2343 y Fv(\(with-input-from)o(-file)h("|)j(ls)h(-ls")168 +2393 y(\(lambda)f(\(\))212 2443 y(\(do)g(\(\(l)g(\(read-line\))f +(\(read-line\)\)\))299 2493 y(\(\(eof-object?)f(l\)\))255 +2543 y(\(display)i(l\))255 2592 y(\(newline\)\)\)\))37 +2738 y FF(Hereafter)f(is)g(another)f(example)i(of)e(Unix)h(command)g +(redirection.)35 b(This)20 b(time,)h(it)e(is)i(the)e(standard)37 +2787 y(input)e(of)d(the)i(Unix)g(command)f(whic)o(h)h(is)g(redirected.) +p eop %%Page: 23 23 -23 22 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(23)p 75 64 1763 2 v 153 179 a Ft(\(define)17 b(p)j(\(open-inp)o(ut)o -(-fi)o(le)c("|)j(cmd"\)\))153 224 y(\(when-port-)o(re)o(ada)o(ble)d(p) -389 270 y(\(lambda\(\))428 316 y(\(let)i(\(\()h(l)g(\(read-line)d -(p\)\)\))467 361 y(\(if)j(\(eof-obje)o(ct)o(?)e(l\))546 -407 y(\(begin)585 453 y(;;)i(delete)e(handler)585 498 -y(\(when-por)o(t-r)o(ead)o(ab)o(le)f(p)j(#f\))585 544 -y(;;)g(and)f(close)g(port)585 590 y(\(close-in)o(put)o(-po)o(rt)e -(p\)\))546 635 y(\(format)h(#t)h("Line)g(read:)g(~A\\n")g(l\)\)\)\)\)) -75 850 y Fu(\(when-port-writab)o(le)h FB(p)n(ort)i(hand)r(ler)t -Fu(\))893 b FD(pro)q(cedure)75 900 y Fu(\(when-port-writab)o(le)19 -b FB(p)n(ort)t Fu(\))1050 b FD(pro)q(cedure)75 974 y(When)18 -b FB(p)n(ort)j FD(is)d(ready)g(for)g(writing,)f FB(hand)r(ler)5 -b FD(,)18 b(whic)o(h)g(m)o(ust)f(b)q(e)h(a)f(th)o(unk,)i(is)e(called)h -(lea)o(ving)f(the)h(curren)o(t)75 1023 y(ev)n(aluation)d(susp)q(ended.) -29 b(When)17 b FB(hand)r(ler)k FD(execution)c(is)g(terminated,)f -(normal)f(ev)n(aluation)g(is)i(resumed)g(at)75 1073 y(its)e(susp)q -(ension)i(p)q(oin)o(t.)22 b(If)14 b(the)i(sp)q(ecial)g(v)n(alue)f -Fu(#f)f FD(is)h(pro)o(vided)h(as)f FB(hand)r(ler)5 b -FD(,)15 b(the)h(curren)o(t)h(handler)e(for)g FB(p)n(ort)75 -1123 y FD(is)j(deleted.)34 b(If)18 b(a)g(handler)h(is)f(pro)o(vided,)i -(the)f(v)n(alue)f(returned)i(b)o(y)e Fu(when-port-writable)d -FD(is)k(unde\014ned.)75 1173 y(Otherwise,)c(it)e(returns)j(the)e -(handler)g(curren)o(tly)h(asso)q(ciated)g(to)f FB(p)n(ort)s -FD(.)75 1269 y Fu(\(load)21 b FB(\014lename)s Fu(\))1278 -b FD(pro)q(cedure)75 1319 y Fu(\(load)21 b FB(\014lename)h(envir)n -(onment)t Fu(\))1031 b FD(pro)q(cedure)75 1389 y(The)17 -b(\014rst)g(form)e(is)i(iden)o(tical)f(to)g FB(R)650 -1374 y Fy(4)662 1389 y Fx(RS)r FD(.)27 b(The)17 b(second)h(one)f(loads) -f(the)h(con)o(ten)o(t)g(of)f FB(\014lename)21 b FD(in)16 -b(the)h(giv)o(en)75 1434 y FB(envir)n(onment)t FD(.)h(So,)13 -b(the)i(\014rst)g(form)d(is)i(equiv)n(alen)o(t)f(to)153 -1507 y Ft(\(load)18 b(filename)f(\(global-e)o(nv)o(iro)o(nm)o(ent)o -(\)\))75 1629 y Fl(Note:)28 b Fs(The)10 b Fl(lo)n(ad)h -Fs(primitiv)o(e)g(has)f(b)q(een)g(extended)g(to)f(allo)o(w)h(loading)i -(of)d(ob)r(ject)g(\014les,)i(though)f(this)g(is)g(not)f(implemen)o(ted) -75 1679 y(on)h(all)h(systems.)16 b(This)10 b(extension)i(uses)e -(dynamic)h(loading)h(on)e(systems)g(whic)o(h)g(supp)q(ort)h(it)1411 -1663 y Fr(2)1428 1679 y Fs(.)16 b(See)10 b([4])f(for)g(more)h(details.) -75 1826 y Fu(\(try-load)20 b FB(\014lename)s Fu(\))1191 -b FD(pro)q(cedure)75 1876 y Fu(\(try-load)20 b FB(\014lename)i(envir)n -(onment)t Fu(\))944 b FD(pro)q(cedure)75 1949 y(T)m(ries)11 -b(to)g(load)g(the)h(\014le)f(named)f FB(\014lename)t -FD(.)17 b(If)11 b FB(\014lename)k FD(exists)d(and)f(is)g(readable,)g -(it)g(is)g(loaded,)g(and)g Fu(try-load)75 1999 y FD(returns)17 -b Fu(#t)p FD(.)k(Otherwise,)c(the)e(result)h(of)f(the)g(call)g(is)g -Fu(#f)p FD(.)21 b(The)16 b(second)g(form)d(of)i FB(try-lo)n(ad)k -FD(tries)d(to)f(load)f(the)75 2049 y(con)o(ten)o(t)h(of)e -FB(\014lename)k FD(in)d(the)g(giv)o(en)g FB(envir)n(onment)t -FD(.)75 2145 y Fu(\(autoload)20 b FB(\014lename)i Fm(h)p -FD(sym)o(b)q(ol)611 2151 y Fy(1)628 2145 y Fm(i)g(h)p -FD(sym)o(b)q(ol)812 2151 y Fy(2)829 2145 y Fm(i)g Fx(:)7 -b(:)g(:)f Fu(\))774 b FD(syn)o(tax)75 2219 y(De\014nes)14 -b Fm(h)p FD(sym)o(b)q(ol)p Fm(i)n FD(s)f(as)g(autoload)f(sym)o(b)q(ols) -f(asso)q(ciated)i(to)g(\014le)f FB(\014lename)t FD(.)18 -b(Fisrt)13 b(ev)n(aluation)e(of)h(an)h(autoload)75 2268 -y(sym)o(b)q(ol)i(will)h(cause)i(the)f(loading)f(of)g(its)h(asso)q -(ciated)h(\014le.)28 b FB(Filename)20 b FD(m)o(ust)c(pro)o(vide)h(a)g -(de\014nition)f(for)h(the)75 2318 y(sym)o(b)q(ol)12 b(whic)o(h)i(lead)f -(to)h(its)g(loading,)e(otherwise)j(an)e(error)i(is)f(signaled.)75 -2415 y Fu(\(autoload?)20 b FB(symb)n(ol)t Fu(\))1198 -b FD(pro)q(cedure)75 2488 y(Returns)15 b Fu(#t)e FD(if)g -FB(symb)n(ol)18 b FD(is)c(an)g(autoload)e(sym)o(b)q(ol;)g(returns)j -Fu(#f)f FD(otherwise.)75 2585 y Fu(\(require)20 b FB(string)t -Fu(\))1258 b FD(pro)q(cedure)75 2635 y Fu(\(provide)20 -b FB(string)t Fu(\))1258 b FD(pro)q(cedure)75 2685 y -Fu(\(provided?)20 b FB(string)t Fu(\))1214 b FD(pro)q(cedure)p -75 2741 705 2 v 121 2768 a Fr(2)139 2779 y Fq(Curren)o(t)10 -b(v)o(ersion)h(\(3.99\))f(allo)o(ws)h(dynamic)f(loading)g(only)h(on)g -(some)g(platforms:)j(SunOs)d(4.1.x,)g(SunOs)g(5.x,)g(NetBSD)h(1.0,)75 -2819 y(Lin)o(ux)e(2.0,)h(HPUX,)i(Irix)e(5.3)p eop +23 22 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(23)p 37 64 1838 2 v 125 190 a Fv(\(with-output-to-)o(file)18 +b("|)k(mail)f(root")168 240 y(\(lambda\(\))212 290 y(\(format)f(#t)i +("A)f(simple)f(mail)h(sent)g(from)g(STk\\n"\)\)\))37 +501 y Fw(\(with-input-from-string)g FD(string)i(thunk)5 +b Fw(\))794 b FF(pro)q(cedure)37 582 y(A)24 b(string)f(p)q(ort)g(is)h +(op)q(ened)g(for)f(input)h(from)f FD(string)s FF(.)44 +b Fw(Current-input-port)21 b FF(is)j(set)f(to)g(the)g(p)q(ort)37 +639 y(and)i FD(thunk)30 b FF(is)25 b(called.)50 b(When)26 +b FD(thunk)j FF(returns,)e(the)e(previous)g(default)g(input)h(p)q(ort)f +(is)g(restored.)37 695 y Fw(With-input-from-string)13 +b FF(returns)i(the)g(v)m(alue)h(yielded)i(b)o(y)d FD(thunk)5 +b FF(.)125 799 y Fv(\(with-input-from)o(-stri)o(ng)19 +b("123)i(456")g(\(lambda)f(\(\))h(\(read\)\)\))343 848 +y Fu(=)-7 b Fp(\))21 b Fv(123)37 1073 y Fw(\(with-output-to-string)g +FD(thunk)5 b Fw(\))955 b FF(pro)q(cedure)37 1154 y(A)18 +b(string)g(p)q(ort)g(is)g(op)q(ened)h(for)f(output.)27 +b Fw(Current-output-port)16 b FF(is)i(set)g(to)f(it)h(and)g +FD(thunk)23 b FF(is)c(called.)37 1210 y(When)11 b(the)f +FD(thunk)15 b FF(returns,)c(the)f(previous)h(default)g(output)f(p)q +(ort)g(is)g(restored.)18 b Fw(With-output-to-string)37 +1267 y FF(returns)e(the)f(string)g(con)o(taining)h(all)g(the)f(text)g +(written)g(on)g(the)h(string)f(p)q(ort.)125 1370 y Fv +(\(with-output-to-)o(strin)o(g)k(\(lambda)h(\(\))i(\(write)e(123\))h +(\(write)g("Hello"\)\)\))343 1420 y Fu(=)-7 b Fp(\))21 +b Fv("123Hello")37 1644 y Fw(\(open-input-file)h FD(\014lename)s +Fw(\))1043 b FF(pro)q(cedure)37 1701 y Fw(\(open-output-file)22 +b FD(\014lename)s Fw(\))1019 b FF(pro)q(cedure)37 1782 +y FD(Identic)n(al)15 b(to)i(R)311 1765 y FA(4)331 1782 +y FD(RS.)37 1839 y Fn(Note:)36 b Fu(if)12 b Fn(f)d Fu(ilename)i(starts) +j(with)e(the)i(string)f Fv("|)21 b(")p Fu(,)12 b(these)j(pro)q(cedure)f +(return)g(a)f(pip)q(e)g(p)q(ort.)18 b(Consequen)o(tly)m(,)13 +b(it)f(is)37 1895 y(not)i(p)q(ossible)g(to)g(op)q(en)g(a)g(\014le)g +(whose)g(name)f(starts)i(with)f(those)g(t)o(w)o(o)g(c)o(haracters.)37 +2018 y Fw(\(open-input-string)22 b FD(string)t Fw(\))1046 +b FF(pro)q(cedure)37 2098 y(Returns)16 b(an)f(input)i(string)e(p)q(ort) +g(capable)h(of)f(deliv)o(ering)i(c)o(haracters)d(from)h +FD(string)s FF(.)37 2221 y Fw(\(open-output-string)n(\))1164 +b FF(pro)q(cedure)37 2301 y(Returns)16 b(an)f(output)g(string)h(p)q +(ort)e(capable)j(of)d(receiving)j(and)e(collecting)i(c)o(haracters.)37 +2424 y Fw(\(get-output-string)22 b FD(p)n(ort)t Fw(\))1082 +b FF(pro)q(cedure)37 2498 y(Returns)16 b(a)f(string)g(con)o(taining)h +(all)g(the)f(text)g(that)f(has)h(b)q(een)i(written)e(on)g(the)g(output) +g(string)g FD(p)n(ort)5 b FF(.)125 2588 y Fv(\(let)21 +b(\(\(p)g(\(open-output-str)o(ing\)\))o(\))168 2638 y(\(display)f +("Hello,)h(world")f(p\))168 2688 y(\(get-output-string)e(p\)\))343 +2738 y Fu(=)-7 b Fp(\))21 b Fv("Hello,)g(world")p eop %%Page: 24 24 -24 23 bop 75 47 a FC(24)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(Require)f FD(loads)h(the)h(\014le)g(whose)g -(name)e(is)i FB(string)j FD(if)13 b(it)h(w)o(as)h(not)f(previously)h -(\\pro)o(vided".)p Fu(Provide)d FD(p)q(ermits)75 229 -y(to)k(store)g FB(string)j FD(in)c(the)i(list)e(of)g(already)h(pro)o -(vided)f(\014les.)24 b(Pro)o(viding)15 b(a)h(\014le)f(p)q(ermits)h(to)f -(a)o(v)o(oid)g(subsequen)o(t)75 278 y(loads)e(of)h(this)g(\014le.)k -Fu(Provided?)12 b FD(returns)j Fu(#t)e FD(if)g FB(string)k -FD(w)o(as)d(already)g(pro)o(vided;)f(it)h(returns)h Fu(#f)e -FD(otherwise.)75 388 y Fu(\(transcript-on)19 b FB(\014lename)s -Fu(\))1082 b FD(pro)q(cedure)75 438 y Fu(\(transcript-off)m(\))1235 -b FD(pro)q(cedure)75 512 y(Not)14 b(implemen)o(ted.)75 -622 y Fu(\(open-file)20 b FB(\014lename)i(mo)n(de)s Fu(\))1054 -b FD(pro)q(cedure)75 696 y(Op)q(ens)18 b(the)f(\014le)f(whose)h(name)e -(is)i FB(\014lename)j FD(with)c(the)h(sp)q(eci\014ed)h -FB(mo)n(de)s FD(.)26 b FB(Mo)n(de)20 b FD(m)o(ust)15 -b(b)q(e)j(\\r")e(to)g(op)q(en)h(for)75 746 y(reading)c(or)f(\\w")g(to)h -(op)q(en)g(for)g(writing.)j(If)d(the)g(\014le)g(can)g(b)q(e)g(op)q -(ened,)h FB(op)n(en-\014le)i FD(returns)e(the)g(p)q(ort)f(asso)q -(ciated)75 796 y(with)h(the)g(giv)o(en)f(\014le,)h(otherwise)h(it)e -(returns)j Fu(#f)p FD(.)h(Here)e(again,)e(the)h(\\magic")d(string)j -Fu("|)22 b(``)13 b FD(p)q(ermit)g(to)h(op)q(en)75 846 -y(a)g(pip)q(e)g(p)q(ort.)75 956 y Fu(\(close-port)20 -b FB(p)n(ort)t Fu(\))1224 b FD(pro)q(cedure)75 1030 y(Closes)14 -b FB(p)n(ort)t FD(.)k(If)13 b FB(p)n(ort)18 b FD(denotes)d(a)e(string)h -(p)q(ort,)g(further)h(reading)f(or)f(writing)h(on)f(this)h(p)q(ort)g -(is)g(disallo)o(w)o(ed.)75 1140 y Fu(\(transcript-on)19 -b FB(\014lename)s Fu(\))1082 b FD(pro)q(cedure)75 1189 -y Fu(\(transcript-off)m(\))1235 b FD(pro)q(cedure)75 -1264 y(Not)14 b(implemen)o(ted.)75 1373 y Fu(\(port->string)19 -b FB(p)n(ort)t Fu(\))1181 b FD(pro)q(cedure)75 1423 y -Fu(\(port->list)20 b FB(r)n(e)n(ader)h(p)n(ort)t Fu(\))1091 -b FD(pro)q(cedure)75 1473 y Fu(\(port->string-lis)o(t)19 -b FB(p)n(ort)t Fu(\))1072 b FD(pro)q(cedure)75 1523 y -Fu(\(port->sexp-list)18 b FB(p)n(ort)t Fu(\))1116 b FD(pro)q(cedure)75 -1597 y(Those)19 b(pro)q(cedures)i(are)e(utilit)o(y)e(for)h(generally)g -(parsing)g(input)g(streams.)32 b(Their)19 b(sp)q(eci\014cation)g(has)f -(b)q(een)75 1647 y(stolen)c(from)e Fu(scsh)p FD(.)75 -1693 y Fu(Port->string)f FD(reads)k(the)g(input)e(p)q(ort)h(un)o(til)f -(eof,)h(then)g(returns)i(the)e(accum)o(ulated)f(string.)153 -1774 y Ft(\(port->stri)o(ng)j(\(open-inpu)o(t-)o(fil)o(e)g("|)j(\(echo) -f(AAA;)g(echo)g(BBB\)"\)\))703 1820 y Fs(=)-6 b Fn(\))19 -b Ft("AAA\\nBBB\\)o(n")153 1866 y(\(define)e(exec)310 -1911 y(\(lambda)g(\(command\))369 1957 y(\(call-with)o(-in)o(pu)o(t-f)o -(il)o(e)428 2003 y(\(string-ap)o(pe)o(nd)f("|)j(")g(command\))e -(port->str)o(ing)o(\)\))o(\))153 2094 y(\(exec)h("ls)h(-l"\))273 -b Fs(=)-6 b Fn(\))19 b Ft(a)g(string)f(which)f(contains)g(the)h(result) -g(of)g("ls)h(-l")75 2221 y Fu(Port->list)f FD(uses)j(the)f -FB(r)n(e)n(ader)j FD(function)d(to)f(rep)q(eatedly)i(read)g(ob)r(jects) -g(from)c FB(p)n(ort)t FD(.)36 b(Thes)20 b(ob)r(jects)h(are)75 -2266 y(accum)o(ulated)13 b(in)g(a)h(list)f(whic)o(h)h(is)g(returned)i -(up)q(on)d(eof.)153 2348 y Ft(\(port->list)j(read-line)g(\(open-inp)o -(ut-)o(fil)o(e)g("|)j(\(echo)f(AAA;)g(echo)g(BBB\)"\)\))703 -2393 y Fs(=)-6 b Fn(\))19 b Ft(\("AAA")e("BBB"\))75 2520 -y Fu(Port->string-list)10 b FD(reads)15 b(the)g(input)e(p)q(ort)i(line) -e(b)o(y)h(line)f(un)o(til)g(eof,)g(then)i(returns)g(the)g(accum)o -(ulated)e(list)75 2565 y(of)g(lines.)18 b(This)c(pro)q(cedure)i(is)e -(de\014ned)h(as)153 2647 y Ft(\(define)i(port->strin)o(g-)o(lis)o(t)f -(\(lambda)h(\(p\)\(port->)o(lis)o(t)g(read-lin)o(e)g(p\)\)\))75 -2773 y Fu(Port->sexp-list)9 b FD(rep)q(eatedly)k(reads)f(data)g(from)e -(the)i(p)q(ort)g(un)o(til)f(eof,)h(then)g(returns)i(the)e(accum)o -(ulated)f(list)75 2819 y(of)i(items.)k(This)d(pro)q(cedure)i(is)e -(de\014ned)h(as)p eop +24 23 bop 37 45 a FE(24)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(close-input-port)22 b FD(p)n(ort)t +Fw(\))1106 b FF(pro)q(cedure)37 247 y Fw(\(close-output-port)22 +b FD(p)n(ort)t Fw(\))1082 b FF(pro)q(cedure)37 328 y +FD(Identic)n(al)15 b(to)i(R)311 311 y FA(4)331 328 y +FD(RS.)37 450 y Fw(\(read\))1498 b FF(pro)q(cedure)37 +506 y Fw(\(read)24 b FD(p)n(ort)t Fw(\))1392 b FF(pro)q(cedure)37 +563 y Fw(\(read-char)o(\))1379 b FF(pro)q(cedure)37 619 +y Fw(\(read-char)23 b FD(p)n(ort)t Fw(\))1273 b FF(pro)q(cedure)37 +676 y Fw(\(peek-char)o(\))1379 b FF(pro)q(cedure)37 732 +y Fw(\(peek-char)23 b FD(p)n(ort)t Fw(\))1273 b FF(pro)q(cedure)37 +789 y Fw(\(char-ready?)o(\))1331 b FF(pro)q(cedure)37 +845 y Fw(\(char-ready?)23 b FD(p)n(ort)t Fw(\))1225 b +FF(pro)q(cedure)37 926 y FD(Identic)n(al)15 b(to)i(R)311 +909 y FA(4)331 926 y FD(RS.)37 1048 y Fw(\(read-line)o(\))1379 +b FF(pro)q(cedure)37 1105 y Fw(\(read-line)23 b FD(p)n(ort)t +Fw(\))1273 b FF(pro)q(cedure)37 1185 y(Reads)24 b(the)f(next)f(line)j +(a)o(v)m(ailable)f(from)e(the)h(input)g(p)q(ort)g FD(p)n(ort)k +FF(and)c(returns)g(it)g(as)f(a)g(string.)43 b(The)37 +1242 y(terminating)15 b(newline)i(is)e(not)f(included)j(in)f(the)f +(string.)k(If)c(no)g(more)f(c)o(haracters)g(are)g(a)o(v)m(ailable,)i +(an)e(end)37 1298 y(of)f(\014le)h(ob)s(ject)e(is)h(returned.)20 +b FD(Port)d FF(ma)o(y)12 b(b)q(e)h(omitted,)g(in)h(whic)o(h)g(case)e +(it)h(defaults)h(to)e(the)h(v)m(alue)h(returned)37 1355 +y(b)o(y)i Fw(current-input-port)p FF(.)37 1477 y Fw(\(write)24 +b FD(obj)7 b Fw(\))1385 b FF(pro)q(cedure)37 1533 y Fw(\(write)24 +b FD(obj)f(p)n(ort)t Fw(\))1287 b FF(pro)q(cedure)37 +1590 y Fw(\(display)23 b FD(obj)7 b Fw(\))1338 b FF(pro)q(cedure)37 +1646 y Fw(\(display)23 b FD(obj)h(p)n(ort)t Fw(\))1239 +b FF(pro)q(cedure)37 1703 y Fw(\(newline)o(\))1427 b +FF(pro)q(cedure)37 1759 y Fw(\(newline)23 b FD(p)n(ort)t +Fw(\))1321 b FF(pro)q(cedure)37 1816 y Fw(\(write-char)23 +b FD(char)5 b Fw(\))1240 b FF(pro)q(cedure)37 1872 y +Fw(\(write-char)23 b FD(char)h(p)n(ort)t Fw(\))1139 b +FF(pro)q(cedure)37 1953 y FD(Identic)n(al)15 b(to)i(R)311 +1936 y FA(4)331 1953 y FD(RS.)37 2075 y Fw(\(format)23 +b FD(p)n(ort)i(string)e Fz(obj)529 2082 y FA(1)572 2075 +y Fz(obj)633 2082 y FA(2)675 2075 y Fz(:)8 b(:)g(:)e +Fw(\))919 b FF(pro)q(cedure)37 2156 y(W)l(rites)19 b(the)g +FD(obj)7 b FF(s)18 b(to)g(the)h(giv)o(en)g FD(p)n(ort)5 +b FF(,)19 b(according)g(to)f(the)h(format)e(string)i +FD(string)s FF(.)30 b FD(String)22 b FF(is)d(written)37 +2212 y(literally)l(,)e(except)f(for)f(the)g(follo)o(wing)h(sequences:) +106 2309 y Fo(\017)22 b Fw(~)p FF(a)15 b(or)g Fw(~)p +FF(A)g(is)g(replaced)i(b)o(y)e(the)g(prin)o(ted)h(represen)o(tation)f +(of)g(the)g(next)h FD(obj)6 b FF(.)106 2405 y Fo(\017)22 +b Fw(~)p FF(s)15 b(or)g Fw(~)p FF(S)g(is)h(replaced)g(b)o(y)f(the)h +(\\slashi\014ed")g(prin)o(ted)g(represen)o(tation)f(of)g(the)g(next)g +FD(obj)7 b FF(.)106 2502 y Fo(\017)22 b Fw(~~)15 b FF(is)h(replaced)g +(b)o(y)f(a)g(single)i(tilde.)106 2598 y Fo(\017)22 b +Fw(~)p FF(\045)15 b(is)h(replaced)g(b)o(y)f(a)g(newline)37 +2688 y FD(Port)j FF(can)12 b(b)q(e)h(a)f(b)q(o)q(olean,)i(a)e(p)q(ort)g +(or)g(a)g(string)g(p)q(ort.)19 b(If)13 b FD(p)n(ort)k +FF(is)c Fw(#t)p FF(,)f(output)g(go)q(es)h(to)e(the)i(curren)o(t)f +(output)37 2738 y(p)q(ort;)i(if)h FD(p)n(ort)k FF(is)14 +b Fw(#f)p FF(,)g(the)g(output)g(is)g(returned)h(as)e(a)h(string.)20 +b(Otherwise,)14 b(the)h(output)e(is)i(prin)o(ted)g(on)f(the)37 +2787 y(sp)q(eci\014ed)k(p)q(ort.)p eop %%Page: 25 25 -25 24 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(25)p 75 64 1763 2 v 153 179 a Ft(\(define)17 b(port->sexp-)o(li)o(st) -f(\(lambda)h(\(p\))i(\(port->l)o(ist)d(read)i(p\)\)\))75 -311 y FD(F)m(or)d(instance,)i(the)f(follo)o(wing)d(expression)j(giv)o -(es)g(the)g(list)f(of)g(users)i(curren)o(tly)g(connected)g(on)f(the)g -(mac)o(hine)75 357 y(running)e(the)g Fz(STk)g FD(in)o(terpreter.)153 -446 y Ft(\(port->sexp)o(-l)o(ist)i(\(open-inp)o(ut-)o(fi)o(le)g("|)j -(users"\)\))75 672 y FG(6.11)56 b(Keyw)n(ords)75 754 -y FD(Keyw)o(ords)18 b(are)g(sym)o(b)q(olic)d(constan)o(ts)j(whic)o(h)g -(ev)n(aluate)e(to)i(themselv)o(es.)28 b(A)17 b(k)o(eyw)o(ord)g(m)o(ust) -g(b)q(egin)g(with)g(a)75 804 y(colon.)75 917 y Fu(\(keyword?)j -FB(obj)6 b Fu(\))1285 b FD(pro)q(cedure)75 993 y(Returns)15 -b Fu(#t)e FD(if)g FB(obj)20 b FD(is)14 b(a)f(k)o(eyw)o(ord,)h -(otherwise)h(returns)g Fu(#f)p FD(.)75 1118 y Fu(\(make-keyword)k -FB(obj)6 b Fu(\))1198 b FD(pro)q(cedure)75 1190 y(Builds)14 -b(a)f(k)o(eyw)o(ord)h(from)e(the)i(giv)o(en)f FB(obj)6 -b FD(.)18 b FB(obj)i FD(m)o(ust)12 b(b)q(e)j(a)e(sym)o(b)q(ol)f(or)i(a) -f(string.)18 b(A)c(colon)f(is)h(automatically)75 1236 -y(prep)q(ended.)153 1325 y Ft(\(make-keywo)o(rd)i("test"\))350 -1371 y Fs(=)-6 b Fn(\))19 b Ft(:test)153 1417 y(\(make-keywo)o(rd)d -('test\))350 1462 y Fs(=)-6 b Fn(\))19 b Ft(:test)153 -1508 y(\(make-keywo)o(rd)d(":hello"\))350 1553 y Fs(=)-6 -b Fn(\))19 b Ft(::hello)75 1763 y Fu(\(keyword->string)f -FB(keywor)n(d)t Fu(\))1044 b FD(pro)q(cedure)75 1835 -y(Returns)15 b(the)f(name)f(of)g FB(keywor)n(d)18 b FD(as)c(a)g -(string.)k(The)c(leading)f(colon)g(is)h(included)g(in)g(the)g(result.) -153 1924 y Ft(\(keyword->s)o(tr)o(ing)i(:test\))350 1970 -y Fs(=)-6 b Fn(\))19 b Ft(":test")75 2179 y Fu(\(get-keyword)g -FB(keywor)n(d)j(list)t Fu(\))1054 b FD(pro)q(cedure)75 -2229 y Fu(\(get-keyword)19 b FB(keywor)n(d)j(list)f(default)t -Fu(\))912 b FD(pro)q(cedure)75 2301 y FB(List)14 b FD(m)o(ust)c(b)q(e)i -(a)f(list)f(of)h(k)o(eyw)o(ords)g(and)g(their)g(resp)q(ectiv)o(e)i(v)n -(alues.)k Fu(Get-keyword)9 b FD(scans)j(the)f FB(list)j -FD(and)d(returns)75 2346 y(the)16 b(v)n(alue)e(asso)q(ciated)i(with)f -(the)g(giv)o(en)g FB(keywor)n(d)t FD(.)22 b(If)14 b(the)i -FB(keywor)n(d)j FD(do)q(es)d(not)f(app)q(ear)h(in)e(an)h(o)q(dd)g(p)q -(osition)75 2392 y(in)e FB(list)s FD(,)h(the)g(sp)q(eci\014ed)i -FB(default)h FD(is)d(returned,)h(or)f(an)g(error)h(is)e(raised)i(if)e -(no)g(default)h(w)o(as)g(sp)q(eci\014ed.)153 2481 y Ft(\(get-keywor)o -(d)i(:one)j('\(:one)e(1)i(:two)f(2\)\))350 2527 y Fs(=)-6 -b Fn(\))19 b Ft(1)153 2573 y(\(get-keywor)o(d)d(:four)i('\(:one)f(1)j -(:two)e(2\))h(#f\))350 2618 y Fs(=)-6 b Fn(\))19 b Ft(#f)153 -2664 y(\(get-keywor)o(d)d(:four)i('\(:one)f(1)j(:two)e(2\)\))350 -2710 y Fs(=)-6 b Fn(\))19 b Fi(error)p eop +25 24 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(25)p 37 64 1838 2 v 125 190 a Fv(\(format)20 b(#f)h("A)h(test."\))343 +240 y Fu(=)-7 b Fp(\))21 b Fv("A)h(test.")125 290 y(\(format)e(#f)h("A) +h(~a.")f("test"\))343 340 y Fu(=)-7 b Fp(\))21 b Fv("A)h(test.")125 +390 y(\(format)e(#f)h("A)h(~s.")f("test"\))343 439 y +Fu(=)-7 b Fp(\))21 b Fv("A)h(\\"test\\".")37 687 y Fw +(\(get-output-string)g FD(p)n(ort)t Fw(\))1082 b FF(pro)q(cedure)37 +764 y(Returns)16 b(the)g(string)f(asso)q(ciated)g(with)h(the)f(output)g +(string)g FD(p)n(ort)5 b FF(.)125 871 y Fv(\(let)21 b(\(\(p)g +(\(open-output-str)o(ing\)\))o(\))168 921 y(\(display)f("Hello,)h +(world")f(p\))168 971 y(\(get-output-string)e(p\)\))343 +1020 y Fu(=)-7 b Fp(\))21 b Fv("Hello,)g(world")37 1268 +y Fw(\(flush\))1474 b FF(pro)q(cedure)37 1324 y Fw(\(flush)24 +b FD(p)n(ort)t Fw(\))1368 b FF(pro)q(cedure)37 1408 y(Flushes)20 +b(the)f(bu\013er)g(asso)q(ciated)g(with)g(the)g(giv)o(en)g +FD(p)n(ort)5 b FF(.)30 b(The)19 b FD(p)n(ort)k FF(argumen)o(t)18 +b(ma)o(y)g(b)q(e)i(omitted,)f(in)37 1465 y(whic)o(h)e(case)e(it)g +(defaults)h(to)e(the)i(v)m(alue)g(returned)g(b)o(y)f +Fw(current-output-port)p FF(.)37 1613 y Fw(\(when-port-readable)22 +b FD(p)n(ort)i(hand)r(ler)5 b Fw(\))884 b FF(pro)q(cedure)37 +1670 y Fw(\(when-port-readable)22 b FD(p)n(ort)t Fw(\))1058 +b FF(pro)q(cedure)37 1754 y(When)14 b FD(p)n(ort)19 b +FF(is)14 b(ready)f(for)g(reading,)h FD(hand)r(ler)5 b +FF(,)14 b(whic)o(h)g(m)o(ust)f(b)q(e)h(a)f(th)o(unk,)h(is)g(called)h +(lea)o(ving)f(the)g(curren)o(t)37 1810 y(ev)m(aluation)j(susp)q(ended.) +23 b(When)16 b FD(hand)r(ler)k FF(execution)d(is)f(terminated,)f +(normal)h(ev)m(aluation)g(is)g(resumed)37 1867 y(at)i(its)g(susp)q +(ension)h(p)q(oin)o(t.)29 b(If)18 b(the)g(sp)q(ecial)i(v)m(alue)f +Fw(#f)f FF(is)g(pro)o(vided)h(as)f FD(hand)r(ler)5 b +FF(,)18 b(the)g(curren)o(t)g(handler)37 1923 y(for)f +FD(p)n(ort)23 b FF(is)18 b(deleted.)28 b(If)18 b(a)f(handler)i(is)f +(pro)o(vided,)g(the)g(v)m(alue)h(returned)f(b)o(y)f Fw +(when-port-readable)e FF(is)37 1979 y(unde\014ned.)22 +b(Otherwise,)16 b(it)f(returns)g(the)h(handler)g(curren)o(tly)g(asso)q +(ciated)f(to)g FD(p)n(ort)t FF(.)37 2033 y(The)j(example)g(b)q(elo)o(w) +g(sho)o(ws)e(a)h(simple)i(usage)e(of)f(the)h Fw(when-port-readable)e +FF(pro)q(cedure:)25 b(the)17 b(com-)37 2083 y(mand)f +FD(cmd)k FF(is)c(run)f(with)h(its)f(output)g(redirected)h(in)g(a)f(pip) +q(e)i(asso)q(ciated)e(to)g(the)g FD(p)k FF(Sc)o(heme)c(p)q(ort.)125 +2190 y Fv(\(define)20 b(p)i(\(open-input-fil)o(e)d("|)i(cmd"\)\))125 +2239 y(\(when-port-reada)o(ble)e(p)386 2289 y(\(lambda\(\))430 +2339 y(\(let)i(\(\()g(l)h(\(read-line)d(p\)\)\))473 2389 +y(\(if)j(\(eof-object?)d(l\))561 2439 y(\(begin)604 2488 +y(;;)i(delete)g(handler)604 2538 y(\(when-port-readabl)o(e)e(p)j(#f\)) +604 2588 y(;;)f(and)h(close)e(port)604 2638 y(\(close-input-port)e +(p\)\))561 2688 y(\(format)i(#t)h("Line)g(read:)g(~A\\n")g(l\)\)\)\)\)) +p eop %%Page: 26 26 -26 25 bop 75 47 a FC(26)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FG(6.12)56 b(Tk)18 b(commands)75 -257 y FD(As)e(w)o(e)f(men)o(tioned)f(in)g(the)i(in)o(tro)q(duction,)f -Fz(STk)g FD(can)h(easily)e(comm)o(unicate)f(with)i(the)g(Tk)g(to)q -(olkit.)21 b(All)14 b(the)75 306 y(commands)f(de\014ned)k(b)o(y)e(the)i -(Tk)e(to)q(olkit)g(are)h(visible)f(as)g Fu(Tk-command)p -FD(s,)f(a)i(basic)f(t)o(yp)q(e)i(recognized)f(b)o(y)g(the)75 -356 y(in)o(terpreter.)21 b Fu(Tk-command)p FD(s)13 b(can)i(b)q(e)g -(called)f(lik)o(e)f(regular)i(sc)o(heme)f(pro)q(cedures,)j(serving)d -(as)h(an)f(en)o(try)h(p)q(oin)o(t)75 406 y(in)o(to)e(the)i(Tk)e -(library)m(.)75 488 y Fl(Note:)50 b Fs(Some)18 b Ft(Tk-comman)o(d)p -Fs(s)c(can)k(dynamically)j(create)c(other)h Ft(Tk-comman)o(d)p -Fs(s.)27 b(F)m(or)17 b(instance,)j(execution)f(of)e(the)75 -533 y(expression)153 615 y Ft(\(label)h('.lab\))75 746 -y Fs(will)11 b(create)f(a)g(new)g Ft(Tk-command)c Fs(called)12 -b(\\)p Fl(.lab)q Fs(".)k(This)10 b(new)g(ob)r(ject,)h(whic)o(h)f(w)o -(as)g(created)g(b)o(y)h(a)e(primitiv)o(e)k Ft(Tk-comman)o(d)p -Fs(,)75 795 y(will)i(b)q(e)e(called)i(a)e Fl(widget)r -Fs(.)75 846 y Fl(Note:)31 b Fs(When)12 b(a)f(new)h(widget)g(is)g -(created,)f(it)h(captures)g(its)g(creation)h(en)o(vironmen)o(t.)18 -b(This)12 b(p)q(ermits)g(to)g(ha)o(v)o(e)f(bindings)75 -896 y(whic)o(h)j(access)f(v)n(ariables)j(in)d(the)h(scop)q(e)f(of)g -(the)g(widget)h(creation)g(call)h(\(see)e(6.17\).)75 -1003 y Fu(\(tk-command?)19 b FB(obj)6 b Fu(\))1220 b -FD(pro)q(cedure)75 1073 y(Returns)15 b Fu(#t)e FD(if)g -FB(obj)20 b FD(is)14 b(a)f Fu(Tk-command)p FD(,)f(otherwise)j(returns)g -Fu(#f)p FD(.)153 1154 y Ft(\(tk-command)o(?)h(label\))350 -1200 y Fs(=)-6 b Fn(\))19 b Ft(#t)153 1246 y(\(begin)f(\(label)f -('.lab\))g(\(tk-comman)o(d?)f(.lab\)\))350 1291 y Fs(=)-6 -b Fn(\))19 b Ft(#t)153 1337 y(\(tk-command)o(?)d(12\))350 -1383 y Fs(=)-6 b Fn(\))19 b Ft(#f)75 1573 y Fu(\(widget?)h -FB(obj)6 b Fu(\))1307 b FD(pro)q(cedure)75 1643 y(Returns)20 -b Fu(#t)f FD(if)f FB(obj)25 b FD(is)19 b(a)g(widget,)h(otherwise)g -(returns)h Fu(#f)p FD(.)34 b(A)19 b(widget)g(is)g(a)g -Fu(Tk-command)e FD(created)k(b)o(y)e(a)75 1689 y(primitiv)o(e)12 -b Fu(Tk-command)f FD(suc)o(h)k(as)f Fu(button)p FD(,)e -Fu(label)p FD(,)h Fu(menu)p FD(,)f(etc.)153 1770 y Ft(\(widget?)17 -b(label\))350 1816 y Fs(=)-6 b Fn(\))19 b Ft(#f)153 1861 -y(\(begin)f(\(label)f('.lab\))g(\(widget?)g(.lab\)\))350 -1907 y Fs(=)-6 b Fn(\))19 b Ft(#t)153 1953 y(\(widget?)e(12\))350 -1998 y Fs(=)-6 b Fn(\))19 b Ft(#f)75 2189 y Fu(\(widget->string)g -FB(widget)t Fu(\))1095 b FD(pro)q(cedure)75 2259 y(Returns)15 -b(the)f(widget)g(name)f(of)g FB(widget)k FD(as)d(a)g(string.)153 -2340 y Ft(\(begin)k(\(label)f('.lab\))g(\(widget->s)o(tri)o(ng)f -(.lab\)\))350 2386 y Fs(=)-6 b Fn(\))19 b Ft(".lab")75 -2576 y Fu(\(string->widget)g FB(str)t Fu(\))1160 b FD(pro)q(cedure)75 -2646 y(Returns)15 b(the)f(widget)g(whose)g(name)f(is)h -FB(str)j FD(if)d(it)f(exists;)h(otherwise)h(returns)g -Fu(#f)p FD(.)153 2728 y Ft(\(begin)j(\(label)f('.lab\))g(\(string->w)o -(idg)o(et)f(".lab"\)\))350 2773 y Fs(=)-6 b Fn(\))19 -b Ft(the)g(Tk-comma)o(nd)d(named)i(".lab")p eop +26 25 bop 37 45 a FE(26)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(when-port-writable)22 b +FD(p)n(ort)i(hand)r(ler)5 b Fw(\))884 b FF(pro)q(cedure)37 +247 y Fw(\(when-port-writable)22 b FD(p)n(ort)t Fw(\))1058 +b FF(pro)q(cedure)37 327 y(When)15 b FD(p)n(ort)j FF(is)d(ready)e(for)h +(writing,)g FD(hand)r(ler)5 b FF(,)14 b(whic)o(h)g(m)o(ust)g(b)q(e)g(a) +g(th)o(unk,)g(is)g(called)h(lea)o(ving)g(the)f(curren)o(t)37 +384 y(ev)m(aluation)j(susp)q(ended.)23 b(When)16 b FD(hand)r(ler)k +FF(execution)d(is)f(terminated,)f(normal)h(ev)m(aluation)g(is)g +(resumed)37 440 y(at)i(its)g(susp)q(ension)h(p)q(oin)o(t.)29 +b(If)18 b(the)g(sp)q(ecial)i(v)m(alue)f Fw(#f)f FF(is)g(pro)o(vided)h +(as)f FD(hand)r(ler)5 b FF(,)18 b(the)g(curren)o(t)g(handler)37 +497 y(for)f FD(p)n(ort)23 b FF(is)18 b(deleted.)28 b(If)18 +b(a)f(handler)i(is)f(pro)o(vided,)g(the)g(v)m(alue)h(returned)f(b)o(y)f +Fw(when-port-writable)e FF(is)37 553 y(unde\014ned.)22 +b(Otherwise,)16 b(it)f(returns)g(the)h(handler)g(curren)o(tly)g(asso)q +(ciated)f(to)g FD(p)n(ort)t FF(.)37 673 y Fw(\(load)24 +b FD(\014lename)s Fw(\))1305 b FF(pro)q(cedure)37 729 +y Fw(\(load)24 b FD(\014lename)e(mo)n(dule)s Fw(\))1145 +b FF(pro)q(cedure)37 810 y(The)14 b(\014rst)e(form)h(is)g(iden)o(tical) +i(to)e FD(R)637 793 y FA(4)649 810 y Fz(RS)s FF(.)18 +b(The)c(second)f(one)h(loads)f(the)g(con)o(ten)o(t)f(of)h +FD(\014lename)i FF(in)f(the)f(giv)o(en)37 866 y FD(mo)n(dule)20 +b FF(en)o(vironmen)o(t.)h Fn(Note:)39 b Fu(The)14 b Fn(lo)n(ad)19 +b Fu(primitiv)o(e)12 b(has)i(b)q(een)i(extended)g(to)e(allo)o(w)f +(loading)f(of)i(ob)r(ject)h(\014les,)37 923 y(though)d(this)g(is)g(not) +g(implemen)o(ted)e(on)i(all)f(systems.)17 b(This)12 b(extension)h(uses) +g(dynamic)e(loading)f(on)i(systems)g(whic)o(h)37 979 +y(supp)q(ort)j(it)233 964 y Fm(3)251 979 y Fu(.)j(See)d([4)o(])f(for)f +(more)g(details.)37 1099 y Fw(\(try-load)23 b FD(\014lename)s +Fw(\))1210 b FF(pro)q(cedure)37 1156 y Fw(\(try-load)23 +b FD(\014lename)g(mo)n(dule)s Fw(\))1049 b FF(pro)q(cedure)37 +1236 y(T)l(ries)20 b(to)e(load)h(the)g(\014le)h(named)f +FD(\014lename)s FF(.)30 b(If)19 b FD(\014lename)j FF(exists)d(and)g(is) +g(readable,)h(it)f(is)h(loaded,)g(and)37 1292 y Fw(try-load)e +FF(returns)g Fw(#t)p FF(.)30 b(Otherwise,)20 b(the)f(result)g(of)f(the) +h(call)h(is)f Fw(#f)p FF(.)30 b(The)19 b(second)g(form)f(of)g +FD(try-lo)n(ad)37 1349 y FF(tries)e(to)e(load)i(the)f(con)o(ten)o(t)g +(of)g FD(\014lename)i FF(in)f(the)f(giv)o(en)h FD(mo)n(dule)j +FF(en)o(vironmen)o(t.)37 1469 y Fw(\(autoload)k FD(\014lename)g +Fo(h)p FF(sym)o(b)q(ol)623 1476 y FA(1)643 1469 y Fo(i)g(h)p +FF(sym)o(b)q(ol)842 1476 y FA(2)862 1469 y Fo(i)h Fz(:)8 +b(:)g(:)d Fw(\))757 b FF(syn)o(tax)37 1549 y(De\014nes)22 +b Fo(h)p FF(sym)o(b)q(ol)p Fo(i)p FF(s)e(as)h(autoload)f(sym)o(b)q(ols) +h(asso)q(ciated)g(to)f(\014le)i FD(\014lename)s FF(.)36 +b(First)21 b(ev)m(aluation)h(of)e(an)37 1606 y(autoload)f(sym)o(b)q(ol) +h(will)g(cause)g(the)f(loading)h(of)f(its)g(asso)q(ciated)g(\014le)h +(in)g(the)f(mo)q(dule)i(en)o(vironmen)o(t)e(in)37 1662 +y(whic)o(h)d(the)g(autoload)e(w)o(as)h(done.)20 b FD(Filename)d +FF(m)o(ust)e(pro)o(vide)g(a)g(de\014nition)i(for)e(the)g(sym)o(b)q(ol)g +(whic)o(h)h(lead)37 1718 y(to)f(its)g(loading,)h(otherwise)g(an)f +(error)f(is)i(signaled.)37 1838 y Fw(\(autoload?)23 b +FD(symb)n(ol)g(mo)n(dule)s Fw(\))1059 b FF(pro)q(cedure)37 +1919 y(Returns)16 b Fw(#t)f FF(if)h FD(symb)n(ol)j FF(is)d(an)f +(autoload)g(sym)o(b)q(ol)g(in)h FD(mo)n(dule)j FF(en)o(vironmen)o(t)c +(;)g(returns)g Fw(#f)g FF(otherwise.)37 2039 y Fw(\(require)23 +b FD(string)t Fw(\))1285 b FF(pro)q(cedure)37 2095 y +Fw(\(provide)23 b FD(string)t Fw(\))1285 b FF(pro)q(cedure)37 +2152 y Fw(\(provided?)23 b FD(string)t Fw(\))1237 b FF(pro)q(cedure)37 +2232 y Fw(Require)21 b FF(loads)h(the)g(\014le)h(whose)e(name)h(is)g +FD(string)j FF(if)d(it)g(w)o(as)f(not)g(previously)i(\\pro)o(vided".)p +Fw(Provide)37 2288 y FF(p)q(ermits)17 b(to)e(store)g +FD(string)k FF(in)e(the)f(list)h(of)e(already)h(pro)o(vided)h(\014les.) +23 b(Pro)o(viding)16 b(a)g(\014le)h(p)q(ermits)f(to)f(a)o(v)o(oid)37 +2345 y(subsequen)o(t)h(loads)f(of)g(this)h(\014le.)k +Fw(Provided?)14 b FF(returns)h Fw(#t)g FF(if)g FD(string)k +FF(w)o(as)14 b(already)h(pro)o(vided;)h(it)f(returns)37 +2401 y Fw(#f)g FF(otherwise.)37 2521 y Fw(\(transcript-on)22 +b FD(\014lename)s Fw(\))1091 b FF(pro)q(cedure)37 2578 +y Fw(\(transcript-off)n(\))1260 b FF(pro)q(cedure)37 +2658 y(Not)15 b(implemen)o(ted.)p 37 2699 735 2 v 89 +2726 a Ft(3)107 2742 y Fs(Curren)o(t)23 b(v)o(ersion)i(\(3.99\))f(allo) +o(ws)h(dynamic)g(loading)h(only)f(on)f(some)g(platforms:)39 +b(SunOs)24 b(4.1.x,)i(SunOs)e(5.x,)37 2787 y(NetBSD)14 +b(1.0,)e(Lin)o(ux)j(2.0,)d(HPUX,)g(Irix)i(5.3)p eop %%Page: 27 27 -27 26 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(27)p 75 64 1763 2 v 75 179 a Fu(\(widget-name)19 b -FB(widget)t Fu(\))1161 b FD(pro)q(cedure)75 248 y(Returns)15 -b(the)f(widget)g(name)f(of)g FB(widget)k FD(as)d(a)g(sym)o(b)q(ol.)153 -329 y Ft(\(begin)k(\(label)f('.lab\))g(\(widget->n)o(ame)f(.lab\)\))350 -374 y Fs(=)-6 b Fn(\))19 b Ft(.lab)75 562 y Fu(\(set-widget-data!)f -FB(widget)k(expr)t Fu(\))953 b FD(pro)q(cedure)75 636 -y Fu(Set-widget-data!)13 b FD(asso)q(ciates)18 b(arbitrary)e(data)g -(with)g(a)g FB(widget)t FD(.)26 b(The)17 b(system)f(mak)o(es)f(no)h -(assumptions)75 685 y(ab)q(out)f(the)h(t)o(yp)q(e)g(of)f -Fu(expr)p FD(;)f(the)i(data)f(is)g(for)g(programmer)e(con)o(v)o -(enience)k(only)m(.)k(As)15 b(sho)o(wn)h(b)q(elo)o(w,)f(it)g(could)75 -735 y(b)q(e)g(used)f(as)g(a)g(kind)f(of)h(prop)q(ert)o(y)g(list)g(for)f -(widgets.)75 843 y Fu(\(get-widget-data)18 b FB(widget)t -Fu(\))1074 b FD(pro)q(cedure)75 913 y(Returns)15 b(the)f(data)g -(previously)f(asso)q(ciated)i(with)f FB(widget)j FD(if)c(it)h(exists;)g -(otherwise)g(returns)i Fu(#f)p FD(.)153 993 y Ft(\(begin)212 -1039 y(\(set-widge)o(t-d)o(ata)o(!)g(.w)j('\(:mapped)d(#t)j(:geometry)d -("10x50"\)\))212 1084 y(\(get-keywo)o(rd)g(:mapped)h(\(get-widge)o(t-d) -o(at)o(a)g(.w\)\)\))350 1130 y Fs(=)-6 b Fn(\))19 b Ft(#t)75 -1329 y FG(6.13)56 b(Mo)r(dules)75 1407 y Fz(STk)18 b -FD(mo)q(dules)e(can)i(b)q(e)h(used)f(to)g(organize)f(a)g(program)f(in)o -(to)h(separate)i(en)o(vironmen)o(ts)e(\(or)p FB(name)i(sp)n(ac)n(es)s -FD(\).)75 1456 y(Mo)q(dules)e(pro)o(vide)e(a)h(clean)h(w)o(a)o(y)e(to)h -(organize)g(and)g(enforce)h(the)g(barriers)g(b)q(et)o(w)o(een)h(the)e -(comp)q(onen)o(ts)g(of)g(a)75 1506 y(program.)75 1556 -y Fz(STk)g FD(pro)o(vides)g(a)f(simple)f(mo)q(dule)g(system)i(whic)o(h) -f(is)h(largely)f(inspired)h(from)d(the)k(one)f(of)f(T)m(ung)g(and)g -(Dyb-)75 1606 y(vig)h(exp)q(osed)i(in)f([5)o(].)27 b(As)18 -b(their)f(mo)q(dules)f(system,)h Fz(STk)h FD(mo)q(dules)e(are)h -(de\014ned)h(to)f(b)q(e)h(easily)e(used)i(in)f(an)75 -1656 y(in)o(teractiv)o(e)d(en)o(vironmen)o(t.)75 1762 -y Fu(\(define-module)19 b FB(name)j Fm(h)p FD(b)q(o)q(dy)p -Fm(i)q Fu(\))1052 b FD(syn)o(tax)75 1836 y FB(De\014ne-mo)n(dule)21 -b FD(ev)n(aluates)c(the)g(expressions)i(whic)o(h)d(are)i(in)e -Fm(h)p FD(b)q(o)q(dy)p Fm(i)h FD(in)f(the)i(en)o(vironmen)o(t)d(of)i -(the)g(mo)q(dule)75 1886 y FB(name)t FD(.)g FB(name)e -FD(m)o(ust)c(b)q(e)h(a)g(v)n(alid)e(sym)o(b)q(ol.)15 -b(If)d(this)f(sym)o(b)q(ol)f(has)i(not)g(already)f(b)q(een)i(used)g(to) -e(de\014ne)i(a)e(mo)q(dule,)75 1936 y(a)i(new)g(mo)q(dule,)e(named)h -FB(name)s FD(,)h(is)f(created.)20 b(Otherwise,)14 b Fm(h)p -FD(b)q(o)q(dy)p Fm(i)f FD(is)g(ev)n(aluated)f(in)g(the)i(en)o(vironmen) -o(t)e(of)g(the)75 1986 y(\(old\))h(mo)q(dule)g FB(name)424 -1970 y Fy(3)442 1986 y FD(.)75 2032 y(De\014nitions)i(done)g(in)g(a)g -(mo)q(dule)f(are)h(lo)q(cal)g(to)g(the)h(mo)q(dule)d(and)i(do)g(not)g -(in)o(teract)h(with)f(the)h(de\014nitions)f(of)75 2077 -y(other)g(mo)q(dules.)h(Consider)f(the)f(follo)o(wing)e(de\014nitions,) -193 2158 y Ft(\(define-m)o(od)o(ule)k(M1)252 2203 y(\(define)g(a)k -(1\)\))193 2295 y(\(define-m)o(od)o(ule)c(M2)232 2340 -y(\(define)h(a)i(2\))232 2386 y(\(define)e(b)i(\(*)g(2)g(x\)\)\))75 -2516 y FD(Here,)c(t)o(w)o(o)e(mo)q(dules)g(are)h(de\014ned)h(and)e -(they)i(b)q(oth)f(bind)f(the)h(sym)o(b)q(ol)e Fu(a)i -FD(to)g(a)f(v)n(alue.)k(Ho)o(w)o(ev)o(er,)d(since)h Fu(a)e -FD(has)75 2565 y(b)q(een)i(de\014ned)g(in)e(t)o(w)o(o)h(distincts)g(mo) -q(dules)f(they)i(denote)f(t)o(w)o(o)g(di\013eren)o(t)h(lo)q(cations.)75 -2616 y(The)e(\\)p Fu(STk)p FD(")f(mo)q(dule,)f(whic)o(h)i(is)g -(prede\014ned,)h(is)f(a)f(sp)q(ecial)h(mo)q(dule)f(whic)o(h)h(con)o -(tains)f(all)g(the)h FB(glob)n(al)h(variables)75 2665 -y FD(of)h(a)g FB(R)190 2650 y Fy(4)202 2665 y Fx(RS)j -FD(program.)k(A)15 b(sym)o(b)q(ol)f(de\014ned)j(in)e(the)h -Fu(STk)f FD(mo)q(dule,)f(if)g(not)i(hidden)f(b)o(y)h(a)f(lo)q(cal)g -(de\014nition,)g(is)p 75 2701 705 2 v 121 2728 a Fr(3)139 -2740 y Fq(In)9 b(fact)h Fo(define-mod)o(ule)d Fq(on)j(a)g(giv)o(en)f -(name)g(de\014nes)g(a)h(new)h(mo)q(dule)d(only)h(the)h(\014rst)g(time)f -(it)h(is)h(in)o(v)o(ok)o(ed)d(on)i(this)f(name.)14 b(By)75 -2779 y(this)d(w)o(a)o(y)m(,)g(in)o(teactiv)o(ely)d(reloading)h(a)j(mo)q -(dule)d(do)q(es)i(not)f(de\014ne)g(a)i(new)f(en)o(tit)o(y)m(,)f(and)g -(the)h(other)f(mo)q(dules)g(whic)o(h)h(use)f(it)i(are)f(not)75 -2819 y(altered.)p eop +27 26 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(27)p 37 64 1838 2 v 37 190 a Fw(\(open-file)23 b FD(\014lename)g(mo)n +(de)s Fw(\))1061 b FF(pro)q(cedure)37 271 y(Op)q(ens)19 +b(the)e(\014le)g(whose)g(name)g(is)g FD(\014lename)j +FF(with)d(the)g(sp)q(eci\014ed)i FD(mo)n(de)s FF(.)25 +b FD(Mo)n(de)20 b FF(m)o(ust)c(b)q(e)i(\\r")e(to)g(op)q(en)37 +327 y(for)h(reading)g(or)g(\\w")f(to)g(op)q(en)i(for)e(writing.)26 +b(If)17 b(the)g(\014le)h(can)f(b)q(e)h(op)q(ened,)g FD(op)n(en-\014le)h +FF(returns)e(the)g(p)q(ort)37 384 y(asso)q(ciated)f(with)g(the)g(giv)o +(en)f(\014le,)i(otherwise)e(it)h(returns)f Fw(#f)p FF(.)21 +b(Here)15 b(again,)h(the)f(\\magic")g(string)h Fw("|)23 +b(``)37 440 y FF(p)q(ermit)16 b(to)f(op)q(en)h(a)f(pip)q(e)h(p)q(ort.) +37 558 y Fw(\(close-port)23 b FD(p)n(ort)t Fw(\))1249 +b FF(pro)q(cedure)37 639 y(Closes)13 b FD(p)n(ort)5 b +FF(.)19 b(If)12 b FD(p)n(ort)17 b FF(denotes)c(a)e(string)i(p)q(ort,)f +(further)g(reading)h(or)f(writing)g(on)h(this)f(p)q(ort)g(is)h(disallo) +o(w)o(ed.)37 814 y Fw(\(transcript-on)22 b FD(\014lename)s +Fw(\))1091 b FF(pro)q(cedure)37 870 y Fw(\(transcript-off)n(\))1260 +b FF(pro)q(cedure)37 950 y(Not)15 b(implemen)o(ted.)37 +1069 y Fw(\(port->string)23 b FD(p)n(ort)t Fw(\))1201 +b FF(pro)q(cedure)37 1125 y Fw(\(port->list)23 b FD(r)n(e)n(ader)h(p)n +(ort)t Fw(\))1103 b FF(pro)q(cedure)37 1182 y Fw(\(port->string-list)22 +b FD(p)n(ort)t Fw(\))1082 b FF(pro)q(cedure)37 1238 y +Fw(\(port->sexp-list)22 b FD(p)n(ort)t Fw(\))1130 b FF(pro)q(cedure)37 +1318 y(Those)14 b(pro)q(cedures)g(are)f(utilit)o(y)h(for)e(generally)j +(parsing)e(input)h(streams.)19 b(Their)14 b(sp)q(eci\014cation)h(has)e +(b)q(een)37 1375 y(stolen)j(from)f Fw(scsh)p FF(.)37 +1425 y Fw(Port->string)f FF(reads)h(the)g(input)i(p)q(ort)d(un)o(til)j +(eof,)d(then)i(returns)f(the)g(accum)o(ulated)h(string.)125 +1513 y Fv(\(port->string)j(\(open-input-file)f("|)k(\(echo)e(AAA;)h +(echo)g(BBB\)"\)\))735 1563 y Fu(=)-7 b Fp(\))22 b Fv("AAA\\nBBB\\n") +125 1612 y(\(define)e(exec)299 1662 y(\(lambda)g(\(command\))364 +1712 y(\(call-with-input-fi)o(le)430 1762 y(\(string-append)f("|)i(")h +(command\))e(port->string\)\)\))125 1861 y(\(exec)g("ls)i(-l"\))304 +b Fu(=)-7 b Fp(\))22 b Fv(a)f(string)g(which)f(contains)h(the)g(result) +f(of)i("ls)f(-l")37 1999 y Fw(Port->list)15 b FF(uses)g(the)h +FD(r)n(e)n(ader)k FF(function)c(to)f(rep)q(eatedly)i(read)e(ob)s(jects) +g(from)g FD(p)n(ort)t FF(.)21 b(Thes)15 b(ob)s(jects)g(are)37 +2049 y(accum)o(ulated)h(in)g(a)f(list)h(whic)o(h)g(is)g(returned)g(up)q +(on)g(eof.)125 2137 y Fv(\(port->list)j(read-line)h(\(open-input-file)f +("|)i(\(echo)g(AAA;)g(echo)g(BBB\)"\)\))735 2187 y Fu(=)-7 +b Fp(\))22 b Fv(\("AAA")e("BBB"\))37 2324 y Fw(Port->string-list)12 +b FF(reads)i(the)g(input)h(p)q(ort)e(line)j(b)o(y)e(line)i(un)o(til)f +(eof,)e(then)h(returns)g(the)g(accum)o(ulated)37 2374 +y(list)j(of)d(lines.)22 b(This)16 b(pro)q(cedure)g(is)f(de\014ned)i(as) +125 2462 y Fv(\(define)j(port->string-list)e(\(lambda)j +(\(p\)\(port->list)e(read-line)g(p\)\)\))37 2600 y Fw(Port->sexp-list) +10 b FF(rep)q(eatedly)i(reads)f(data)g(from)g(the)g(p)q(ort)g(un)o(til) +h(eof,)g(then)g(returns)f(the)g(accum)o(ulated)37 2650 +y(list)17 b(of)d(items.)20 b(This)c(pro)q(cedure)g(is)g(de\014ned)h(as) +125 2738 y Fv(\(define)j(port->sexp-list)f(\(lambda)h(\(p\))h +(\(port->list)f(read)h(p\)\)\))p eop %%Page: 28 28 -28 27 bop 75 47 a FC(28)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FD(alw)o(a)o(ys)d(visible)g(from)f(inside)h(a)h -(mo)q(dule.)k(So,)11 b(in)g(the)i(previous)f(exemple,)f(the)h -Fu(x)f FD(sym)o(b)q(ol)f(refers)k(the)e Fu(x)f FD(sym)o(b)q(ol)75 -229 y(de\014ned)k(in)e(the)i Fu(STk)e FD(mo)q(dule.)75 -279 y(The)h(result)h(of)e FB(de\014ne-mo)n(dule)18 b -FD(is)c(unde\014ned.)75 387 y Fu(\(find-module)19 b FB(name)s -Fu(\))1179 b FD(pro)q(cedure)75 437 y Fu(\(find-module)19 -b FB(name)k(default)t Fu(\))1034 b FD(pro)q(cedure)75 -511 y Fz(STk)16 b FD(mo)q(dules)f(are)h(\014rst)g(class)g(ob)r(jects)h -(and)e Fu(find-module)f FD(returns)j(the)f(mo)q(dule)e(asso)q(ciated)j -(to)e FB(name)k FD(if)75 561 y(it)14 b(exists.)22 b(If)14 -b(there)i(is)f(no)f(mo)q(dule)f(asso)q(ciated)j(to)e -FB(name)t FD(,)h(an)f(error)i(is)e(signaled)h(if)e(no)i -FB(default)j FD(is)d(pro)o(vided,)75 610 y(otherwise)g -Fu(find-module)c FD(returns)16 b(default.)75 719 y Fu(\(module?)k -FB(obje)n(ct)t Fu(\))1259 b FD(pro)q(cedure)75 788 y(Returns)15 -b Fu(#t)e FD(if)g FB(obje)n(ct)18 b FD(is)c(a)f(mo)q(dule)g(and)g -Fu(#f)h FD(otherwise.)193 869 y Ft(\(module?)i(\(find-modu)o(le)g -('STk\)\))350 915 y Fs(=)-6 b Fn(\))19 b Ft(#t)193 960 -y(\(module?)d('STk\))350 1006 y Fs(=)-6 b Fn(\))19 b -Ft(#f)193 1052 y(\(module?)d(1\))350 1097 y Fs(=)-6 b -Fn(\))19 b Ft(#f)75 1285 y Fu(\(export)h Fm(h)p FD(sym)o(b)q(ol)395 -1291 y Fy(1)412 1285 y Fm(i)i(h)p FD(sym)o(b)q(ol)596 -1291 y Fy(2)613 1285 y Fm(i)p FB(.)6 b(.)g(.)g Fu(\))1011 -b FD(syn)o(tax)75 1359 y(Sp)q(eci\014es)18 b(the)g(sym)o(b)q(ols)d -(whic)o(h)i(are)g(exp)q(orted)h(\(i.e.)26 b FB(visible)s -FD(\))16 b(outside)h(the)h(curren)o(t)g(mo)q(dule.)25 -b(By)17 b(default,)75 1409 y(sym)o(b)q(ols)g(de\014ned)j(in)f(a)g(mo)q -(dule)e(are)i(not)g(visible)f(outside)i(this)f(mo)q(dule,)f(excepted)j -(the)e(sym)o(b)q(ols)f(whic)o(h)75 1459 y(app)q(ear)c(in)g(an)f -Fu(export)g FD(clause.)75 1509 y(If)c(sev)o(eral)h Fu(export)f -FD(clauses)h(app)q(ear)h(in)e(a)g(mo)q(dule,)g(the)h(set)h(of)e(exp)q -(orted)i(sym)o(b)q(ols)d(is)h(determined)h(b)o(y)f FB(unioning)75 -1559 y FD(sym)o(b)q(ols)j(exp)q(orted)k(in)d(all)g(the)h -Fu(export)f FD(clauses.)75 1609 y(The)h(result)h(of)e -FB(exp)n(ort)18 b FD(is)c(unde\014ned.)75 1717 y Fu(\(import)20 -b Fm(h)p FD(mo)q(dule)399 1723 y Fy(1)417 1717 y Fm(i)i(h)p -FD(mo)q(dule)605 1723 y Fy(2)622 1717 y Fm(i)p FB(.)6 -b(.)g(.)g Fu(\))1002 b FD(syn)o(tax)75 1791 y(Sp)q(eci\014es)15 -b(the)g(mo)q(dules)d(whic)o(h)i(are)g(imp)q(orted)f(b)o(y)g(the)i -(curren)o(t)g(mo)q(dule.)h(Imp)q(orting)c(a)i(mo)q(dule)e(mak)o(es)h -(the)75 1841 y(sym)o(b)q(ols)h(it)i(exp)q(orts)h(visible)e(to)g(the)i -(imp)q(orter,)e(if)f(not)i(hidden)g(b)o(y)g(lo)q(cal)f(de\014nitions.) -23 b(When)16 b(a)g(sym)o(b)q(ol)e(is)75 1891 y(exp)q(orted)g(b)o(y)e -(sev)o(eral)h(of)f(the)h(imp)q(orted)e(mo)q(dules,)g(the)i(lo)q(cation) -f(denoted)h(b)o(y)f(this)h(sym)o(b)q(ol)d(in)i(the)h(imp)q(orter)75 -1941 y(mo)q(dule)k(corresp)q(ond)j(to)f(the)g(one)f(of)g(the)h(\014rst) -h(mo)q(dule)d(in)h(the)h(list)f(\()p Fm(h)p FD(mo)q(dule)1393 -1947 y Fy(1)1411 1941 y Fm(i)g(h)p FD(mo)q(dule)1595 -1947 y Fy(2)1613 1941 y Fm(i)p FD(.)6 b(.)h(.)f(\))33 -b(whic)o(h)75 1990 y(exp)q(ort)15 b(it.)75 2041 y(If)20 -b(sev)o(eral)g Fu(import)f FD(clauses)i(app)q(ear)g(in)f(a)f(mo)q -(dule,)h(the)h(set)g(of)e(imp)q(orted)h(mo)q(dules)f(is)h(determined)g -(b)o(y)75 2090 y(app)q(ending)14 b(the)g(v)n(arious)f(list)h(of)f(mo)q -(dules)g(in)g(their)i(apparition)d(order.)153 2180 y -Ft(\(define-mod)o(ul)o(e)17 b(M1)193 2225 y(\(export)g(a)i(b\))193 -2271 y(\(define)e(a)i('M1-a\))193 2317 y(\(define)e(b)i('M1-b\)\))153 -2408 y(\(define-mod)o(ul)o(e)e(M2)193 2454 y(\(export)g(b)i(c\))193 -2499 y(\(define)e(b)i('M2-b\))193 2545 y(\(define)e(c)i('M2-c\)\))153 -2636 y(\(define-mod)o(ul)o(e)e(M3)193 2682 y(\(import)g(M1)h(M2\))193 -2728 y(\(display)e(\(list)i(a)h(b)g(c\)\)\))350 2773 -y Fs(=)-6 b Fn(\))19 b Ft(displays)e(\(m1-a)g(m1-b)h(m2-c\))p -eop +28 27 bop 37 45 a FE(28)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FF(F)l(or)10 b(instance,)i(the)f(follo)o(wing)g +(expression)g(giv)o(es)g(the)f(list)h(of)f(users)h(curren)o(tly)g +(connected)g(on)g(the)f(mac)o(hine)37 240 y(running)17 +b(the)e FB(STk)g FF(in)o(terpreter.)125 327 y Fv(\(port->sexp-list)j +(\(open-input-file)h("|)i(users"\)\))37 536 y FI(6.11)56 +b(Keyw)n(ords)37 622 y FF(Keyw)o(ords)16 b(are)e(sym)o(b)q(olic)j +(constan)o(ts)d(whic)o(h)i(ev)m(aluate)g(to)f(themselv)o(es.)21 +b(A)15 b(k)o(eyw)o(ord)f(m)o(ust)h(b)q(egin)i(with)37 +678 y(a)e(colon.)37 795 y Fw(\(keyword?)23 b FD(obj)7 +b Fw(\))1314 b FF(pro)q(cedure)37 875 y(Returns)16 b +Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 b(a)g(k)o(eyw)o(ord,)f(otherwise)i +(returns)f Fw(#f)p FF(.)37 992 y Fw(\(make-keyword)23 +b FD(obj)7 b Fw(\))1218 b FF(pro)q(cedure)37 1066 y(Builds)17 +b(a)e(k)o(eyw)o(ord)f(from)g(the)h(giv)o(en)g FD(obj)7 +b FF(.)19 b FD(obj)j FF(m)o(ust)14 b(b)q(e)h(a)g(sym)o(b)q(ol)g(or)f(a) +h(string.)20 b(A)15 b(colon)g(is)g(automat-)37 1116 y(ically)i(prep)q +(ended.)125 1203 y Fv(\(make-keyword)i("test"\))343 1252 +y Fu(=)-7 b Fp(\))21 b Fv(:test)125 1302 y(\(make-keyword)e('test\))343 +1352 y Fu(=)-7 b Fp(\))21 b Fv(:test)125 1402 y(\(make-keyword)e +(":hello"\))343 1452 y Fu(=)-7 b Fp(\))21 b Fv(::hello)37 +1656 y Fw(\(keyword->string)h FD(keywor)n(d)5 b Fw(\))1050 +b FF(pro)q(cedure)37 1729 y(Returns)16 b(the)g(name)f(of)f +FD(keywor)n(d)21 b FF(as)15 b(a)f(string.)20 b(The)c(leading)g(colon)g +(is)g(included)h(in)g(the)e(result.)125 1816 y Fv(\(keyword->string)j +(:test\))343 1866 y Fu(=)-7 b Fp(\))21 b Fv(":test")37 +2070 y Fw(\(get-keyword)i FD(keywor)n(d)h(list)t Fw(\))1062 +b FF(pro)q(cedure)37 2126 y Fw(\(get-keyword)23 b FD(keywor)n(d)h(list) +f(default)t Fw(\))907 b FF(pro)q(cedure)37 2200 y FD(List)20 +b FF(m)o(ust)c(b)q(e)g(a)g(list)h(of)f(k)o(eyw)o(ords)f(and)i(their)f +(resp)q(ectiv)o(e)h(v)m(alues.)24 b Fw(Get-keyword)15 +b FF(scans)h(the)g FD(list)k FF(and)37 2250 y(returns)e(the)f(v)m(alue) +i(asso)q(ciated)e(with)h(the)g(giv)o(en)g FD(keywor)n(d)5 +b FF(.)26 b(If)18 b(the)f FD(keywor)n(d)23 b FF(do)q(es)17 +b(not)g(app)q(ear)h(in)g(an)37 2300 y(o)q(dd)g(p)q(osition)h(in)f +FD(list)s FF(,)g(the)f(sp)q(eci\014ed)i FD(default)j +FF(is)c(returned,)g(or)f(an)g(error)f(is)i(raised)g(if)g(no)f(default)h +(w)o(as)37 2349 y(sp)q(eci\014ed.)125 2436 y Fv(\(get-keyword)h(:one)i +('\(:one)f(1)i(:two)f(2\)\))343 2486 y Fu(=)-7 b Fp(\))21 +b Fv(1)125 2536 y(\(get-keyword)e(:four)i('\(:one)f(1)i(:two)f(2\))g +(#f\))343 2586 y Fu(=)-7 b Fp(\))21 b Fv(#f)125 2636 +y(\(get-keyword)e(:four)i('\(:one)f(1)i(:two)f(2\)\))343 +2685 y Fu(=)-7 b Fp(\))21 b Fi(error)p eop %%Page: 29 29 -29 28 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(29)p 75 64 1763 2 v 75 179 a Fl(Note:)34 b Fs(There)14 -b(is)g(no)g(kind)h(of)e Fl(tr)n(ansitivity)g Fs(in)i(mo)q(dule)g(imp)q -(ortations:)20 b(when)14 b(the)f(mo)q(dule)i Fk(C)i Fs(imp)q(orts)d -(the)g(mo)q(dule)75 229 y Fk(B)g Fs(whic)o(h)g(an)f(imp)q(orter)h(of)e -Fk(A)p Fs(,)g(the)h(sym)o(b)q(ols)h(of)f Fk(A)f Fs(are)h(not)g(visible) -i(from)d Fk(C)s Fs(,)h(except)g(b)o(y)g(explicitly)j(imp)q(orting)f -(the)e Fk(A)75 278 y Fs(mo)q(dule)f(from)e Fk(C)s Fs(.)33 -b Fl(Note:)c Fs(The)11 b(mo)q(dule)g Ft(STk)p Fs(,)e(whic)o(h)i(con)o -(tains)h(the)e Fl(glob)n(al)g(variables)g Fs(is)h(alw)o(a)o(ys)g -(implicitl)q(y)i(imp)q(orted)75 328 y(from)g(a)g(mo)q(dule.F)m -(urthermore,)h(this)g(mo)q(dule)h(is)e(alw)o(a)o(ys)h(placed)h(at)e -(the)g(end)g(of)g(the)g(list)h(of)f(imp)q(orted)i(mo)q(dules.)75 -415 y Fu(\(export-symbol)k FB(symb)n(ol)j(mo)n(dule)s -Fu(\))964 b FD(pro)q(cedure)75 489 y(Exp)q(orts)14 b -FB(symb)n(ol)k FD(from)12 b FB(mo)n(dule)s FD(.)18 b(This)13 -b(pro)q(cedure)i(can)f(b)q(e)g(useful,)f(when)h(debugging)f(a)g -(program,)f(to)h(mak)o(e)75 539 y(visible)g(a)g(giv)o(en)f(sym)o(b)q -(ol)g(without)h(reloading)f(or)h(rede\014ning)h(the)g(mo)q(dule)e -(where)i(this)f(sym)o(b)q(ol)f(w)o(as)h(de\014ned.)75 -676 y Fu(\(export-all-symbo)o(ls)m(\))1148 b FD(pro)q(cedure)75 -749 y(Exp)q(orts)14 b(all)e(the)i(sym)o(b)q(ols)e(of)h(curren)o(t)i(mo) -q(dule)d(.)18 b(If)13 b(sym)o(b)q(ols)f(are)i(added)f(to)h(the)g -(curren)o(t)g FB(mo)n(dule)j FD(after)d(the)75 799 y(call)f(to)h -Fu(export-all-symbol)o(s)p FD(,)c(they)15 b(are)f(automatically)d(exp)q -(orted.)75 849 y Fl(Note:)34 b Fs(The)14 b Ft(STk)e Fs(mo)q(dule)j(exp) -q(ort)f(all)h(the)e(sym)o(b)q(ols)i(whic)o(h)g(are)e(de\014ned)i(in)f -(it)g(\(i.e.)19 b Fl(glob)n(al)12 b(variables)i Fs(are)f(visible,)j(if) -75 898 y(not)d(hidden,)i(from)e(all)h(the)f(mo)q(dules)i(of)d(a)h -(program.)75 986 y Fu(\(with-module)19 b FB(mo)n(dule)j -Fm(h)p FD(expr)601 992 y Fy(1)621 986 y Fm(i)g(h)p FD(expr)754 -992 y Fy(2)773 986 y Fm(i)g FB(.)6 b(.)g(.)g Fu(\))829 -b FD(syn)o(tax)75 1059 y(Ev)n(aluates)17 b(the)h(expressions)g(of)f -Fm(h)p FD(expr)707 1065 y Fy(1)726 1059 y Fm(i)g(h)p -FD(expr)854 1065 y Fy(2)874 1059 y Fm(i)g FD(.)7 b(.)f(.)g(in)17 -b(the)h FB(mo)n(dule)i FD(en)o(vironmen)o(t.)27 b FB(Mo)n(dule)21 -b FD(m)o(ust)16 b(ha)o(v)o(e)75 1109 y(b)q(een)k(created)g(previously)f -(b)o(y)g(a)f Fu(define-module)p FD(.)30 b(The)20 b(result)f(of)f -Fu(with-module)f FD(is)i(the)g(result)h(of)e(the)75 1159 -y(ev)n(aluation)12 b(of)i(the)g(last)g Fm(h)p FD(expr)p -Fm(i)q FD(.)193 1230 y Ft(\(define-m)o(od)o(ule)i(M)232 -1275 y(\(define)h(a)i(1\))232 1321 y(\(define)e(b)i(2\)\))193 -1412 y(\(with-mod)o(ul)o(e)e(M)252 1458 y(\(+)h(a)i(b\)\))350 -1504 y Fs(=)-6 b Fn(\))19 b Ft(3)75 1662 y Fu(\(current-module)m(\)) -1235 b FD(pro)q(cedure)75 1731 y(Returns)15 b(the)f(curren)o(t-mo)q -(dule.)193 1797 y Ft(\(define-m)o(od)o(ule)i(M)252 1843 -y(...\))212 1934 y(\(with-modu)o(le)g(M)252 1980 y(\(cons)h(\(eq?)h -(\(current-m)o(odu)o(le)o(\))f(\(find-mod)o(ul)o(e)g('M\)\))369 -2025 y(\(eq?)h(\(current-m)o(odu)o(le)o(\))f(\(find-mod)o(ul)o(e)g -('STk\)\)\)\))350 2117 y Fs(=)-6 b Fn(\))19 b Ft(\(#t)g(.)g(#f\))75 -2270 y Fu(\(module-name)g FB(mo)n(dule)s Fu(\))1150 b -FD(pro)q(cedure)75 2343 y(Returns)15 b(the)f(name)f(\(a)h(sym)o(b)q -(ol\))e(asso)q(ciated)j(to)e(a)h FB(mo)n(dule)s FD(.)75 -2430 y Fu(\(module-imports)19 b FB(mo)n(dule)s Fu(\))1084 -b FD(pro)q(cedure)75 2504 y(Returns)15 b(the)f(list)g(mo)q(dules)e -(that)i FB(mo)n(dule)k FD(imp)q(orts.)75 2591 y Fu(\(module-exports)h -FB(mo)n(dule)s Fu(\))1084 b FD(pro)q(cedure)75 2664 y(Returns)15 -b(the)f(list)g(of)f(sym)o(b)q(ols)f(exp)q(orted)j(b)o(y)f -FB(mo)n(dule)s FD(.)75 2751 y Fu(\(module-symbols)19 -b FB(mo)n(dule)s Fu(\))1084 b FD(pro)q(cedure)75 2825 -y(Returns)15 b(the)f(list)g(sym)o(b)q(ols)e(that)i(ere)h(de\014ned)g -(in)e FB(mo)n(dule)t FD(.)p eop +29 28 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(29)p 37 64 1838 2 v 37 190 a FI(6.12)56 b(Tk)18 b(commands)37 +276 y FF(As)e(w)o(e)g(men)o(tioned)g(in)h(the)e(in)o(tro)q(duction,)i +FB(STk)e FF(can)h(easily)h(comm)o(unicate)f(with)g(the)f(Tk)h(to)q +(olkit.)22 b(All)37 333 y(the)16 b(commands)f(de\014ned)h(b)o(y)g(the)f +(Tk)g(to)q(olkit)g(are)g(visible)j(as)c Fw(Tk-command)p +FF(s,)g(a)h(basic)h(t)o(yp)q(e)f(recognized)37 389 y(b)o(y)h(the)g(in)o +(terpreter.)23 b Fw(Tk-command)p FF(s)14 b(can)j(b)q(e)f(called)i(lik)o +(e)f(regular)f(sc)o(heme)g(pro)q(cedures,)h(serving)f(as)g(an)37 +446 y(en)o(try)f(p)q(oin)o(t)h(in)o(to)f(the)g(Tk)g(library)l(.)37 +531 y Fn(Note:)37 b Fu(Some)13 b Fv(Tk-command)p Fu(s)g(can)h +(dynamically)d(create)k(other)g Fv(Tk-command)p Fu(s.)h(F)m(or)e +(instance,)g(execution)h(of)e(the)37 581 y(expression)125 +661 y Fv(\(label)20 b('.lab\))37 799 y Fu(will)f(create)j(a)e(new)h +Fv(Tk-command)d Fu(called)j(\\)p Fn(.lab)r Fu(".)37 b(This)20 +b(new)h(ob)r(ject,)h(whic)o(h)f(w)o(as)f(created)i(b)o(y)e(a)g +(primitiv)o(e)37 855 y Fv(Tk-command)p Fu(,)12 b(will)g(b)q(e)j(called) +e(a)h Fn(widget)s Fu(.)37 912 y Fn(Note:)51 b Fu(When)18 +b(a)f(new)h(widget)f(is)g(created,)i(it)e(captures)i(its)f(creation)f +(en)o(vironmen)o(t.)28 b(This)17 b(p)q(ermits)g(to)g(ha)o(v)o(e)37 +968 y(bindings)d(whic)o(h)g(access)h(v)n(ariables)e(in)h(the)g(scop)q +(e)h(of)f(the)g(widget)g(creation)g(call)f(\(see)j(6.17\).)37 +1083 y Fw(\(tk-command?)23 b FD(obj)7 b Fw(\))1242 b +FF(pro)q(cedure)37 1157 y(Returns)16 b Fw(#t)f FF(if)h +FD(obj)22 b FF(is)15 b(a)g Fw(Tk-command)p FF(,)f(otherwise)h(returns)g +Fw(#f)p FF(.)125 1238 y Fv(\(tk-command?)k(label\))343 +1287 y Fu(=)-7 b Fp(\))21 b Fv(#t)125 1337 y(\(begin)f(\(label)h +('.lab\))f(\(tk-command?)g(.lab\)\))343 1387 y Fu(=)-7 +b Fp(\))21 b Fv(#t)125 1437 y(\(tk-command?)e(12\))343 +1487 y Fu(=)-7 b Fp(\))21 b Fv(#f)37 1677 y Fw(\(widget?)i +FD(obj)7 b Fw(\))1338 b FF(pro)q(cedure)37 1750 y(Returns)17 +b Fw(#t)f FF(if)h FD(obj)23 b FF(is)16 b(a)g(widget,)h(otherwise)f +(returns)g Fw(#f)p FF(.)23 b(A)16 b(widget)g(is)h(a)f +Fw(Tk-command)f FF(created)h(b)o(y)g(a)37 1800 y(primitiv)o(e)h +Fw(Tk-command)d FF(suc)o(h)h(as)g Fw(button)p FF(,)f +Fw(label)p FF(,)g Fw(menu)p FF(,)g(etc.)125 1881 y Fv(\(widget?)20 +b(label\))343 1931 y Fu(=)-7 b Fp(\))21 b Fv(#f)125 1980 +y(\(begin)f(\(label)h('.lab\))f(\(widget?)g(.lab\)\))343 +2030 y Fu(=)-7 b Fp(\))21 b Fv(#t)125 2080 y(\(widget?)f(12\))343 +2130 y Fu(=)-7 b Fp(\))21 b Fv(#f)37 2320 y Fw(\(widget->string)h +FD(widget)t Fw(\))1108 b FF(pro)q(cedure)37 2393 y(Returns)16 +b(the)g(widget)f(name)g(of)g FD(widget)20 b FF(as)15 +b(a)f(string.)125 2474 y Fv(\(begin)20 b(\(label)h('.lab\))f +(\(widget->string)f(.lab\)\))343 2524 y Fu(=)-7 b Fp(\))21 +b Fv(".lab")37 2714 y Fw(\(string->widget)h FD(str)5 +b Fw(\))1178 b FF(pro)q(cedure)37 2787 y(Returns)16 b(the)g(widget)f +(whose)g(name)g(is)h FD(str)k FF(if)c(it)f(exists;)g(otherwise)h +(returns)f Fw(#f)p FF(.)p eop %%Page: 30 30 -30 29 bop 75 47 a FC(30)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FG(6.14)56 b(En)n(vironmen)n(ts)75 -255 y FD(En)o(vironmen)o(ts)11 b(are)h(\014rst)g(class)g(ob)r(jects)h -(in)e(STk.)17 b(The)c(follo)o(wing)c(primitiv)o(es)g(are)j(de\014ned)h -(on)f(en)o(vironmen)o(ts.)75 357 y Fu(\(environment?)19 -b FB(obj)6 b Fu(\))1198 b FD(pro)q(cedure)75 431 y(Returns)15 -b Fu(#t)e FD(if)g FB(obj)20 b FD(is)14 b(an)f(en)o(vironmen)o(t,)g -(otherwise)i(returns)g Fu(#f)p FD(.)75 522 y Fu(\(the-environment)m(\)) -1213 b FD(pro)q(cedure)75 596 y(Returns)15 b(the)f(curren)o(t)i(en)o -(vironmen)o(t.)75 687 y Fu(\(global-environme)o(nt)m(\))1148 -b FD(pro)q(cedure)75 761 y(Returns)15 b(the)f(\\global")e(en)o -(vironmen)o(t)h(\(i.e.)k(the)e(toplev)o(el)e(en)o(vironmen)o(t\).)75 -852 y Fu(\(parent-environme)o(nt)19 b FB(env)t Fu(\))1061 -b FD(pro)q(cedure)75 926 y(Returns)20 b(the)f(paren)o(t)g(en)o -(vironmen)o(t)f(of)g FB(env)5 b FD(.)33 b(If)18 b(en)o(v)h(is)g(the)g -(\\global")e(en)o(vironmen)o(t)g(\(i.e.)32 b(the)20 b(toplev)o(el)75 -975 y(en)o(vironmen)o(t\),)12 b Fu(parent-environment)f -FD(returns)k Fu(#f)p FD(.)75 1067 y Fu(\(environment->lis)o(t)k -FB(envir)n(onment)t Fu(\))920 b FD(pro)q(cedure)75 1136 -y(Returns)15 b(a)e(list)h(of)f FB(a-lists)p FD(,)g(represen)o(ting)i -(the)g(bindings)e(in)h FB(envir)n(onment)t FD(.)k(Eac)o(h)d -FB(a-list)e FD(describ)q(es)j(one)e(lev)o(el)75 1182 -y(of)f(bindings,)g(with)h(the)g(innermost)f(lev)o(el)h(coming)e -(\014rst.)153 1251 y Ft(\(define)17 b(E)j(\(let)e(\(\(a)g(1\))h(\(b)g -(2\)\))389 1297 y(\(let)f(\(\(c)g(3\)\))428 1342 y(\(the-envir)o(on)o -(men)o(t\))o(\)\)\))153 1434 y(\(car)h(\(environ)o(men)o(t->)o(li)o(st) -d(E\)\))j Fs(=)-6 b Fn(\))19 b Ft(\(\(c)g(.)g(3\)\))153 -1525 y(\(cadr)f(\(environme)o(nt-)o(>l)o(ist)e(E\)\))p -Fs(=)-6 b Fn(\))18 b Ft(\(\(b)h(.)g(2\))g(\(a)f(.)i(1\)\))75 -1685 y Fu(\(procedure-enviro)o(nment)e FB(pr)n(o)n(c)n(e)n(dur)n(e)s -Fu(\))890 b FD(pro)q(cedure)75 1755 y(Returns)10 b(the)g(en)o(vironmen) -o(t)e(asso)q(ciated)i(with)f FB(pr)n(o)n(c)n(e)n(dur)n(e)s -FD(.)16 b Fu(Procedure-environme)o(nt)6 b FD(returns)11 -b Fu(#f)e FD(if)f FB(pr)n(o)n(c)n(e)n(dur)n(e)75 1800 -y FD(is)14 b(not)g(a)f(closure.)153 1869 y Ft(\(define)k(foo)i(\(let)f -(\(\(a)g(1\)\))h(\(lambda)e(\(\))i(a\)\)\))153 1915 y(\(car)g -(\(environ)o(men)o(t->)o(li)o(st)330 1961 y(\(procedure)o(-e)o(nvi)o -(ro)o(nme)o(nt)d(foo\)\)\))703 2006 y Fs(=)-6 b Fn(\))19 -b Ft(\(\(a)g(.)g(1\)\))75 2167 y Fu(\(module-environme)o(nt)g -FB(mo)n(dule)s Fu(\))997 b FD(pro)q(cedure)75 2236 y(Returns)15 -b(the)f(en)o(vironmen)o(t)f(asso)q(ciated)i(to)e(the)i(mo)q(dule)d -FB(mo)n(dule)t FD(.)153 2305 y Ft(\(define-mod)o(ul)o(e)17 -b(M)212 2351 y(\(define)g(a)i(1\)\))153 2396 y(\(car)g(\(environ)o(men) -o(t->)o(li)o(st)330 2442 y(\(module-en)o(vi)o(ron)o(me)o(nt)d -(\(find-modu)o(le)g('M\)\)\)\))703 2488 y Fs(=)-6 b Fn(\))19 -b Ft(\(\(a)g(.)g(1\)\))75 2648 y Fu(\(symbol-bound?)g -FB(symb)n(ol)t Fu(\))1111 b FD(pro)q(cedure)75 2698 y -Fu(\(symbol-bound?)19 b FB(symb)n(ol)j(envir)n(onment)t -Fu(\))865 b FD(pro)q(cedure)75 2772 y(Returns)17 b Fu(#t)e -FD(if)h FB(symb)n(ol)k FD(has)c(a)f(v)n(alue)h(in)f(the)i(giv)o(en)e -FB(envir)n(onment)5 b FD(,)16 b(otherwise)h(returns)g -Fu(#f)p FD(.)24 b FB(Envir)n(onment)75 2821 y FD(ma)o(y)12 -b(b)q(e)i(omitted,)e(in)i(whic)o(h)g(case)h(it)e(defaults)h(to)g(the)g -(global)e(en)o(vironmen)o(t.)p eop +30 29 bop 37 45 a FE(30)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(begin)j(\(label)h('.lab\))f +(\(string->widget)f(".lab"\)\))343 240 y Fu(=)-7 b Fp(\))21 +b Fv(the)g(Tk-command)f(named)h(".lab")37 459 y Fw(\(widget-name)i +FD(widget)t Fw(\))1179 b FF(pro)q(cedure)37 534 y(Returns)16 +b(the)g(widget)f(name)g(of)g FD(widget)20 b FF(as)15 +b(a)f(sym)o(b)q(ol.)125 628 y Fv(\(begin)20 b(\(label)h('.lab\))f +(\(widget->name)f(.lab\)\))343 678 y Fu(=)-7 b Fp(\))21 +b Fv(.lab)37 896 y Fw(\(set-widget-data!)h FD(widget)i(expr)5 +b Fw(\))951 b FF(pro)q(cedure)37 978 y Fw(Set-widget-data!)15 +b FF(asso)q(ciates)i(arbitrary)g(data)f(with)i(a)f FD(widget)t +FF(.)26 b(The)18 b(system)e(mak)o(es)h(no)g(assump-)37 +1034 y(tions)e(ab)q(out)g(the)f(t)o(yp)q(e)h(of)f Fw(expr)p +FF(;)g(the)h(data)f(is)h(for)f(programmer)f(con)o(v)o(enience)j(only)l +(.)21 b(As)14 b(sho)o(wn)h(b)q(elo)o(w,)37 1091 y(it)h(could)g(b)q(e)g +(used)g(as)f(a)g(kind)h(of)f(prop)q(ert)o(y)f(list)i(for)f(widgets.)37 +1219 y Fw(\(get-widget-data)22 b FD(widget)t Fw(\))1084 +b FF(pro)q(cedure)37 1293 y(Returns)16 b(the)g(data)e(previously)j +(asso)q(ciated)e(with)h FD(widget)j FF(if)d(it)f(exists;)h(otherwise)f +(returns)g Fw(#f)p FF(.)125 1387 y Fv(\(begin)190 1437 +y(\(set-widget-data!)j(.w)k('\(:mapped)e(#t)h(:geometry)f("10x50"\)\)) +190 1487 y(\(get-keyword)f(:mapped)i(\(get-widget-data)d(.w\)\)\))343 +1537 y Fu(=)-7 b Fp(\))21 b Fv(#t)37 1763 y FI(6.13)56 +b(Mo)r(dules)37 1852 y FB(STk)12 b FF(mo)q(dules)h(can)f(b)q(e)h(used)g +(to)e(organize)i(a)f(program)f(in)o(to)h(separate)f(en)o(vironmen)o(ts) +i(\(or)p FD(name)f(sp)n(ac)n(es)t FF(\).)37 1908 y(Mo)q(dules)j(pro)o +(vide)g(a)e(clean)i(w)o(a)o(y)e(to)h(organize)g(and)g(enforce)g(the)g +(barriers)g(b)q(et)o(w)o(een)g(the)g(comp)q(onen)o(ts)g(of)37 +1964 y(a)h(program.)37 2022 y FB(STk)k FF(pro)o(vides)g(a)f(simple)i +(mo)q(dule)g(system)e(whic)o(h)i(is)f(largely)g(inspired)i(from)d(the)h +(one)g(of)f(T)l(ung)h(and)37 2079 y(Dyb)o(vig)d(exp)q(osed)h(in)f([5)o +(].)21 b(As)16 b(their)g(mo)q(dules)h(system,)d FB(STk)h +FF(mo)q(dules)i(are)e(de\014ned)i(to)e(b)q(e)i(easily)f(used)37 +2135 y(in)h(an)e(in)o(teractiv)o(e)g(en)o(vironmen)o(t.)37 +2257 y Fw(\(define-module)22 b FD(name)i Fo(h)p FF(b)q(o)q(dy)p +Fo(i)p Fw(\))1060 b FF(syn)o(tax)37 2338 y FD(De\014ne-mo)n(dule)15 +b FF(ev)m(aluates)d(the)f(expressions)h(whic)o(h)g(are)f(in)h +Fo(h)p FF(b)q(o)q(dy)p Fo(i)g FF(in)g(the)f(en)o(vironmen)o(t)h(of)e +(the)i(mo)q(dule)37 2395 y FD(name)t FF(.)25 b FD(name)c +FF(m)o(ust)16 b(b)q(e)i(a)f(v)m(alid)i(sym)o(b)q(ol.)26 +b(If)17 b(this)h(sym)o(b)q(ol)f(has)g(not)g(already)h(b)q(een)g(used)g +(to)e(de\014ne)i(a)37 2451 y(mo)q(dule,)25 b(a)d(new)g(mo)q(dule,)j +(named)d FD(name)s FF(,)i(is)e(created.)41 b(Otherwise,)24 +b Fo(h)p FF(b)q(o)q(dy)p Fo(i)e FF(is)h(ev)m(aluated)g(in)g(the)37 +2507 y(en)o(vironmen)o(t)16 b(of)f(the)g(\(old\))g(mo)q(dule)i +FD(name)811 2491 y FA(4)831 2507 y FF(.)37 2559 y(De\014nitions)f(done) +e(in)i(a)d(mo)q(dule)j(are)e(lo)q(cal)h(to)e(the)i(mo)q(dule)g(and)f +(do)h(not)e(in)o(teract)h(with)h(the)f(de\014nitions)37 +2608 y(of)h(other)g(mo)q(dules.)21 b(Consider)16 b(the)f(follo)o(wing)h +(de\014nitions,)p 37 2653 735 2 v 89 2680 a Ft(4)107 +2696 y Fs(In)10 b(fact)h Fq(define-mo)o(du)o(le)c Fs(on)k(a)g(giv)o(en) +h(name)f(de\014nes)h(a)f(new)f(mo)q(dule)i(only)g(the)f(\014rst)g(time) +g(it)g(is)h(in)o(v)o(ok)o(ed)g(on)f(this)h(name.)37 2742 +y(By)h(this)h(w)o(a)o(y)m(,)e(in)o(teactiv)o(ely)j(reloading)g(a)d(mo)q +(dule)i(do)q(es)f(not)g(de\014ne)h(a)e(new)h(en)o(tit)o(y)m(,)f(and)i +(the)e(other)h(mo)q(dules)h(whic)o(h)g(use)e(it)37 2787 +y(are)i(not)f(altered.)p eop %%Page: 31 31 -31 30 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(31)p 75 64 1763 2 v 75 179 a FG(6.15)56 b(Macros)75 -255 y Fz(STk)14 b FD(pro)o(vides)g(lo)o(w)f(lev)o(el)h(macros.)75 -305 y Fl(Note:)38 b Fj(STk)14 b Fs(macros)h(are)f(not)h(the)f(sort)h -(of)f(macros)h(de\014ned)g(in)h(the)e(app)q(endix)j(of)d -Fl(R)1373 289 y Fr(4)1384 305 y Fk(RS)r Fs(,)h(but)g(rather)f(the)h -(macros)75 355 y(one)e(can)h(\014nd)g(in)f(most)g(of)g(Lisp)h -(dialects.)75 458 y Fu(\(macro)21 b Fm(h)p FD(formals)p -Fm(i)f(h)p FD(b)q(o)q(dy)p Fm(i)p Fu(\))1159 b FD(syn)o(tax)75 -531 y Fu(Macro)14 b FD(p)q(ermits)h(to)g(create)i(a)e(macro.)21 -b(When)16 b(a)f(macro)f(is)h(called,)g(the)h(whole)f(form)f(\(i.e.)22 -b(the)16 b(macro)e(itself)75 581 y(and)g(its)g(parameters\))g(is)g -(passed)h(to)e(the)i(macro)e(b)q(o)q(dy)m(.)18 b(Binding)13 -b(asso)q(ciation)g(is)h(done)g(in)g(the)h(en)o(vironmen)o(t)75 -631 y(of)e(the)i(call.)i(The)e(result)g(of)e(the)i(binding)d(asso)q -(ciation)i(is)g(called)g(the)g FB(macr)n(o-exp)n(ansion)p -FD(.)19 b(The)c(result)f(of)g(the)75 681 y(macro)f(call)g(is)g(the)i -(result)g(of)e(the)h(ev)n(aluation)f(of)g(the)i(macro)d(expansion)i(in) -g(the)g(call)f(en)o(vironmen)o(t.)153 758 y Ft(\(define)k(foo)i -(\(macro)e(f)i(\022\(quote)e(,f\)\)\))153 804 y(\(foo)i(1)g(2)g(3\))333 -b Fs(=)-6 b Fn(\))19 b Ft(\(foo)f(1)h(2)h(3\))153 895 -y(\(define)d(1+)i(\(macro)f(form)g(\(list)f(+)i(\(cadr)f(form\))g -(1\)\)\))153 941 y(\(let)h(\(\(x)f(1\)\))g(\(1+)h(x\)\))156 -b Fs(=)-6 b Fn(\))19 b Ft(2)75 1112 y Fu(\(macro?)h FB(obj)6 -b Fu(\))1329 b FD(pro)q(cedure)75 1186 y(Returns)15 b -Fu(#t)e FD(if)g FB(obj)20 b FD(is)14 b(a)f(macro,)g(otherwise)h -(returns)i Fu(#f)p FD(.)75 1280 y Fu(\(macro-expand-1)j -FB(form)s Fu(\))1124 b FD(pro)q(cedure)75 1330 y Fu(\(macro-expand)19 -b FB(form)s Fu(\))1168 b FD(pro)q(cedure)75 1399 y Fu(Macro-expand-1)16 -b FD(returns)21 b(the)e(macro)f(expansion)h(of)f FB(form)k -FD(if)c(it)h(is)g(a)f(macro)g(call,)h(otherwise)h FB(form)i -FD(is)75 1445 y(returned)d(unc)o(hanged.)31 b Fu(Macro-expand)15 -b FD(is)j(similar)d(to)j Fu(macro-expand-1)p FD(,)d(but)j(rep)q(eately) -h(expand)f FB(form)75 1491 y FD(un)o(til)13 b(it)h(is)f(no)h(longer)g -(a)f(macro)g(call.)153 1562 y Ft(\(define)k(1-)i(\(macro)f(form)g -(\022\(-)38 b(,\(cadr)17 b(form\))h(1\)\)\))153 1607 -y(\(define)f(--)i(\(macro)f(form)g(\022\(1-)g(,\(cadr)f(form\)\)\)\)) -153 1653 y(\(macro-expa)o(nd)o(-1)f('\(1-)i(10\)\))58 -b Fs(=)-6 b Fn(\))19 b Ft(\(-)g(10)g(1\))153 1699 y(\(macro-expa)o(nd) -55 b('\(1-)18 b(10\)\))58 b Fs(=)-6 b Fn(\))19 b Ft(\(-)g(10)g(1\))153 -1744 y(\(macro-expa)o(nd)o(-1)d('\(--)i(10\)\))58 b Fs(=)-6 -b Fn(\))19 b Ft(\(1-)g(10\))153 1790 y(\(macro-expa)o(nd)55 -b('\(--)18 b(10\)\))58 b Fs(=)-6 b Fn(\))19 b Ft(\(-)g(10)g(1\))75 -1955 y Fu(\(macro-expand)g FB(form)s Fu(\))1168 b FD(pro)q(cedure)75 -2025 y(Returns)15 b(the)f(macro)e(expansion)i(of)f FB(form)j -FD(if)d(it)g(is)h(a)f(macro)f(call,)h(otherwise)h FB(form)j -FD(is)c(returned)i(unc)o(hanged.)75 2070 y(Macro)f(expansion)g(con)o -(tin)o(ue)g(un)o(til,)e(the)j(form)d(obtained)i(is)153 -2141 y Ft(\(define)j(1-)i(\(macro)f(form)g(\(list)f('-)i(\(cadr)f -(form\))f(1\)\)\))153 2187 y(\(macro-expa)o(nd)f('\(1-)i(10\)\))97 -b Fs(=)-6 b Fn(\))19 b Ft(\(-)g(10)g(1\))75 2353 y Fu(\(macro-body)h -FB(macr)n(o)s Fu(\))1186 b FD(pro)q(cedure)75 2422 y(Returns)15 -b(the)f(b)q(o)q(dy)g(of)f FB(macr)n(o)153 2493 y Ft(\(macro-body)j -(1+\))703 2539 y Fs(=)-6 b Fn(\))19 b Ft(\(macro)e(form)h(\(list)g(+)h -(\(cadr)f(form\))g(1\)\))75 2704 y Fu(\(define-macro)h -FB(\()p Fm(h)p FD(name)p Fm(i)i(h)p FD(formals)p Fm(i)n -FB(\))h Fm(h)p FD(b)q(o)q(dy)p Fm(i)p Fu(\))830 b FD(macro)75 -2773 y Fu(Define-macro)10 b FD(is)j(a)g(macro)f(whic)o(h)h(p)q(ermits)f -(to)h(de\014ne)h(a)f(macro)f(more)g(easily)g(than)h(with)g(the)h -Fu(macro)e FD(form.)75 2819 y(It)i(is)g(similar)d(to)j(the)g -Fu(defmacro)f FD(of)g(Commo)o(n)e(Lisp)j([6)o(].)p eop +31 30 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(31)p 37 64 1838 2 v 168 190 a Fv(\(define-module)19 +b(M1)234 240 y(\(define)h(a)i(1\)\))168 340 y(\(define-module)d(M2)212 +390 y(\(define)h(a)i(2\))212 439 y(\(define)e(b)i(\(*)f(2)h(x\)\)\))37 +567 y FF(Here,)15 b(t)o(w)o(o)e(mo)q(dules)i(are)f(de\014ned)i(and)f +(they)f(b)q(oth)h(bind)g(the)g(sym)o(b)q(ol)g Fw(a)f +FF(to)g(a)g(v)m(alue.)20 b(Ho)o(w)o(ev)o(er,)14 b(since)h +Fw(a)37 623 y FF(has)h(b)q(een)g(de\014ned)g(in)g(t)o(w)o(o)e +(distincts)j(mo)q(dules)f(they)f(denote)h(t)o(w)o(o)e(di\013eren)o(t)h +(lo)q(cations.)37 680 y(The)21 b(\\)p Fw(STk)p FF(")f(mo)q(dule,)j +(whic)o(h)f(is)f(prede\014ned,)i(is)e(a)g(sp)q(ecial)h(mo)q(dule)g +(whic)o(h)g(con)o(tains)e(all)i(the)f FD(glob)n(al)37 +736 y(variables)f FF(of)15 b(a)h FD(R)354 719 y FA(4)366 +736 y Fz(RS)i FF(program.)j(A)16 b(sym)o(b)q(ol)g(de\014ned)i(in)e(the) +g Fw(STk)g FF(mo)q(dule,)h(if)f(not)g(hidden)h(b)o(y)f(a)g(lo)q(cal)37 +792 y(de\014nition,)i(is)d(alw)o(a)o(ys)g(visible)j(from)d(inside)i(a)e +(mo)q(dule.)22 b(So,)15 b(in)h(the)g(previous)g(exemple,)h(the)e +Fw(x)h FF(sym)o(b)q(ol)37 849 y(refers)f(the)h Fw(x)f +FF(sym)o(b)q(ol)g(de\014ned)i(in)f(the)f Fw(STk)g FF(mo)q(dule.)37 +905 y(The)h(result)g(of)e FD(de\014ne-mo)n(dule)19 b +FF(is)c(unde\014ned.)37 1002 y Fw(\(find-module)23 b +FD(name)s Fw(\))1197 b FF(pro)q(cedure)37 1059 y Fw(\(find-module)23 +b FD(name)g(default)t Fw(\))1041 b FF(pro)q(cedure)37 +1139 y FB(STk)13 b FF(mo)q(dules)i(are)e(\014rst)g(class)g(ob)s(jects)g +(and)h Fw(find-module)d FF(returns)j(the)f(mo)q(dule)h(asso)q(ciated)g +(to)f FD(name)37 1195 y FF(if)20 b(it)g(exists.)33 b(If)19 +b(there)h(is)g(no)f(mo)q(dule)h(asso)q(ciated)g(to)f +FD(name)s FF(,)h(an)f(error)g(is)h(signaled)g(if)g(no)f +FD(default)24 b FF(is)37 1252 y(pro)o(vided,)16 b(otherwise)g +Fw(find-module)d FF(returns)i(default.)37 1349 y Fw(\(module?)23 +b FD(obje)n(ct)t Fw(\))1286 b FF(pro)q(cedure)37 1422 +y(Returns)16 b Fw(#t)f FF(if)h FD(obje)n(ct)j FF(is)d(a)e(mo)q(dule)j +(and)e Fw(#f)g FF(otherwise.)168 1493 y Fv(\(module?)20 +b(\(find-module)g('STk\)\))343 1542 y Fu(=)-7 b Fp(\))21 +b Fv(#t)168 1592 y(\(module?)f('STk\))343 1642 y Fu(=)-7 +b Fp(\))21 b Fv(#f)168 1692 y(\(module?)f(1\))343 1742 +y Fu(=)-7 b Fp(\))21 b Fv(#f)37 1909 y Fw(\(export)i +Fo(h)p FF(sym)o(b)q(ol)386 1916 y FA(1)406 1909 y Fo(i)h(h)p +FF(sym)o(b)q(ol)606 1916 y FA(2)626 1909 y Fo(i)o FD(.)7 +b(.)g(.)g Fw(\))1015 b FF(syn)o(tax)37 1989 y(Sp)q(eci\014es)15 +b(the)c(sym)o(b)q(ols)i(whic)o(h)f(are)g(exp)q(orted)g(\(i.e.)19 +b FD(visible)s FF(\))11 b(outside)h(the)g(curren)o(t)g(mo)q(dule.)20 +b(By)12 b(default,)37 2046 y(sym)o(b)q(ols)j(de\014ned)h(in)f(a)e(mo)q +(dule)j(are)e(not)f(visible)k(outside)e(this)f(mo)q(dule,)h(excepted)g +(the)g(sym)o(b)q(ols)f(whic)o(h)37 2102 y(app)q(ear)i(in)g(an)f +Fw(export)f FF(clause.)37 2159 y(If)j(sev)o(eral)g Fw(export)f +FF(clauses)i(app)q(ear)f(in)g(a)f(mo)q(dule,)i(the)f(set)g(of)f(exp)q +(orted)h(sym)o(b)q(ols)g(is)g(determined)h(b)o(y)37 2215 +y FD(unioning)d FF(sym)o(b)q(ols)g(exp)q(orted)h(in)g(all)g(the)f +Fw(export)g FF(clauses.)37 2272 y(The)h(result)g(of)e +FD(exp)n(ort)20 b FF(is)c(unde\014ned.)37 2369 y Fw(\(import)23 +b Fo(h)p FF(mo)q(dule)390 2376 y FA(1)411 2369 y Fo(i)h(h)p +FF(mo)q(dule)615 2376 y FA(2)635 2369 y Fo(i)p FD(.)7 +b(.)g(.)g Fw(\))1005 b FF(syn)o(tax)37 2449 y(Sp)q(eci\014es)17 +b(the)c(mo)q(dules)i(whic)o(h)g(are)f(imp)q(orted)g(b)o(y)g(the)g +(curren)o(t)g(mo)q(dule.)20 b(Imp)q(orting)15 b(a)e(mo)q(dule)j(mak)o +(es)37 2505 y(the)k(sym)o(b)q(ols)f(it)h(exp)q(orts)f(visible)i(to)d +(the)i(imp)q(orter,)g(if)f(not)g(hidden)i(b)o(y)e(lo)q(cal)h +(de\014nitions.)34 b(When)19 b(a)37 2562 y(sym)o(b)q(ol)d(is)g(exp)q +(orted)g(b)o(y)f(sev)o(eral)h(of)f(the)g(imp)q(orted)h(mo)q(dules,)g +(the)f(lo)q(cation)i(denoted)f(b)o(y)f(this)h(sym)o(b)q(ol)37 +2618 y(in)23 b(the)f(imp)q(orter)g(mo)q(dule)h(corresp)q(ond)f(to)f +(the)h(one)g(of)g(the)f(\014rst)h(mo)q(dule)h(in)g(the)e(list)i(\()p +Fo(h)p FF(mo)q(dule)1837 2625 y FA(1)1857 2618 y Fo(i)37 +2674 y(h)p FF(mo)q(dule)199 2681 y FA(2)220 2674 y Fo(i)p +FF(.)7 b(.)g(.)g(\))20 b(whic)o(h)c(exp)q(ort)f(it.)37 +2731 y(If)i(sev)o(eral)f Fw(import)f FF(clauses)i(app)q(ear)f(in)h(a)e +(mo)q(dule,)i(the)f(set)g(of)g(imp)q(orted)g(mo)q(dules)h(is)g +(determined)g(b)o(y)37 2787 y(app)q(ending)g(the)f(v)m(arious)f(list)h +(of)f(mo)q(dules)h(in)h(their)e(apparition)h(order.)p +eop %%Page: 32 32 -32 31 bop 75 47 a FC(32)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 153 179 a Ft(\(define-mac)o(ro)i(\(incr)i(x\))h -(\022\(set!)e(,x)i(\(+)g(,x)f(1\)\)\))153 224 y(\(let)h(\(\(a)f(1\)\))g -(\(incr)g(a\))h(a\))78 b Fs(=)-6 b Fn(\))19 b Ft(2)153 -316 y(\(define-mac)o(ro)d(\(when)i(test)g(.)h(body\))193 -361 y(\022\(if)f(,test)f(,@\(if)h(\(null?)f(\(cdr)h(body\)\))g(body)g -(\022\(\(begin)e(,@body\)\)\)\)\))153 407 y(\(macro-expa)o(nd)g -('\(when)h(a)j(b\)\))38 b Fs(=)-6 b Fn(\))19 b Ft(\(if)g(a)g(b\))153 -453 y(\(macro-expa)o(nd)d('\(when)h(a)j(b)f(c)g(d\)\))703 -498 y Fs(=)-6 b Fn(\))19 b Ft(\(if)g(a)g(\(begin)e(b)i(c)h(d\)\))75 -622 y Fl(Note:)35 b Fs(Calls)14 b(to)g(macros)g(de\014ned)h(b)o(y)f -Ft(define-m)o(acr)o(o)c Fs(are)k(ph)o(ysically)j(replaced)e(b)o(y)f -(their)g(macro-expansion)i(if)e(the)75 672 y(v)n(ariable)h -Ft(*debug*)10 b Fs(is)k Ft(#f)e Fs(\(i.e.)18 b(their)c(b)q(o)q(dy)g(is) -g(\\in-lined")i(in)e(the)f(macro)g(call\).)19 b(T)m(o)13 -b(a)o(v)o(oid)h(this)g(feature,)f(and)h(to)f(ease)75 -721 y(debugging,)i(y)o(ou)f(ha)o(v)o(e)f(to)g(set)g(this)h(v)n(ariable) -h(to)e Ft(#t)p Fs(.)j(\(See)d(also)h(6.25\).)75 831 y -FG(6.16)56 b(System)16 b(pro)r(cedures)75 907 y FD(This)e(section)g -(lists)g(a)g(set)h(of)e(pro)q(cedures)j(whic)o(h)e(p)q(ermits)f(to)h -(access)i(some)d(system)g(in)o(ternals.)75 1011 y Fu -(\(expand-file-name)18 b FB(string)t Fu(\))1062 b FD(pro)q(cedure)75 -1084 y Fu(Expand-file-name)12 b FD(expands)k(the)g(\014lename)f(giv)o -(en)g(in)g FB(string)j FD(to)d(an)h(absolute)f(path.)23 -b(This)15 b(function)h(un-)75 1134 y(derstands)f(the)g -FB(tilde)f(c)n(onvention)h FD(for)f(\014lenames.)153 -1215 y Ft(;;)19 b(Current)e(directory)f(is)j(/users/eg/)o(STk)153 -1261 y(\(expand-fil)o(e-)o(nam)o(e)e(".."\))350 1306 -y Fs(=)-6 b Fn(\))19 b Ft("/users/eg)o(")153 1352 y(\(expand-fil)o(e-)o -(nam)o(e)e("~root/b)o(in\))350 1398 y Fs(=)-6 b Fn(\))19 -b Ft("/bin")153 1443 y(\(expand-fil)o(e-)o(nam)o(e)e("~/STk\)")350 -1489 y Fs(=)-6 b Fn(\))19 b Ft("/users/eg)o(/S)o(Tk")75 -1667 y Fu(\(canonical-path)g FB(p)n(ath)s Fu(\))1135 -b FD(pro)q(cedure)75 1741 y(Expands)12 b(all)e(sym)o(b)q(olic)g(links)h -(in)g FB(p)n(ath)k FD(and)d(returns)h(its)e(canonicalized)h(absolute)f -(pathname.)16 b(The)c(resulting)75 1791 y(path)e(do)f(not)h(ha)o(v)o(e) -g(sym)o(b)q(olic)e(links.)16 b(If)9 b FB(p)n(ath)14 b -FD(do)q(esn't)c(designate)g(a)g(v)n(alid)e(pathname,)h -FB(c)n(anonic)n(al-p)n(ath)14 b FD(returns)75 1840 y -Fu(#f)p FD(.)75 1938 y Fu(\(dirname)20 b FB(string)t -Fu(\))1258 b FD(pro)q(cedure)75 2007 y(Returns)15 b(a)e(string)h(con)o -(taining)f(all)g(but)h(the)g(last)g(comp)q(onen)o(t)f(of)g(the)i(path)f -(name)e(giv)o(en)i(in)f FB(string)s FD(.)153 2081 y Ft(\(dirname)k -("/a/b/c.st)o(k")o(\))350 2127 y Fs(=)-6 b Fn(\))19 b -Ft("/a/b")75 2298 y Fu(\(basename)h FB(string)t Fu(\))1236 -b FD(pro)q(cedure)75 2368 y(Returns)15 b(a)e(string)h(con)o(taining)f -(the)i(last)e(comp)q(onen)o(t)g(of)h(the)g(path)g(name)f(giv)o(en)g(in) -h FB(string)s FD(.)153 2441 y Ft(\(basname)j("/a/b/c.st)o(k")o(\))350 -2487 y Fs(=)-6 b Fn(\))19 b Ft("c.stk")75 2658 y Fu(\(decompose-file-n) -o(ame)g FB(string)t Fu(\))996 b FD(pro)q(cedure)75 2728 -y(Returns)14 b(an)e(\\explo)q(ded")h(list)f(of)g(the)h(path)g(name)e -(comp)q(onen)o(ts)i(giv)o(en)f(in)g FB(string)s FD(.)18 -b(The)13 b(\014rst)g(elemen)o(t)g(in)f(the)75 2773 y(list)g(denotes)i -(if)e(the)i(giv)o(en)e FB(string)k FD(is)d(an)f(absolute)h(path)g(or)g -(a)g(relativ)o(e)f(one,)h(b)q(eing)g Fu("/")f FD(or)h -Fu(".")f FD(resp)q(ectiv)o(ely)m(.)75 2819 y(Eac)o(h)i(comp)q(onen)o(t) -f(of)h(this)g(list)f(is)h(a)f(string.)p eop +32 31 bop 37 45 a FE(32)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(define-module)i(M1)168 +240 y(\(export)i(a)g(b\))168 290 y(\(define)g(a)g('M1-a\))168 +340 y(\(define)g(b)g('M1-b\)\))125 439 y(\(define-module)e(M2)168 +489 y(\(export)i(b)g(c\))168 539 y(\(define)g(b)g('M2-b\))168 +589 y(\(define)g(c)g('M2-c\)\))125 689 y(\(define-module)e(M3)168 +738 y(\(import)i(M1)g(M2\))168 788 y(\(display)f(\(list)h(a)h(b)f +(c\)\)\))343 838 y Fu(=)-7 b Fp(\))21 b Fv(displays)f(\(m1-a)h(m1-b)g +(m2-c\))37 979 y Fn(Note:)56 b Fu(There)19 b(is)g(no)f(kind)g(of)g +Fn(tr)n(ansitivity)j Fu(in)d(mo)q(dule)f(imp)q(ortations:)26 +b(when)19 b(the)g(mo)q(dule)e Fl(C)k Fu(imp)q(orts)c(the)37 +1035 y(mo)q(dule)h Fl(B)j Fu(whic)o(h)d(an)h(imp)q(orter)f(of)g +Fl(A)p Fu(,)h(the)g(sym)o(b)q(ols)e(of)h Fl(A)h Fu(are)g(not)g(visible) +f(from)f Fl(C)s Fu(,)i(except)h(b)o(y)e(explicitly)37 +1092 y(imp)q(orting)d(the)j Fl(A)f Fu(mo)q(dule)f(from)f +Fl(C)s Fu(.)57 b Fn(Note:)50 b Fu(The)17 b(mo)q(dule)f +Fv(STk)p Fu(,)g(whic)o(h)h(con)o(tains)g(the)h Fn(glob)n(al)f +(variables)j Fu(is)37 1148 y(alw)o(a)o(ys)12 b(implicitly)d(imp)q +(orted)i(from)f(a)i(mo)q(dule.F)m(urthermore,)e(this)i(mo)q(dule)f(is)h +(alw)o(a)o(ys)f(placed)h(at)g(the)h(end)g(of)e(the)37 +1205 y(list)j(of)f(imp)q(orted)g(mo)q(dules.)37 1306 +y Fw(\(export-symbol)22 b FD(symb)n(ol)i(mo)n(dule)s +Fw(\))963 b FF(pro)q(cedure)37 1386 y(Exp)q(orts)17 b +FD(symb)n(ol)j FF(from)c FD(mo)n(dule)s FF(.)24 b(This)17 +b(pro)q(cedure)g(can)g(b)q(e)g(useful,)h(when)f(debugging)g(a)f +(program,)g(to)37 1443 y(mak)o(e)i(visible)i(a)e(giv)o(en)g(sym)o(b)q +(ol)g(without)g(reloading)h(or)f(rede\014ning)h(the)f(mo)q(dule)h +(where)f(this)h(sym)o(b)q(ol)37 1499 y(w)o(as)c(de\014ned.)37 +1601 y Fw(\(export-all-symbols)n(\))1164 b FF(pro)q(cedure)37 +1681 y(Exp)q(orts)14 b(all)g(the)g(sym)o(b)q(ols)g(of)f(curren)o(t)h +(mo)q(dule)h(.)k(If)14 b(sym)o(b)q(ols)g(are)g(added)g(to)f(the)h +(curren)o(t)f FD(mo)n(dule)18 b FF(after)37 1737 y(the)e(call)g(to)f +Fw(export-all-symbols)p FF(,)d(they)j(are)g(automatically)h(exp)q +(orted.)37 1794 y Fn(Note:)36 b Fu(The)13 b Fv(STk)f +Fu(mo)q(dule)f(exp)q(ort)i(all)f(the)h(sym)o(b)q(ols)e(whic)o(h)i(are)g +(de\014ned)g(in)g(it)f(\(i.e.)17 b Fn(glob)n(al)d(variables)h +Fu(are)e(visible,)37 1850 y(if)h(not)f(hidden,)h(from)e(all)h(the)h(mo) +q(dules)f(of)g(a)h(program.)37 1952 y Fw(\(with-module)23 +b FD(name)g Fo(h)p FF(expr)583 1959 y FA(1)603 1952 y +Fo(i)h(h)p FF(expr)750 1959 y FA(2)769 1952 y Fo(i)g +FD(.)7 b(.)g(.)g Fw(\))847 b FF(syn)o(tax)37 2032 y(Ev)m(aluates)15 +b(the)g(expressions)g(of)f Fo(h)p FF(expr)713 2039 y +FA(1)733 2032 y Fo(i)g(h)p FF(expr)870 2039 y FA(2)889 +2032 y Fo(i)h FF(.)7 b(.)g(.)g(in)15 b(the)g(en)o(vironmen)o(t)g(of)f +(mo)q(dule)h FD(name)s FF(.)20 b(Mo)q(dule)37 2088 y +FD(name)e FF(m)o(ust)13 b(ha)o(v)o(e)h(b)q(een)h(created)f(previously)i +(b)o(y)e(a)g Fw(define-module)p FF(.)j(The)e(result)f(of)g +Fw(with-module)e FF(is)37 2145 y(the)k(result)f(of)g(the)g(ev)m +(aluation)i(of)e(the)g(last)g Fo(h)p FF(expr)p Fo(i)p +FF(.)168 2229 y Fv(\(define-module)k(M)212 2279 y(\(define)h(a)i(1\)) +212 2329 y(\(define)e(b)i(2\)\))168 2428 y(\(with-module)e(M)234 +2478 y(\(+)h(a)h(b\)\))343 2528 y Fu(=)-7 b Fp(\))21 +b Fv(3)37 2714 y Fw(\(current-module)n(\))1260 b FF(pro)q(cedure)37 +2787 y(Returns)16 b(the)g(curren)o(t-mo)q(dule.)p eop %%Page: 33 33 -33 32 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(33)p 75 64 1763 2 v 153 179 a Ft(\(decompose-)o(fi)o(le-)o(nam)o(e)16 -b("/a/b/c.st)o(k"\))350 224 y Fs(=)-6 b Fn(\))19 b Ft(\("/")f("a")h -("b")f("c.stk"\))153 270 y(\(decompose-)o(fi)o(le-)o(nam)o(e)e -("a/b/c.stk)o("\))350 316 y Fs(=)-6 b Fn(\))19 b Ft(\(".")f("a")h("b")f -("c.stk"\))75 481 y Fu(\(file-is-director)o(y?)h FB(string)t -Fu(\))1018 b FD(pro)q(cedure)75 531 y Fu(\(file-is-regular?)18 -b FB(string)t Fu(\))1062 b FD(pro)q(cedure)75 581 y Fu -(\(file-is-readable)o(?)19 b FB(string)t Fu(\))1040 b -FD(pro)q(cedure)75 630 y Fu(\(file-is-writable)o(?)19 -b FB(string)t Fu(\))1040 b FD(pro)q(cedure)75 680 y Fu -(\(file-is-executab)o(le?)19 b FB(string)t Fu(\))996 -b FD(pro)q(cedure)75 730 y Fu(\(file-exists?)19 b FB(string)t -Fu(\))1149 b FD(pro)q(cedure)75 804 y(Returns)16 b Fu(#t)e -FD(if)g(the)i(predicate)g(is)f(true)h(for)e(the)i(path)f(name)e(giv)o -(en)i(in)f FB(string)s FD(;)h(returns)i Fu(#f)d FD(otherwise)i(\(or)f -(if)75 853 y FB(string)i FD(denotes)e(a)f(\014le)g(whic)o(h)f(do)q(es)i -(not)f(exist\).)75 948 y Fu(\(glob)21 b Fx(patter)q(n)343 -954 y Fy(1)383 948 y Fx(patter)q(n)520 954 y Fy(2)560 -948 y Fx(:)7 b(:)g(:)f Fu(\))1021 b FD(pro)q(cedure)75 -1021 y(The)17 b(co)q(de)h(for)e Fu(glob)g FD(is)g(tak)o(en)h(from)e -(the)j(Tcl)e(library)m(.)26 b(It)16 b(p)q(erforms)h(\014le)f(name)g -(\\globbing")f(in)h(a)g(fashion)75 1071 y(similar)11 -b(to)i(the)h(csh)g(shell.)j Fu(Glob)c FD(returns)h(a)f(list)g(of)g(the) -h(\014lenames)e(that)h(matc)o(h)f(at)h(least)h(one)f(of)g(the)h -FB(p)n(attern)75 1121 y FD(argumen)o(ts.)j(The)e FB(p)n(attern)h -FD(argumen)o(ts)e(ma)o(y)e(con)o(tain)h(the)h(follo)o(wing)e(sp)q -(ecial)i(c)o(haracters:)137 1202 y Fm(\017)21 b FD(?)d(Matc)o(hes)d(an) -o(y)e(single)h(c)o(haracter.)137 1281 y Fm(\017)21 b -Fu(*)13 b FD(Matc)o(hes)i(an)o(y)f(sequence)i(of)d(zero)i(or)f(more)f -(c)o(haracters.)137 1360 y Fm(\017)21 b Fu([)p FD(c)o(hars)p -Fu(])14 b FD(Matc)o(hes)g(an)o(y)f(single)h(c)o(haracter)h(in)e(c)o -(hars.)18 b(If)13 b(c)o(hars)i(con)o(tains)e(a)g(sequence)j(of)d(the)h -(form)e Fu(a-b)179 1410 y FD(then)i(an)o(y)g(c)o(haracter)h(b)q(et)o(w) -o(een)g Fu(a)f FD(and)g Fu(b)f FD(\(inclusiv)o(e\))h(will)f(matc)o(h.) -137 1489 y Fm(\017)21 b Fu(\\)p FD(x)13 b(Matc)o(hes)i(the)g(c)o -(haracter)g Fu(x)p FD(.)137 1568 y Fm(\017)21 b(f)p FD(a,b,...)p -Fm(g)11 b FD(Matc)o(hes)k(an)o(y)e(of)g(the)i(strings)f -Fu(a)p FD(,)f Fu(b)p FD(,)g(etc.)75 1650 y(As)g(with)g(csh,)h(a)e(\\.") -18 b(at)12 b(the)i(b)q(eginning)e(of)h(a)g(\014le's)f(name)g(or)h(just) -g(after)h(a)e(\\/")h(m)o(ust)f(b)q(e)h(matc)o(hed)f(explicitly)75 -1700 y(or)i(with)f(a)h Fm(fg)f FD(construct.)20 b(In)14 -b(addition,)e(all)h(\\/")g(c)o(haracters)j(m)o(ust)c(b)q(e)j(matc)o -(hed)e(explicitly)m(.)75 1750 y(If)k(the)g(\014rst)h(c)o(haracter)g(in) -f(a)g(pattern)h(is)f(\\)p Fu(~)p FD(")f(then)h(it)g(refers)i(to)d(the)i -(home)e(directory)i(of)e(the)i(user)g(whose)75 1799 y(name)11 -b(follo)o(ws)f(the)j(\\)p Fu(~)p FD(".)k(If)12 b(the)g(\\)p -Fu(~)p FD(")g(is)g(follo)o(w)o(ed)e(immediately)f(b)o(y)j(\\/")f(then)i -(the)g(v)n(alue)e(of)h(the)h(en)o(vironmen)o(t)75 1849 -y(v)n(ariable)g(HOME)h(is)g(used.)75 1899 y Fu(Glob)i -FD(di\013ers)i(from)d(csh)j(globbing)d(in)i(t)o(w)o(o)f(w)o(a)o(ys.)27 -b(First,)17 b(it)g(do)q(es)h(not)e(sort)i(its)f(result)g(list)g(\(use)h -(the)f Fu(sort)75 1949 y FD(pro)q(cedure)g(if)c(y)o(ou)i(w)o(an)o(t)f -(the)h(list)f(sorted\).)22 b(Second,)15 b(glob)e(only)h(returns)j(the)e -(names)f(of)g(\014les)h(that)f(actually)75 1999 y(exist;)g(in)f(csh)i -(no)f(c)o(hec)o(k)g(for)g(existence)i(is)d(made)g(unless)i(a)e(pattern) -i(con)o(tains)f(a)f(?,)g Fu(*)p FD(,)h(or)f Fu([])p FD(construct.)75 -2093 y Fu(\(getcwd)o(\))1409 b FD(pro)q(cedure)75 2166 -y Fu(Getcwd)13 b FD(returns)i(a)f(string)g(con)o(taining)e(the)j -(curren)o(t)g(w)o(orking)e(directory)m(.)75 2261 y Fu(\(chdir)21 -b FB(string)t Fu(\))1301 b FD(pro)q(cedure)75 2334 y -Fu(Chdir)13 b FD(c)o(hanges)h(the)h(curren)o(t)g(directory)g(to)f(the)g -(directory)h(giv)o(en)e(in)h FB(string)s FD(.)75 2428 -y Fu(\(getpid)20 b FB(string)t Fu(\))1280 b FD(pro)q(cedure)75 -2502 y(Returns)15 b(the)g(system)g(pro)q(cess)h(n)o(um)o(b)q(er)e(of)g -(the)h(curren)o(t)h Fz(STk)f FD(in)o(terpreter)h(\(i.e.)k(the)15 -b(Unix)f FB(pid)p FD(\).)20 b(Result)15 b(is)75 2552 -y(an)f(in)o(teger.)75 2646 y Fu(\(system)20 b FB(string)t -Fu(\))1280 b FD(pro)q(cedure)75 2696 y Fu(\(!)21 b FB(string)t -Fu(\))1389 b FD(pro)q(cedure)75 2769 y(Sends)13 b(the)g(giv)o(en)f -FB(string)j FD(to)d(the)h(system)f(shell)g FB(/bin/sh)t -FD(.)17 b(The)c(result)g(of)e Fu(system)g FD(is)h(the)h(in)o(teger)g -(status)g(co)q(de)75 2819 y(the)h(shell)g(returns.)p -eop +33 32 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(33)p 37 64 1838 2 v 168 190 a Fv(\(define-module)19 +b(M)234 240 y(...\))190 340 y(\(with-module)g(M)234 390 +y(\(cons)h(\(eq?)h(\(current-module\))e(\(find-module)g('M\)\))364 +439 y(\(eq?)i(\(current-module\))e(\(find-module)g('STk\)\)\)\))343 +539 y Fu(=)-7 b Fp(\))21 b Fv(\(#t)g(.)h(#f\))37 781 +y Fw(\(select-module)g FD(name)s Fw(\))1216 b FF(syn)o(tax)37 +865 y(Ev)m(aluates)19 b(the)e(expressions)i(whic)o(h)f(follo)o(ws)g(in) +g(mo)q(dule)h FD(name)i FF(en)o(vironmen)o(t.)27 b(Mo)q(dule)19 +b FD(name)i FF(m)o(ust)37 921 y(ha)o(v)o(e)12 b(b)q(een)g(created)f +(previously)i(b)o(y)f(a)f Fw(define-module)p FF(.)16 +b(The)c(result)g(of)f Fw(select-module)f FF(is)h(unde\014ned.)37 +978 y Fw(Select-module)j FF(is)i(particularly)h(useful)f(when)g +(debugging)h(since)f(it)g(allo)o(ws)g(to)f(place)h(toplev)o(el)h(ev)m +(alu-)37 1034 y(ation)f(in)g(a)f(particular)g(mo)q(dule.)21 +b(The)16 b(follo)o(wing)g(transcript)f(sho)o(ws)f(an)i(usage)f(of)f +Fw(select-module)1809 1018 y FA(5)1827 1034 y FF(:)125 +1154 y Fv(STk>)21 b(\(define)f(foo)h(1\))125 1204 y(STk>)g +(\(define-module)e(bar)299 1254 y(\(define)h(foo)i(2\)\))125 +1304 y(STk>)f(foo)125 1354 y(1)125 1404 y(STk>)g(\(select-module)e +(bar\))125 1453 y(bar>)i(foo)125 1503 y(2)125 1553 y(bar>)g +(\(select-module)e(STk\))125 1603 y(STk>)37 1861 y Fw(\(module-name)k +FD(mo)n(dule)s Fw(\))1166 b FF(pro)q(cedure)37 1944 y(Returns)16 +b(the)g(name)f(\(a)f(sym)o(b)q(ol\))i(asso)q(ciated)f(to)f(a)h +FD(mo)n(dule)t FF(.)37 2089 y Fw(\(module-imports)22 +b FD(mo)n(dule)s Fw(\))1095 b FF(pro)q(cedure)37 2173 +y(Returns)16 b(the)g(list)g(mo)q(dules)g(that)e FD(mo)n(dule)19 +b FF(imp)q(orts.)37 2318 y Fw(\(module-exports)j FD(mo)n(dule)s +Fw(\))1095 b FF(pro)q(cedure)37 2401 y(Returns)16 b(the)g(list)g(of)e +(sym)o(b)q(ols)i(exp)q(orted)f(b)o(y)g FD(mo)n(dule)t +FF(.)37 2546 y Fw(\(module-symbols)22 b FD(mo)n(dule)s +Fw(\))1095 b FF(pro)q(cedure)37 2629 y(Returns)16 b(the)g(list)g(sym)o +(b)q(ols)f(that)f(ere)i(de\014ned)g(in)g FD(mo)n(dule)t +FF(.)p 37 2699 735 2 v 89 2726 a Ft(5)107 2742 y Fs(This)d(transcript)g +(uses)g(the)g(default)g(v)n(alue)h(for)e(the)h(function)g +Fq(repl-displ)o(ay-)o(pro)o(mp)o(t)c Fs(\(see)k(page)g(72\))f(whic)o(h) +h(displa)o(ys)37 2787 y(the)h(name)f(of)g(the)g(curren)o(t)g(mo)q(dule) +i(in)f(the)f(prompt.)p eop %%Page: 34 34 -34 33 bop 75 47 a FC(34)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(exec)21 b FB(string)t Fu(\))1323 -b FD(pro)q(cedure)75 252 y(Executes)23 b(the)e(command)d(con)o(tained)j -(in)f FB(string)k FD(and)d(redirects)h(its)f(output)g(in)f(a)h(string.) -39 b(This)20 b(string)75 302 y(constitutes)15 b(the)g(result)f(of)g -Fu(exec)p FD(.)75 409 y Fu(\(getenv)20 b FB(string)t -Fu(\))1280 b FD(pro)q(cedure)75 478 y(Lo)q(oks)17 b(for)h(the)g(en)o -(vironmen)o(t)f(v)n(ariable)f(named)h FB(string)j FD(and)e(returns)h -(its)f(v)n(alue)f(as)h(a)f(string,)h(if)f(it)g(exists.)75 -524 y(Otherwise,)e Fu(getenv)d FD(returns)k Fu(#f)p FD(.)153 -604 y Ft(\(getenv)h("SHELL"\))350 650 y Fs(=)-6 b Fn(\))19 -b Ft("/bin/zsh")75 836 y Fu(\(setenv!)h FB(var)i(value)s -Fu(\))1191 b FD(pro)q(cedure)75 905 y(Sets)13 b(the)f(en)o(vironmen)o -(t)f(v)n(ariable)g FB(var)16 b FD(to)c FB(value)s FD(.)18 -b FB(V)m(ar)d FD(and)d FB(value)j FD(m)o(ust)c(b)q(e)i(strings.)18 -b(The)12 b(result)h(of)e Fu(setenv!)75 951 y FD(is)j(unde\014ned.)153 -1030 y Ft(\(getenv)j("SHELL"\))350 1076 y Fs(=)-6 b Fn(\))19 -b Ft("/bin/zsh")75 1274 y FG(6.17)56 b(Addresses)75 1351 -y FD(An)12 b FB(addr)n(ess)f FD(is)g(a)h(Sc)o(heme)f(ob)r(ject)h(whic)o -(h)g(con)o(tains)f(a)g(reference)j(to)e(another)f(Sc)o(heme)h(ob)r -(ject.)18 b(This)11 b(t)o(yp)q(e)h(can)75 1400 y(b)q(e)f(view)o(ed)f -(as)g(a)f(kind)h(of)f(p)q(oin)o(ter)h(to)g(a)g(Sc)o(heme)g(ob)r(ject.) -17 b(Addresses,)c(ev)o(en)e(though)e(they)i(are)f(v)o(ery)g(dangerous,) -75 1450 y(ha)o(v)o(e)j(b)q(een)h(in)o(tro)q(duced)f(in)g -Fz(STk)g FD(so)g(that)g(ob)r(jects)h(that)f(ha)o(v)o(e)g(no)g -(\\readable")f(external)i(represen)o(tation)g(can)75 -1500 y(still)g(b)q(e)h(transformed)e(in)o(to)h(strings)h(and)f(bac)o(k) -h(without)f(loss)g(of)g(information.)j(Adresses)g(w)o(ere)e(useful)g -(with)75 1550 y(pre-3.0)f(v)o(ersion)g(of)f Fz(STk)p -FD(;)h(their)g(usage)h(is)e(no)o(w)h FC(stongly)g(discouraged)p -FD(,)d(unless)k(y)o(ou)e(kno)o(w)h(what)g(y)o(ou)f(do.)75 -1600 y(In)i(particular,)h(an)f(address)i(can)e(designate)h(an)f(ob)r -(ject)i(at)e(a)g(time)f(and)i(another)g(one)f(later)h(\(i.e.)22 -b(after)16 b(the)75 1649 y(garbage)e(collector)g(has)g(mark)o(ed)f(the) -h(zone)h(as)f(free\).)75 1699 y(Addresses)i(are)f(prin)o(ted)f(with)g -(a)f(sp)q(ecial)i(syn)o(tax:)j Fu(#pNNN)p FD(,)12 b(where)j -Fu(NNN)f FD(is)g(an)f(hexadecimal)g(v)n(alue.)k(Reading)75 -1749 y(this)d(v)n(alue)f(bac)o(k)h(yields)g(the)g(original)e(ob)r(ject) -j(whose)f(lo)q(cation)f(is)h Fu(NNN)p FD(.)75 1855 y -Fu(\(address-of)20 b FB(obj)6 b Fu(\))1241 b FD(pro)q(cedure)75 -1929 y(Returns)15 b(the)f(address)h(of)f Fu(obj)p FD(.)75 -2036 y Fu(\(address?)20 b FB(obj)6 b Fu(\))1285 b FD(pro)q(cedure)75 -2109 y(Returns)15 b Fu(#t)e FD(if)g FB(obj)20 b FD(is)14 -b(an)f(address;)i(returns)h Fu(#f)d FD(otherwise.)75 -2227 y FG(6.18)56 b(Signals)75 2304 y Fz(STk)13 b FD(allo)o(ws)e(the)i -(use)g(to)f(asso)q(ciate)i(handlers)e(to)h(signals.)k(Signal)11 -b(handlers)i(for)f(a)g(giv)o(en)g(signal)f(can)i(ev)o(en)g(b)q(e)75 -2354 y(c)o(hained)i(in)f(a)h(list.)20 b(When)15 b(a)g(signal)f(o)q -(ccurs,)i(the)f(\014rst)h(signal)d(of)i(the)g(list)f(is)h(executed.)23 -b(Unless)16 b(this)e(signal)75 2404 y(yields)g(the)i(sym)o(b)q(ol)d -Fu(break)g FD(the)i(next)g(signal)f(of)g(the)h(list)g(is)f(ev)n -(aluated.)20 b(When)15 b(a)f(signal)g(handler)h(is)f(called,)75 -2454 y(the)g(in)o(teger)h(v)n(alue)e(of)g(this)h(signal)f(is)h(passed)h -(to)f(it)f(as)h(\(the)h(only\))e(parameter.)75 2504 y(The)19 -b(follo)o(wing)e(PO)o(XIX.1)h(constan)o(ts)i(for)f(signal)e(n)o(um)o(b) -q(ers)i(are)g(de\014ned:)29 b Fu(SIGABRT)p FD(,)17 b -Fu(SIGALRM)p FD(,)g Fu(SIGFPE)p FD(,)75 2554 y Fu(SIGHUP)p -FD(,)i Fu(SIGILL)p FD(,)g Fu(SIGINT)p FD(,)g Fu(SIGKILL)p -FD(,)f Fu(SIGPIPE)p FD(,)h Fu(SIGQUIT)p FD(,)g Fu(SIGSEGV)p -FD(,)f Fu(SIGTERM)p FD(,)h Fu(SIGUSR1)p FD(,)h Fu(SIGUSR2)p -FD(,)75 2603 y Fu(SIGCHLD)p FD(,)g Fu(SIGCONT)p FD(,)g -Fu(SIGSTOP)p FD(,)f Fu(SIGTSTP)p FD(,)h Fu(SIGTTIN)p -FD(,)g Fu(SIGTTOU)p FD(.)g(Moreo)o(v)o(er,)k(the)e(follo)o(wing)d -(constan)o(ts,)75 2653 y(whic)o(h)c(are)h(often)g(a)o(v)n(ailable)d(on) -i(most)g(systems)g(are)h(also)f(de\014ned)1147 2638 y -Fy(4)1167 2653 y FD(:)21 b Fu(SIGTRAP)p FD(,)14 b Fu(SIGIOT)p -FD(,)f Fu(SIGEMT)p FD(,)h Fu(SIGBUS)p FD(,)75 2703 y -Fu(SIGSYS)p FD(,)j Fu(SIGURG)p FD(,)f Fu(SIGCLD)p FD(,)h -Fu(SIGIO)p FD(,)g Fu(SIGPOLL)p FD(,)f Fu(SIGXCPU)p FD(,)h -Fu(SIGXFSZ)p FD(,)f Fu(SIGVTALRM)p FD(,)g Fu(SIGPROF)p -FD(,)h Fu(SIGWINCH)p FD(,)75 2753 y Fu(SIGLOST)p FD(.)p -75 2780 705 2 v 121 2807 a Fr(4)139 2819 y Fq(Some)10 -b(of)h(these)f(constan)o(ts)f(ma)o(y)i(b)q(e)g(unde\014ned)e(if)i(they) -f(are)h(not)g(supp)q(orted)e(b)o(y)i(y)o(our)f(system)p -eop +34 33 bop 37 45 a FE(34)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FI(6.14)56 b(En)n(vironmen)n(ts)37 +280 y FF(En)o(vironmen)o(ts)15 b(are)f(\014rst)h(class)f(ob)s(jects)g +(in)i(STk.)k(The)14 b(follo)o(wing)i(primitiv)o(es)g(are)e(de\014ned)i +(on)e(en)o(viron-)37 336 y(men)o(ts.)37 460 y Fw(\(environment?)23 +b FD(obj)7 b Fw(\))1218 b FF(pro)q(cedure)37 541 y(Returns)16 +b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 b(an)g(en)o(vironmen)o(t,)h +(otherwise)f(returns)g Fw(#f)p FF(.)37 673 y Fw(\(the-environment)n(\)) +1236 b FF(pro)q(cedure)37 755 y(Returns)16 b(the)g(curren)o(t)f(en)o +(vironmen)o(t.)37 887 y Fw(\(global-environment)n(\))1164 +b FF(pro)q(cedure)37 969 y(Returns)16 b(the)g(\\global")f(en)o +(vironmen)o(t)g(\(i.e.)20 b(the)c(toplev)o(el)g(en)o(vironmen)o(t\).)37 +1101 y Fw(\(parent-environment)22 b FD(env)5 b Fw(\))1067 +b FF(pro)q(cedure)37 1183 y(Returns)16 b(the)g(paren)o(t)f(en)o +(vironmen)o(t)h(of)f FD(env)t FF(.)20 b(If)c(en)o(v)f(is)h(the)g +(\\global")f(en)o(vironmen)o(t)h(\(i.e.)k(the)c(toplev)o(el)37 +1240 y(en)o(vironmen)o(t\),)f Fw(parent-environment)e +FF(returns)i Fw(#f)p FF(.)37 1372 y Fw(\(environment->list)22 +b FD(envir)n(onment)t Fw(\))913 b FF(pro)q(cedure)37 +1447 y(Returns)17 b(a)f(list)g(of)g FD(a-lists)p FF(,)f(represen)o +(ting)i(the)f(bindings)i(in)f FD(envir)n(onment)s FF(.)22 +b(Eac)o(h)16 b FD(a-list)f FF(describ)q(es)j(one)37 1497 +y(lev)o(el)f(of)e(bindings,)i(with)e(the)g(innermost)h(lev)o(el)g +(coming)g(\014rst.)125 1593 y Fv(\(define)k(E)i(\(let)f(\(\(a)g(1\))g +(\(b)g(2\)\))386 1643 y(\(let)g(\(\(c)g(3\)\))430 1693 +y(\(the-environment)o(\)\)\)\))125 1792 y(\(car)g(\(environment->li)o +(st)e(E\)\))i Fu(=)-7 b Fp(\))22 b Fv(\(\(c)f(.)g(3\)\))125 +1892 y(\(cadr)f(\(environment->list)e(E\)\))p Fu(=)-7 +b Fp(\))22 b Fv(\(\(b)f(.)g(2\))h(\(a)f(.)h(1\)\))37 +2117 y Fw(\(procedure-environment)f FD(pr)n(o)n(c)n(e)n(dur)n(e)s +Fw(\))882 b FF(pro)q(cedure)37 2192 y(Returns)18 b(the)g(en)o(vironmen) +o(t)f(asso)q(ciated)h(with)f FD(pr)n(o)n(c)n(e)n(dur)n(e)s +FF(.)26 b Fw(Procedure-environment)14 b FF(returns)k +Fw(#f)e FF(if)37 2242 y FD(pr)n(o)n(c)n(e)n(dur)n(e)j +FF(is)c(not)g(a)g(closure.)125 2338 y Fv(\(define)20 +b(foo)h(\(let)g(\(\(a)g(1\)\))g(\(lambda)g(\(\))g(a\)\)\))125 +2388 y(\(car)g(\(environment->li)o(st)321 2438 y(\(procedure-envir)o +(onmen)o(t)e(foo\)\)\))735 2487 y Fu(=)-7 b Fp(\))22 +b Fv(\(\(a)f(.)g(1\)\))37 2712 y Fw(\(module-environment)h +FD(mo)n(dule)s Fw(\))999 b FF(pro)q(cedure)37 2787 y(Returns)16 +b(the)g(en)o(vironmen)o(t)f(asso)q(ciated)g(to)g(the)g(mo)q(dule)i +FD(mo)n(dule)s FF(.)p eop %%Page: 35 35 -35 34 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(35)p 75 64 1763 2 v 75 179 a FD(See)11 b(y)o(our)f(Unix)f(do)q(cumen) -o(tation)g(for)h(the)g(exact)h(meaning)d(of)h(eac)o(h)i(constan)o(t)f -(or)g([7)o(].)17 b(Use)10 b(sym)o(b)q(olic)f(constan)o(ts)75 -229 y(rather)15 b(than)f(their)g(n)o(umeric)f(v)n(alue)g(if)g(y)o(ou)h -(plan)f(to)h(p)q(ort)g(y)o(our)g(program)e(on)h(another)i(system.)75 -278 y(A)d(sp)q(ecial)h(signal,)e(managed)g(b)o(y)h(the)h(in)o -(terpreter,)h(is)e(also)f(de\014ned:)19 b Fu(SIGHADGC)p -FD(.)10 b(This)i(signal)f(is)h(raised)h(when)75 328 y(the)h(garbage)g -(collector)g(phase)h(terminates.)75 378 y(When)h(the)g(in)o(terpreter)i -(starts)f(running,)e(all)g(signals)g(are)h(sets)i(to)d(their)h(default) -g(v)n(alue,)f(excepted)j Fu(SIGINT)75 428 y FD(\(generally)c(b)q(ound)g -(to)f Fu(C)p FD(on)o(trol-C\))g(whic)o(h)h(is)g(handled)g(sp)q(ecially) -m(.)75 529 y Fu(\(set-signal-handl)o(er!)19 b FB(sig)i(hand)r(ler)t -Fu(\))894 b FD(pro)q(cedure)75 603 y(Replace)14 b(the)h(handler)f(for)f -(signal)g FB(sig)k FD(with)d FB(hand)r(ler)5 b FD(.)18 -b(Handler)c(can)g(b)q(e)144 674 y(-)21 b Fu(#t)13 b FD(to)h(reset)h -(the)g(signal)e(handler)h(for)f FB(sig)18 b FD(to)13 -b(the)i(default)e(system)h(handler.)144 751 y(-)21 b -Fu(#f)15 b FD(to)g(completly)e(ignore)i FB(sig)k FD(\(Note)d(that)f(P)o -(osix.1)f(states)j(that)e Fu(SIGKILL)f FD(and)h Fu(SIGSTOP)e -FD(cannot)j(b)q(e)179 801 y(caugh)o(t)e(or)g(ignored\).)144 -878 y(-)21 b(a)13 b(one)h(parameter)g(pro)q(cedure.)75 -949 y(This)g(pro)q(cedure)i(returns)f(the)g(new)f(handler,)f(or)h -(\(length)g(1\))g(handler)g(list,)f(asso)q(ciated)i(to)e -FB(sig)t FD(.)153 1021 y Ft(\(let*)18 b(\(\(x)136 b(#f\))291 -1067 y(\(handler)16 b(\(lambda)h(\(i\))i(\(set!)e(x)j(#t\)\)\)\))193 -1112 y(\(set-sign)o(al)o(-ha)o(ndl)o(er)o(!)d(|SIGHADG)o(C|)f -(handler\))193 1158 y(\(gc\))193 1204 y(x\))350 1249 -y Fs(=)-6 b Fn(\))19 b Ft(#t)75 1410 y Fu(\(add-signal-handl)o(er!)g -FB(sig)i(hand)r(ler)t Fu(\))894 b FD(pro)q(cedure)75 -1483 y(Adds)18 b FB(hand)r(ler)k FD(to)17 b(the)h(list)f(of)g(handlers) -h(for)f(signal)g FB(sig)s FD(.)29 b(If)17 b(the)h(old)f(signal)f -(handler)h(is)h(a)f(b)q(o)q(olean,)g(this)75 1533 y(pro)q(cedure)g(is)f -(equiv)n(alen)o(t)e(to)h Fu(set-signal-handler!)o FD(.)20 -b(Otherwise,)d(the)f(new)f(handler)h(is)f(added)h(in)f(fron)o(t)75 -1583 y(of)d(the)h(previous)g(list)f(of)g(handler.)17 -b(This)c(pro)q(cedure)h(returns)g(the)f(new)g(handler,)g(or)f(handler)h -(list,)f(asso)q(ciated)75 1633 y(to)i FB(sig)s FD(.)153 -1705 y Ft(\(let*)k(\(\(x)156 b('\(\)\))291 1751 y(\(handler1)16 -b(\(lambda)h(\(i\))h(\(set!)g(x)h(\(cons)f(1)h(x\)\)\)\))291 -1796 y(\(handler2)d(\(lambda)h(\(i\))h(\(set!)g(x)h(\(cons)f(2)h -(x\)\)\)\)\))193 1842 y(\(add-sign)o(al)o(-ha)o(ndl)o(er)o(!)e -(|SIGHADG)o(C|)f(handler1\))193 1888 y(\(add-sign)o(al)o(-ha)o(ndl)o -(er)o(!)h(|SIGHADG)o(C|)f(handler2\))193 1933 y(\(gc\))193 -1979 y(x\))350 2025 y Fs(=)-6 b Fn(\))19 b Ft(\(1)g(2\))153 -2169 y(\(let*)f(\(\(x)156 b('\(\)\))291 2215 y(\(handler1)16 -b(\(lambda)h(\(i\))h(\(set!)g(x)h(\(cons)f(1)h(x\)\)\)\))291 -2260 y(\(handler2)d(\(lambda)h(\(i\))h(\(set!)g(x)h(\(cons)f(2)h(x\)\)) -g('break\)\))o(\))193 2306 y(\(add-sign)o(al)o(-ha)o(ndl)o(er)o(!)e -(|SIGHADG)o(C|)f(handler1\))193 2352 y(\(add-sign)o(al)o(-ha)o(ndl)o -(er)o(!)h(|SIGHADG)o(C|)f(handler2\))193 2397 y(\(gc\))193 -2443 y(x\))350 2489 y Fs(=)-6 b Fn(\))19 b Ft(\(2\))75 -2649 y Fu(\(get-signal-handl)o(ers)m(\))1126 b FD(pro)q(cedure)75 -2699 y Fu(\(get-signal-handl)o(ers)19 b FB(sig)t Fu(\))1051 -b FD(pro)q(cedure)75 2773 y(Returns)21 b(the)g(handlers,)h(or)e(the)h -(list)e(of)h(handlers,)i(asso)q(ciated)f(to)f(the)g(signal)g -FB(sig)s FD(.)37 b(If)20 b FB(sig)j FD(is)d(omitted,)75 -2823 y Fu(get-signal-handle)o(rs)11 b FD(returns)k(a)f(v)o(ector)h(of)e -(all)g(the)h(signal)f(handlers)h(curren)o(tly)h(in)e(e\013ect.)p +35 34 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(35)p 37 64 1838 2 v 125 190 a Fv(\(define-module)19 +b(M)190 240 y(\(define)h(a)i(1\)\))125 290 y(\(car)f(\(environment->li) +o(st)321 340 y(\(module-environm)o(ent)e(\(find-module)g('M\)\)\)\))735 +390 y Fu(=)-7 b Fp(\))22 b Fv(\(\(a)f(.)g(1\)\))37 577 +y Fw(\(symbol-bound?)h FD(symb)n(ol)5 b Fw(\))1123 b +FF(pro)q(cedure)37 634 y Fw(\(symbol-bound?)22 b FD(symb)n(ol)i(envir)n +(onment)t Fw(\))853 b FF(pro)q(cedure)37 714 y(Returns)12 +b Fw(#t)f FF(if)g FD(symb)n(ol)k FF(has)c(a)g(v)m(alue)h(in)g(the)f +(giv)o(en)g FD(envir)n(onment)s FF(,)h(otherwise)f(returns)g +Fw(#f)p FF(.)18 b FD(Envir)n(onment)37 770 y FF(ma)o(y)d(b)q(e)h +(omitted,)f(in)h(whic)o(h)g(case)f(it)g(defaults)h(to)f(the)g(global)h +(en)o(vironmen)o(t.)37 883 y FI(6.15)56 b(Macros)37 969 +y FB(STk)15 b FF(pro)o(vides)h(lo)o(w)f(lev)o(el)h(macros.)37 +1026 y Fn(Note:)35 b Fk(STk)12 b Fu(macros)f(are)h(not)f(the)i(sort)f +(of)f(macros)g(de\014ned)i(in)e(the)h(app)q(endix)g(of)f +Fn(R)1387 1011 y Fm(4)1399 1026 y Fl(RS)r Fu(,)h(but)g(rather)h(the)f +(macros)37 1082 y(one)j(can)f(\014nd)g(in)f(most)g(of)g(Lisp)h +(dialects.)37 1197 y Fw(\(macro)24 b Fo(h)p FF(formals)p +Fo(i)e(h)p FF(b)q(o)q(dy)p Fo(i)p Fw(\))1177 b FF(syn)o(tax)37 +1277 y Fw(Macro)18 b FF(p)q(ermits)g(to)f(create)g(a)h(macro.)27 +b(When)18 b(a)f(macro)g(is)h(called,)i(the)e(whole)g(form)f(\(i.e.)28 +b(the)18 b(macro)37 1334 y(itself)i(and)f(its)g(parameters\))f(is)h +(passed)g(to)f(the)h(macro)f(b)q(o)q(dy)l(.)31 b(Binding)21 +b(asso)q(ciation)e(is)g(done)g(in)h(the)37 1390 y(en)o(vironmen)o(t)c +(of)f(the)h(call.)21 b(The)16 b(result)g(of)f(the)g(binding)j(asso)q +(ciation)d(is)h(called)h(the)f FD(macr)n(o-exp)n(ansion)p +FF(.)37 1447 y(The)f(result)h(of)e(the)h(macro)f(call)i(is)f(the)g +(result)g(of)f(the)h(ev)m(aluation)h(of)e(the)h(macro)f(expansion)h(in) +h(the)f(call)37 1503 y(en)o(vironmen)o(t.)125 1594 y +Fv(\(define)20 b(foo)h(\(macro)g(f)g(\022\(quote)g(,f\)\)\))125 +1643 y(\(foo)g(1)g(2)h(3\))370 b Fu(=)-7 b Fp(\))22 b +Fv(\(foo)f(1)g(2)h(3\))125 1743 y(\(define)e(1+)h(\(macro)g(form)g +(\(list)g(+)g(\(cadr)g(form\))g(1\)\)\))125 1793 y(\(let)g(\(\(x)g +(1\)\))g(\(1+)g(x\)\))174 b Fu(=)-7 b Fp(\))22 b Fv(2)37 +1991 y Fw(\(macro?)h FD(obj)7 b Fw(\))1362 b FF(pro)q(cedure)37 +2071 y(Returns)16 b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 +b(a)g(macro,)f(otherwise)i(returns)f Fw(#f)p FF(.)37 +2179 y Fw(\(macro-expand-1)22 b FD(form)s Fw(\))1140 +b FF(pro)q(cedure)37 2236 y Fw(\(macro-expand)23 b FD(form)s +Fw(\))1187 b FF(pro)q(cedure)37 2309 y Fw(Macro-expand-1)16 +b FF(returns)i(the)g(macro)f(expansion)i(of)f FD(form)k +FF(if)c(it)g(is)h(a)e(macro)h(call,)h(otherwise)f FD(form)37 +2359 y FF(is)g(returned)g(unc)o(hanged.)27 b Fw(Macro-expand)16 +b FF(is)i(similar)g(to)f Fw(macro-expand-1)p FF(,)f(but)h(rep)q(eately) +h(expand)37 2409 y FD(form)i FF(un)o(til)c(it)f(is)h(no)f(longer)h(a)f +(macro)f(call.)125 2488 y Fv(\(define)20 b(1-)h(\(macro)g(form)g +(\022\(-)43 b(,\(cadr)20 b(form\))h(1\)\)\))125 2538 +y(\(define)f(--)h(\(macro)g(form)g(\022\(1-)g(,\(cadr)f(form\)\)\)\)) +125 2588 y(\(macro-expand-1)e('\(1-)j(10\)\))65 b Fu(=)-7 +b Fp(\))22 b Fv(\(-)f(10)g(1\))125 2638 y(\(macro-expand)62 +b('\(1-)21 b(10\)\))65 b Fu(=)-7 b Fp(\))22 b Fv(\(-)f(10)g(1\))125 +2688 y(\(macro-expand-1)d('\(--)j(10\)\))65 b Fu(=)-7 +b Fp(\))22 b Fv(\(1-)f(10\))125 2738 y(\(macro-expand)62 +b('\(--)21 b(10\)\))65 b Fu(=)-7 b Fp(\))22 b Fv(\(-)f(10)g(1\))p eop %%Page: 36 36 -36 35 bop 75 47 a FC(36)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FG(6.19)56 b(Hash)19 b(tables)75 -257 y FD(A)14 b(hash)g(table)f(consists)i(of)e(zero)h(or)g(more)f(en)o -(tries,)h(eac)o(h)g(consisting)g(of)f(a)g(k)o(ey)h(and)f(a)h(v)n(alue.) -j(Giv)o(en)c(the)h(k)o(ey)75 307 y(for)f(an)h(en)o(try)m(,)f(the)i -(hashing)e(function)h(can)g(v)o(ery)g(quic)o(kly)f(lo)q(cate)g(the)i -(en)o(try)m(,)e(and)h(hence)h(the)g(corresp)q(onding)75 -356 y(v)n(alue.)23 b(There)17 b(ma)o(y)d(b)q(e)j(at)e(most)g(one)h(en)o -(try)g(in)g(a)f(hash)h(table)g(with)g(a)f(particular)h(k)o(ey)m(,)f -(but)h(man)o(y)e(en)o(tries)75 406 y(ma)o(y)e(ha)o(v)o(e)i(the)g(same)f -(v)n(alue.)75 457 y Fz(STk)i FD(hash)f(tables)h(gro)o(w)e(gracefully)h -(as)g(the)h(n)o(um)o(b)q(er)f(of)g(en)o(tries)h(increases,)h(so)e(that) -g(there)i(are)f(alw)o(a)o(ys)e(less)75 507 y(than)18 -b(three)i(en)o(tries)g(p)q(er)f(hash)g(buc)o(k)o(et,)g(on)g(a)o(v)o -(erage.)31 b(This)19 b(allo)o(ws)e(for)h(fast)g(lo)q(okups)g -(regardless)i(of)e(the)75 557 y(n)o(um)o(b)q(er)13 b(of)g(en)o(tries)i -(in)f(a)f(table.)75 643 y Fl(Note:)32 b Fs(Hash)14 b(table)g -(manipulation)i(pro)q(cedures)f(are)e(built)i(up)q(on)f(the)f -(e\016cien)o(t)h(Tcl)f(hash)h(table)g(pac)o(k)n(age.)75 -750 y Fu(\(make-hash-table)m(\))1213 b FD(pro)q(cedure)75 -800 y Fu(\(make-hash-table)18 b FB(c)n(omp)n(arison)s -Fu(\))985 b FD(pro)q(cedure)75 850 y Fu(\(make-hash-table)18 -b FB(c)n(omp)n(arison)k(hash)s Fu(\))883 b FD(pro)q(cedure)75 -924 y Fu(Make-hash-table)15 b FD(admits)i(three)j(di\013eren)o(t)f -(forms.)30 b(The)19 b(most)e(general)i(form)d(admit)h(t)o(w)o(o)h -(argumen)o(ts.)75 974 y(The)c(\014rst)g(argumen)o(t)f(is)g(a)g -(comparison)f(function)i(whic)o(h)f(determine)h(ho)o(w)f(k)o(eys)h(are) -g(compared;)e(the)i(second)75 1024 y(argumen)o(t)h(is)h(a)f(function)h -(whic)o(h)g(computes)f(a)h(hash)g(co)q(de)h(for)e(an)h(ob)r(ject)h(and) -f(returns)h(the)g(hash)f(co)q(de)g(as)75 1074 y(a)f(non)g(negativ)o(e)f -(in)o(teger.)22 b(Ob)r(jets)17 b(with)d(the)i(same)e(hash)h(co)q(de)h -(are)g(stored)g(in)e(an)h(A-list)g(registered)h(in)f(the)75 -1123 y(buc)o(k)o(et)g(corresp)q(onding)f(to)g(the)h(k)o(ey)m(.)75 -1174 y(If)f(omitted,)137 1259 y Fm(\017)21 b Fu(hash)13 -b FD(defaults)h(to)f(the)i Fu(hash-table-hash)c FD(pro)q(cedure.)137 -1346 y Fm(\017)21 b Fu(comparison)33 b FD(defaults)14 -b(to)g(the)g Fu(eq?)g FD(pro)q(cedure)75 1427 y(Consequen)o(tly)m(,)153 -1509 y Ft(\(define)j(h)j(\(make-has)o(h-)o(tab)o(le)o(\)\))75 -1636 y FD(is)14 b(equiv)n(alen)o(t)f(to)153 1718 y Ft(\(define)k(h)j -(\(make-has)o(h-)o(tab)o(le)c(eq?)i(hash-table-)o(ha)o(sh\))o(\))75 -1845 y FD(Another)d(in)o(teresting)f(example)f(is)153 -1927 y Ft(\(define)k(h)j(\(make-has)o(h-)o(tab)o(le)c(string-ci=)o(?)g -(string-leng)o(th)o(\)\))75 2054 y FD(whic)o(h)k(de\014nes)i(a)e(new)h -(hash)g(table)f(whic)o(h)g(uses)i Fu(string-ci=?)36 b -FD(for)20 b(comparing)e(k)o(eys.)38 b(Here,)23 b(w)o(e)e(use)75 -2099 y(the)d(string-length)g(as)g(a)f(\(v)o(ery)h(simple\))f(hashing)g -(function.)29 b(Of)18 b(course,)h(a)e(function)h(whic)o(h)f(giv)o(es)h -(a)f(k)o(ey)75 2145 y(dep)q(ending)e(of)g(the)g(c)o(haracters)i(comp)q -(osing)c(the)i(string)g(giv)o(es)g(a)g(b)q(etter)h(repartition)f(and)f -(should)h(probably)75 2191 y(enhance)f(p)q(erformances.)k(F)m(or)12 -b(instance,)i(the)f(follo)o(wing)d(call)i(to)h Fu(make-hash-table)c -FD(should)k(return)h(a)e(more)75 2236 y(e\016cien)o(t,)i(ev)o(en)g(if)f -(not)h(p)q(erfect,)h(hash)f(table:)153 2318 y Ft(\(make-hash-)o(ta)o -(ble)232 2364 y(string-ci)o(=?)232 2410 y(\(lambda)j(\(s\))271 -2455 y(\(let)h(\(\(len)g(\(string-l)o(eng)o(th)e(s\)\)\))310 -2501 y(\(do)j(\(\(h)f(0\))39 b(\(i)19 b(0)g(\(+)g(i)g(1\)\)\))389 -2547 y(\(\(=)f(i)i(len\))e(h\))350 2592 y(\(set!)f(h)j(\(+)e(h)i -(\(char->i)o(nte)o(ger)644 2638 y(\(char-dow)o(nca)o(se)c(\(string-re)o -(f)g(s)k(i\)\)\)\)\)\)\)\))o(\))75 2769 y Fl(Note:)31 -b Fs(Hash)13 b(tables)g(with)f(a)g(comparison)i(function)g(equal)f(to)f -Ft(eq?)e Fs(or)i Ft(string=?)i Fs(are)e(handled)i(in)f(an)f(more)g -(e\016cien)o(t)75 2819 y(w)o(a)o(y)h(\(in)h(fact,)e(they)h(don't)h(use) -f(the)g Ft(hash-table)o(-ha)o(sh)c Fs(fucn)o(tion)14 -b(to)f(sp)q(eed)h(up)g(hash)g(table)g(retriev)n(als\).)p -eop +36 35 bop 37 45 a FE(36)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(macro-expand)23 b FD(form)s +Fw(\))1187 b FF(pro)q(cedure)37 264 y(Returns)20 b(the)f(macro)f +(expansion)i(of)f FD(form)k FF(if)c(it)g(is)h(a)e(macro)h(call,)h +(otherwise)g FD(form)i FF(is)e(returned)f(un-)37 314 +y(c)o(hanged.)i(Macro)14 b(expansion)i(con)o(tin)o(ue)g(un)o(til,)g +(the)f(form)g(obtained)g(is)125 400 y Fv(\(define)20 +b(1-)h(\(macro)g(form)g(\(list)g('-)g(\(cadr)g(form\))g(1\)\)\))125 +450 y(\(macro-expand)e('\(1-)i(10\)\))108 b Fu(=)-7 b +Fp(\))22 b Fv(\(-)f(10)g(1\))37 653 y Fw(\(macro-body)i +FD(macr)n(o)s Fw(\))1207 b FF(pro)q(cedure)37 726 y(Returns)16 +b(the)g(b)q(o)q(dy)f(of)g FD(macr)n(o)125 813 y Fv(\(macro-body)k(1+\)) +735 863 y Fu(=)-7 b Fp(\))22 b Fv(\(macro)e(form)h(\(list)g(+)g(\(cadr) +g(form\))g(1\)\))37 1065 y Fw(\(define-macro)i FD(\()p +Fo(h)p FF(name)p Fo(i)f(h)p FF(formals)p Fo(i)o FD(\))i +Fo(h)p FF(b)q(o)q(dy)p Fo(i)p Fw(\))816 b FF(macro)37 +1139 y Fw(Define-macro)15 b FF(is)h(a)g(macro)f(whic)o(h)i(p)q(ermits)g +(to)e(de\014ne)j(a)d(macro)h(more)f(easily)i(than)f(with)h(the)f +Fw(macro)37 1189 y FF(form.)k(It)15 b(is)h(similar)g(to)f(the)g +Fw(defmacro)f FF(of)h(Common)f(Lisp)i([6].)125 1275 y +Fv(\(define-macro)j(\(incr)i(x\))g(\022\(set!)f(,x)i(\(+)f(,x)h +(1\)\)\))125 1325 y(\(let)f(\(\(a)g(1\)\))g(\(incr)g(a\))g(a\))87 +b Fu(=)-7 b Fp(\))22 b Fv(2)125 1425 y(\(define-macro)d(\(when)i(test)f +(.)i(body\))168 1474 y(\022\(if)f(,test)g(,@\(if)g(\(null?)f(\(cdr)h +(body\)\))g(body)g(\022\(\(begin)f(,@body\)\)\)\)\))125 +1524 y(\(macro-expand)f('\(when)h(a)i(b\)\))43 b Fu(=)-7 +b Fp(\))22 b Fv(\(if)f(a)g(b\))125 1574 y(\(macro-expand)e('\(when)h(a) +i(b)f(c)h(d\)\))735 1624 y Fu(=)-7 b Fp(\))22 b Fv(\(if)f(a)g(\(begin)g +(b)g(c)h(d\)\))37 1767 y Fn(Note:)39 b Fu(Calls)13 b(to)h(macros)g +(de\014ned)h(b)o(y)f Fv(define-macro)e Fu(are)j(ph)o(ysically)e +(replaced)i(b)o(y)f(their)h(macro-expansion)e(if)37 1823 +y(the)i(v)n(ariable)d Fv(*debug*)h Fu(is)g Fv(#f)g Fu(\(i.e.)18 +b(their)c(b)q(o)q(dy)g(is)f(\\in-lined")g(in)g(the)h(macro)f(call\).)k +(T)m(o)c(a)o(v)o(oid)f(this)i(feature,)g(and)37 1880 +y(to)g(ease)h(debugging,)e(y)o(ou)g(ha)o(v)o(e)h(to)g(set)h(this)f(v)n +(ariable)e(to)i Fv(#t)p Fu(.)k(\(See)d(also)e(6.25\).)37 +2001 y FI(6.16)56 b(System)17 b(pro)r(cedures)37 2086 +y FF(This)f(section)g(lists)g(a)f(set)g(of)g(pro)q(cedures)h(whic)o(h)g +(p)q(ermits)f(to)g(access)g(some)g(system)g(in)o(ternals.)37 +2203 y Fw(\(expand-file-name)22 b FD(string)t Fw(\))1070 +b FF(pro)q(cedure)37 2283 y Fw(Expand-file-name)14 b +FF(expands)j(the)g(\014lename)g(giv)o(en)g(in)g FD(string)i +FF(to)d(an)g(absolute)g(path.)23 b(This)17 b(function)37 +2340 y(understands)f(the)f FD(tilde)i(c)n(onvention)c +FF(for)i(\014lenames.)125 2439 y Fv(;;)21 b(Current)f(directory)g(is)i +(/users/eg/STk)125 2488 y(\(expand-file-nam)o(e)d(".."\))343 +2538 y Fu(=)-7 b Fp(\))21 b Fv("/users/eg")125 2588 y +(\(expand-file-nam)o(e)e("~root/bin\))343 2638 y Fu(=)-7 +b Fp(\))21 b Fv("/bin")125 2688 y(\(expand-file-nam)o(e)e("~/STk\)")343 +2738 y Fu(=)-7 b Fp(\))21 b Fv("/users/eg/STk")p eop %%Page: 37 37 -37 36 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(37)p 75 64 1763 2 v 75 179 a Fu(\(hash-table?)19 b -FB(obj)6 b Fu(\))1220 b FD(pro)q(cedure)75 255 y(Returns)15 -b Fu(#t)e FD(if)g FB(obj)20 b FD(is)14 b(a)f(hash)i(table,)e(returns)i -Fu(#f)f FD(otherwise.)75 382 y Fu(\(hash-table-hash)k -FB(obj)6 b Fu(\))1133 b FD(pro)q(cedure)75 458 y Fu(hash-table-hash)8 -b FD(computes)j(a)g(hash)h(co)q(de)g(for)f(an)g(ob)r(ject)h(and)f -(returns)i(the)f(hash)f(co)q(de)h(as)g(a)e(non)i(negativ)o(e)75 -508 y(in)o(teger.)18 b(A)c(prop)q(ert)o(y)h(of)e Fu(hash-table-hash)e -FD(is)j(that)179 600 y Fu(\(equal?)42 b(x)22 b(y\))13 -b FD(implies)f Fu(\(equal?)42 b(\(hash-table-hash)18 -b(x\))k(\(hash-table-hash)c(y\))75 691 y FD(as)c(the)g(the)h(Common)c -(Lisp)i Fu(sxhash)g FD(function)g(from)g(whic)o(h)g(this)h(pro)q -(cedure)i(is)e(mo)q(deled.)75 818 y Fu(\(hash-table-put!)k -FB(hash)23 b(key)f(value)s Fu(\))914 b FD(pro)q(cedure)75 -895 y Fu(Hash-table-put!)17 b FD(en)o(ters)k(an)f(asso)q(ciation)f(b)q -(et)o(w)o(een)i FB(key)j FD(and)c FB(value)j FD(in)c(the)i -FB(hash)i FD(table.)36 b(The)20 b(v)n(alue)75 944 y(returned)c(b)o(y)d -Fu(hash-table-put!)e FD(is)j(unde\014ned.)75 1071 y Fu -(\(hash-table-get)19 b FB(hash)j(key)t Fu(\))1049 b FD(pro)q(cedure)75 -1121 y Fu(\(hash-table-get)19 b FB(hash)j(key)g(default)t -Fu(\))906 b FD(pro)q(cedure)75 1193 y Fu(Hash-table-get)13 -b FD(returns)18 b(the)f(v)n(alue)f(asso)q(ciated)h(with)f -FB(key)k FD(in)c(the)h(giv)o(en)f FB(hash)k FD(table.)25 -b(If)16 b(no)g(v)n(alue)f(has)75 1239 y(b)q(een)h(asso)q(ciated)g(with) -f FB(key)k FD(in)c FB(hash)s FD(,)g(the)h(sp)q(eci\014ed)h -FB(default)i FD(is)c(returned)i(if)d(giv)o(en;)h(otherwise)h(an)f -(error)h(is)75 1285 y(raised.)153 1375 y Ft(\(define)h(h1)i -(\(make-hash)o(-ta)o(bl)o(e\)\))153 1421 y(\(hash-table)o(-p)o(ut!)d -(h1)j('foo)f(\(list)f(1)j(2)f(3\)\))153 1466 y(\(hash-table)o(-g)o(et) -36 b(h1)19 b('foo\))350 1512 y Fs(=)-6 b Fn(\))19 b Ft(\(1)g(2)g(3\)) -153 1558 y(\(hash-table)o(-g)o(et)36 b(h1)19 b('bar)f('absent\))350 -1603 y Fs(=)-6 b Fn(\))19 b Ft(absent)153 1649 y(\(hash-table)o(-g)o -(et)36 b(h1)19 b('bar\))350 1695 y Fs(=)-6 b Fn(\))19 -b Fi(error)153 1740 y Ft(\(hash-table)o(-p)o(ut!)d(h1)j('\(a)f(b)h(c\)) -g('present\))153 1786 y(\(hash-table)o(-g)o(et)36 b(h1)19 -b('\(a)f(b)h(c\))g('absent\))350 1832 y Fs(=)-6 b Fn(\))19 -b Ft('absent)153 1923 y(\(define)e(h2)i(\(make-hash)o(-ta)o(bl)o(e)e -(equal?\)\))153 1969 y(\(hash-table)o(-p)o(ut!)f(h2)j('\(a)f(b)h(c\))g -('present\))153 2014 y(\(hash-table)o(-g)o(et)36 b(h2)19 -b('\(a)f(b)h(c\)\))350 2060 y Fs(=)-6 b Fn(\))19 b Ft('present)75 -2271 y Fu(\(hash-table-remov)o(e!)g FB(hash)j(key)t Fu(\))962 -b FD(pro)q(cedure)75 2348 y FB(hash)20 b FD(m)o(ust)15 -b(b)q(e)i(a)f(hash)h(table)f(con)o(taining)f(an)h(en)o(try)h(for)f -FB(key)t FD(.)25 b Fu(Hash-table-remov)o(e!)13 b FD(deletes)18 -b(the)f(en)o(try)75 2398 y(for)d FB(key)j FD(in)d FB(hash)t -FD(,)f(if)g(it)h(exists.)k(Result)c(of)g Fu(Hash-table-remo)o(ve!)h -FD(is)f(unsp)q(eci\014ed.)153 2499 y Ft(\(define)j(h)j(\(make-has)o(h-) -o(tab)o(le)o(\)\))153 2545 y(\(hash-table)o(-p)o(ut!)c(h)j('foo)f -(\(list)g(1)h(2)g(3\)\))153 2591 y(\(hash-table)o(-g)o(et)d(h)k('foo\)) -350 2636 y Fs(=)-6 b Fn(\))19 b Ft(\(1)g(2)g(3\))153 -2682 y(\(hash-table)o(-r)o(emo)o(ve!)d(h)j('foo\))153 -2728 y(\(hash-table)o(-g)o(et)d(h)k('foo)e('absent\))350 -2773 y Fs(=)-6 b Fn(\))19 b Ft(absent)p eop +37 36 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(37)p 37 64 1838 2 v 37 190 a Fw(\(canonical-path)22 +b FD(p)n(ath)s Fw(\))1151 b FF(pro)q(cedure)37 271 y(Expands)21 +b(all)f(sym)o(b)q(olic)h(links)g(in)g FD(p)n(ath)i FF(and)d(returns)g +(its)g(canonicalized)i(absolute)e(pathname.)34 b(The)37 +327 y(resulting)25 b(path)e(do)g(not)g(ha)o(v)o(e)g(sym)o(b)q(olic)h +(links.)45 b(If)24 b FD(p)n(ath)j FF(do)q(esn't)c(designate)h(a)f(v)m +(alid)h(pathname,)37 384 y FD(c)n(anonic)n(al-p)n(ath)18 +b FF(returns)d Fw(#f)p FF(.)37 502 y Fw(\(dirname)23 +b FD(string)t Fw(\))1285 b FF(pro)q(cedure)37 575 y(Returns)16 +b(a)e(string)h(con)o(taining)h(all)f(but)g(the)g(last)g(comp)q(onen)o +(t)g(of)f(the)h(path)g(name)g(giv)o(en)g(in)h FD(string)s +FF(.)125 663 y Fv(\(dirname)k("/a/b/c.stk"\))343 713 +y Fu(=)-7 b Fp(\))21 b Fv("/a/b")37 918 y Fw(\(basename)i +FD(string)t Fw(\))1261 b FF(pro)q(cedure)37 992 y(Returns)16 +b(a)f(string)g(con)o(taining)h(the)g(last)f(comp)q(onen)o(t)g(of)g(the) +g(path)g(name)g(giv)o(en)h(in)g FD(string)s FF(.)125 +1079 y Fv(\(basname)k("/a/b/c.stk"\))343 1129 y Fu(=)-7 +b Fp(\))21 b Fv("c.stk")37 1335 y Fw(\(decompose-file-name)h +FD(string)t Fw(\))998 b FF(pro)q(cedure)37 1408 y(Returns)17 +b(an)g(\\explo)q(ded")g(list)g(of)f(the)h(path)f(name)g(comp)q(onen)o +(ts)h(giv)o(en)g(in)g FD(string)s FF(.)24 b(The)16 b(\014rst)g(elemen)o +(t)37 1458 y(in)h(the)f(list)h(denotes)f(if)g(the)g(giv)o(en)g +FD(string)j FF(is)e(an)f(absolute)g(path)g(or)f(a)g(relativ)o(e)i(one,) +f(b)q(eing)h Fw("/")e FF(or)g Fw(".")37 1508 y FF(resp)q(ectiv)o(ely)l +(.)22 b(Eac)o(h)15 b(comp)q(onen)o(t)h(of)e(this)i(list)g(is)g(a)f +(string.)125 1596 y Fv(\(decompose-file-)o(name)j("/a/b/c.stk"\))343 +1645 y Fu(=)-7 b Fp(\))21 b Fv(\("/")g("a")g("b")h("c.stk"\))125 +1695 y(\(decompose-file-)o(name)c("a/b/c.stk"\))343 1745 +y Fu(=)-7 b Fp(\))21 b Fv(\(".")g("a")g("b")h("c.stk"\))37 +1951 y Fw(\(file-is-directory?)g FD(string)t Fw(\))1022 +b FF(pro)q(cedure)37 2007 y Fw(\(file-is-regular?)22 +b FD(string)t Fw(\))1070 b FF(pro)q(cedure)37 2063 y +Fw(\(file-is-readable?)22 b FD(string)t Fw(\))1046 b +FF(pro)q(cedure)37 2120 y Fw(\(file-is-writable?)22 b +FD(string)t Fw(\))1046 b FF(pro)q(cedure)37 2176 y Fw +(\(file-is-executable?)22 b FD(string)t Fw(\))998 b FF(pro)q(cedure)37 +2233 y Fw(\(file-exists?)23 b FD(string)t Fw(\))1165 +b FF(pro)q(cedure)37 2313 y(Returns)14 b Fw(#t)g FF(if)f(the)h +(predicate)g(is)g(true)g(for)e(the)i(path)f(name)h(giv)o(en)g(in)g +FD(string)s FF(;)g(returns)f Fw(#f)g FF(otherwise)h(\(or)37 +2369 y(if)i FD(string)j FF(denotes)c(a)g(\014le)h(whic)o(h)g(do)q(es)g +(not)e(exist\).)37 2487 y Fw(\(glob)24 b Fz(patter)q(n)330 +2494 y FA(1)374 2487 y Fz(patter)q(n)523 2494 y FA(2)568 +2487 y Fz(:)8 b(:)g(:)d Fw(\))1027 b FF(pro)q(cedure)37 +2568 y(The)14 b(co)q(de)g(for)e Fw(glob)h FF(is)g(tak)o(en)g(from)f +(the)i(Tcl)f(library)l(.)21 b(It)13 b(p)q(erforms)g(\014le)h(name)f +(\\globbing")h(in)g(a)f(fashion)37 2624 y(similar)19 +b(to)e(the)h(csh)g(shell.)29 b Fw(Glob)17 b FF(returns)h(a)f(list)h(of) +g(the)f(\014lenames)i(that)e(matc)o(h)g(at)g(least)h(one)g(of)f(the)37 +2681 y FD(p)n(attern)f FF(argumen)o(ts.)j(The)c FD(p)n(attern)k +FF(argumen)o(ts)14 b(ma)o(y)h(con)o(tain)g(the)g(follo)o(wing)h(sp)q +(ecial)h(c)o(haracters:)106 2787 y Fo(\017)22 b FF(?)f(Matc)o(hes)14 +b(an)o(y)h(single)i(c)o(haracter.)p eop %%Page: 38 38 -38 37 bop 75 47 a FC(38)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(hash-table-for-e)o(ach)19 -b FB(hash)j(pr)n(o)n(c)r Fu(\))925 b FD(pro)q(cedure)75 -253 y FB(Pr)n(o)n(c)23 b FD(m)o(ust)e(b)q(e)h(a)f(pro)q(cedure)i -(taking)d(t)o(w)o(o)h(argumen)o(ts.)40 b Fu(Hash-table-for-eac)o(h)18 -b FD(calls)j FB(pr)n(o)n(c)j FD(on)d(eac)o(h)75 303 y(k)o(ey/v)n(alue) -11 b(asso)q(ciation)g(in)h FB(hash)s FD(,)g(with)g(the)g(k)o(ey)g(as)g -(the)g(\014rst)h(argumen)o(t)d(and)i(the)g(v)n(alue)f(as)h(the)h -(second.)18 b(The)75 352 y(v)n(alue)13 b(returned)j(b)o(y)d -Fu(hash-table-for-each)d FD(is)k(unde\014ned.)75 434 -y Fl(Note:)32 b Fs(The)13 b(order)h(of)f(application)j(of)d -Fl(pr)n(o)n(c)h Fs(is)f(unsp)q(eci\014ed.)153 516 y Ft(\(let)19 -b(\(\(h)57 b(\(make-hash)o(-ta)o(bl)o(e\)\))271 561 y(\(sum)18 -b(0\)\))193 607 y(\(hash-tab)o(le)o(-pu)o(t!)e(h)j('foo)f(2\))193 -653 y(\(hash-tab)o(le)o(-pu)o(t!)e(h)j('bar)f(3\))193 -698 y(\(hash-tab)o(le)o(-fo)o(r-e)o(ac)o(h)f(h)i(\(lambda)e(\(key)h -(value\))683 744 y(\(set!)g(sum)g(\(+)h(sum)f(value\)\)\)\))193 -790 y(sum\))350 835 y Fs(=)-6 b Fn(\))19 b Ft(5)75 1025 -y Fu(\(hash-table-map)g FB(hash)j(pr)n(o)n(c)r Fu(\))1034 -b FD(pro)q(cedure)75 1099 y FB(Pr)n(o)n(c)19 b FD(m)o(ust)e(b)q(e)h(a)f -(pro)q(cedure)i(taking)e(t)o(w)o(o)g(argumen)o(ts.)28 -b Fu(Hash-table-map)14 b FD(calls)j FB(pr)n(o)n(c)j FD(on)d(eac)o(h)h -(en)o(try)g(in)75 1149 y FB(hash)t FD(,)d(with)g(the)h(en)o(try's)f(k)o -(ey)h(as)f(the)h(\014rst)g(argumen)o(t)e(and)h(the)h(en)o(try's)g(v)n -(alue)f(as)g(the)h(second.)23 b(The)16 b(result)75 1199 -y(of)d Fu(hash-table-map)e FD(is)j(a)g(list)f(of)g(the)i(v)n(alues)e -(returned)j(b)o(y)e FB(pr)n(o)n(c)r FD(,)f(in)h(unsp)q(eci\014ed)h -(order.)75 1281 y Fl(Note:)32 b Fs(The)13 b(order)h(of)f(application)j -(of)d Fl(pr)n(o)n(c)h Fs(is)f(unsp)q(eci\014ed.)153 1362 -y Ft(\(let)19 b(\(\(h)f(\(make-hash)o(-t)o(abl)o(e\))o(\)\))193 -1408 y(\(dotimes)e(\(i)j(5\))232 1453 y(\(hash-tab)o(le-)o(put)o(!)d(h) -k(i)f(\(number->)o(str)o(in)o(g)e(i\)\)\))193 1499 y(\(hash-tab)o(le)o -(-ma)o(p)g(h)i(\(lambda)e(\(key)h(value\))605 1545 y(\(cons)f(key)i -(value\)\)\)\))350 1590 y Fs(=)-6 b Fn(\))19 b Ft(\(\(0)g(.)g("0"\))f -(\(3)h(.)g("3"\))f(\(2)h(.)g("2"\))f(\(1)h(.)g("1"\))f(\(4)h(.)g -("4"\)\))75 1780 y Fu(\(hash-table->list)f FB(hash)s -Fu(\))1087 b FD(pro)q(cedure)75 1850 y Fu(hash-table->list)8 -b FD(returns)13 b(an)f(\\asso)q(ciation)e(list")h(built)g(from)f(the)i -(en)o(tries)h(in)e FB(hash)s FD(.)18 b(Eac)o(h)11 b(en)o(try)i(in)e -FB(hash)75 1896 y FD(will)i(b)q(e)j(represen)o(ted)i(as)d(a)f(pair)h -(whose)g FB(c)n(ar)k FD(is)c(the)g(en)o(try's)h(k)o(ey)f(and)g(whose)g -FB(c)n(dr)k FD(is)c(its)g(v)n(alue.)20 b Fl(Note:)36 -b Fs(The)75 1941 y(order)13 b(of)g(pairs)h(in)g(the)f(resulting)i(list) -g(is)e(unsp)q(eci\014ed.)153 2023 y Ft(\(let)19 b(\(\(h)f(\(make-hash)o -(-t)o(abl)o(e\))o(\)\))193 2068 y(\(dotimes)e(\(i)j(5\))232 -2114 y(\(hash-tab)o(le-)o(put)o(!)d(h)k(i)f(\(number->)o(str)o(in)o(g)e -(i\)\)\))193 2160 y(\(hash-tab)o(le)o(->l)o(ist)f(h\)\))350 -2205 y Fs(=)-6 b Fn(\))19 b Ft(\(\(0)g(.)g("0"\))f(\(3)h(.)g("3"\))f -(\(2)h(.)g("2"\))f(\(1)h(.)g("1"\))f(\(4)h(.)g("4"\)\))75 -2395 y Fu(\(hash-table-stats)f FB(hash)s Fu(\))1087 b -FD(pro)q(cedure)75 2469 y Fu(Hash-table-stats)12 b FD(returns)17 -b(a)f(string)f(with)h(o)o(v)o(erall)e(information)f(ab)q(out)i -FB(hash)t FD(,)h(suc)o(h)g(as)g(the)g(n)o(um)o(b)q(er)f(of)75 -2519 y(en)o(tries)g(it)e(con)o(tains,)h(the)g(n)o(um)o(b)q(er)f(of)h -(buc)o(k)o(ets)h(in)e(its)h(hash)g(arra)o(y)m(,)f(and)h(the)g -(utilization)e(of)i(the)g(buc)o(k)o(ets.)75 2641 y FG(6.20)56 -b(Regular)18 b(expressions)75 2719 y FD(Regular)9 b(expressions)h(are)g -(\014rst)g(class)g(ob)r(jects)g(in)f Fz(STk)p FD(.)17 -b(A)9 b(regular)h(expression)g(is)f(created)i(b)o(y)e(the)h -Fu(string->regexp)75 2769 y FD(pro)q(cedure.)19 b(Matc)o(hing)12 -b(a)g(regular)g(expression)i(against)d(a)h(string)g(is)g(simply)f(done) -h(b)o(y)g(applying)f(a)h(previously)75 2819 y(created)k(regular)f -(expression)h(to)f(this)g(string.)20 b(Regular)14 b(expressions)j(are)e -(implemen)o(ted)d(using)j(co)q(de)h(in)e(the)p eop +38 37 bop 37 45 a FE(38)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 106 190 a Fo(\017)22 b Fw(*)15 b FF(Matc)o(hes)g(an)o(y) +g(sequence)h(of)f(zero)g(or)f(more)h(c)o(haracters.)106 +284 y Fo(\017)22 b Fw([)p FF(c)o(hars)p Fw(])14 b FF(Matc)o(hes)g(an)o +(y)g(single)h(c)o(haracter)f(in)h(c)o(hars.)k(If)c(c)o(hars)f(con)o +(tains)h(a)f(sequence)h(of)f(the)h(form)151 340 y Fw(a-b)g +FF(then)g(an)o(y)g(c)o(haracter)g(b)q(et)o(w)o(een)g +Fw(a)g FF(and)h Fw(b)f FF(\(inclusiv)o(e\))i(will)f(matc)o(h.)106 +433 y Fo(\017)22 b Fw(\\)p FF(x)15 b(Matc)o(hes)g(the)g(c)o(haracter)f +Fw(x)p FF(.)106 526 y Fo(\017)22 b(f)p FF(a,b,...)p Fo(g)13 +b FF(Matc)o(hes)h(an)o(y)h(of)g(the)g(strings)g Fw(a)p +FF(,)g Fw(b)p FF(,)g(etc.)37 631 y(As)20 b(with)f(csh,)i(a)d(\\.")32 +b(at)18 b(the)i(b)q(eginning)h(of)e(a)g(\014le's)h(name)f(or)g(just)g +(after)f(a)h(\\/")f(m)o(ust)h(b)q(e)h(matc)o(hed)37 687 +y(explicitly)e(or)d(with)h(a)f Fo(fg)f FF(construct.)20 +b(In)c(addition,)f(all)i(\\/")d(c)o(haracters)g(m)o(ust)h(b)q(e)h(matc) +o(hed)f(explicitly)l(.)37 744 y(If)22 b(the)f(\014rst)g(c)o(haracter)f +(in)i(a)f(pattern)g(is)g(\\)p Fw(~)p FF(")g(then)g(it)h(refers)f(to)f +(the)h(home)h(directory)f(of)g(the)g(user)37 800 y(whose)16 +b(name)f(follo)o(ws)h(the)f(\\)p Fw(~)p FF(".)20 b(If)15 +b(the)h(\\)p Fw(~)p FF(")f(is)h(follo)o(w)o(ed)f(immediately)i(b)o(y)f +(\\/")e(then)i(the)f(v)m(alue)i(of)e(the)37 856 y(en)o(vironmen)o(t)h +(v)m(ariable)h(HOME)e(is)g(used.)37 913 y Fw(Glob)20 +b FF(di\013ers)f(from)g(csh)h(globbing)h(in)g(t)o(w)o(o)d(w)o(a)o(ys.) +32 b(First,)20 b(it)g(do)q(es)g(not)f(sort)g(its)h(result)g(list)g +(\(use)g(the)37 969 y Fw(sort)g FF(pro)q(cedure)h(if)f(y)o(ou)g(w)o(an) +o(t)f(the)h(list)h(sorted\).)34 b(Second,)21 b(glob)g(only)f(returns)g +(the)g(names)g(of)g(\014les)37 1026 y(that)15 b(actually)i(exist;)e(in) +i(csh)f(no)f(c)o(hec)o(k)h(for)f(existence)i(is)f(made)g(unless)g(a)g +(pattern)f(con)o(tains)g(a)h(?,)f Fw(*)p FF(,)g(or)37 +1082 y Fw([])p FF(construct.)37 1197 y Fw(\(remove-file)23 +b FD(string)t Fw(\))1189 b FF(pro)q(cedure)37 1277 y(Remo)o(v)o(es)13 +b(the)g(\014le)h(whose)f(path)g(name)g(is)h(giv)o(en)f(in)h +FD(string)s FF(.)19 b(The)14 b(result)f(of)g Fw(remove-file)e +FF(is)i(unde\014ned.)37 1449 y Fw(\(rename-file)23 b +Fz(str)q(ing)472 1456 y FA(1)515 1449 y Fz(str)q(ing)639 +1456 y FA(2)659 1449 y Fw(\))996 b FF(pro)q(cedure)37 +1529 y(Renames)14 b(the)g(\014le)g(whose)f(path-name)h(is)f(con)o +(tained)h(in)g Fz(str)q(ing)1156 1536 y FA(1)1190 1529 +y FF(in)g(the)f(path)g(name)h(giv)o(en)f(b)o(y)h Fz(str)q(ing)1843 +1536 y FA(2)1862 1529 y FF(.)37 1586 y(The)i(result)g(of)e +Fw(rename-file)g FF(is)i(unde\014ned.)37 1701 y Fw +(\(temporary-file-name)22 b FD(string)t Fw(\))998 b FF(pro)q(cedure)37 +1781 y(Generates)19 b(a)f(unique)j(temp)q(orary)d(\014le)i(name.)30 +b(The)19 b(v)m(alue)h(returned)g(b)o(y)e Fw(temporary-file-name)e +FF(is)37 1837 y(the)g(newly)g(generated)f(name)g(of)g +Fw(#f)g FF(if)h(a)e(unique)j(name)e(cannot)g(b)q(e)h(generated.)37 +1952 y Fw(\(getcwd\))1450 b FF(pro)q(cedure)37 2032 y +Fw(Getcwd)15 b FF(returns)g(a)g(string)g(con)o(taining)h(the)f(curren)o +(t)g(w)o(orking)g(directory)l(.)37 2148 y Fw(\(chdir)24 +b FD(string)t Fw(\))1332 b FF(pro)q(cedure)37 2228 y +Fw(Chdir)15 b FF(c)o(hanges)g(the)g(curren)o(t)h(directory)f(to)g(the)g +(directory)g(giv)o(en)h(in)g FD(string)s FF(.)37 2343 +y Fw(\(getpid)23 b FD(string)t Fw(\))1309 b FF(pro)q(cedure)37 +2423 y(Returns)14 b(the)e(system)g(pro)q(cess)h(n)o(um)o(b)q(er)g(of)f +(the)h(curren)o(t)f FB(STk)g FF(in)o(terpreter)h(\(i.e.)19 +b(the)12 b(Unix)i FD(pid)p FF(\).)19 b(Result)37 2479 +y(is)d(an)f(in)o(teger.)37 2594 y Fw(\(system)23 b FD(string)t +Fw(\))1309 b FF(pro)q(cedure)37 2651 y Fw(\(!)24 b FD(string)t +Fw(\))1428 b FF(pro)q(cedure)37 2731 y(Sends)15 b(the)f(giv)o(en)h +FD(string)i FF(to)d(the)g(system)f(shell)j FD(/bin/sh)s +FF(.)k(The)14 b(result)g(of)g Fw(system)f FF(is)i(the)f(in)o(teger)g +(status)37 2787 y(co)q(de)i(the)g(shell)g(returns.)p +eop %%Page: 39 39 -39 38 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(39)p 75 64 1763 2 v 75 179 a FD(Henry)14 b(Sp)q(encer's)h(pac)o(k)n -(age,)d(and)h(m)o(uc)o(h)f(of)g(the)i(description)f(of)g(regular)g -(expressions)h(b)q(elo)o(w)f(is)g(copied)g(from)75 229 -y(his)h(man)o(ual.)75 335 y Fu(\(string->regexp)19 b -FB(string)t Fu(\))1105 b FD(pro)q(cedure)75 409 y Fu(String->regexp)11 -b FD(compiles)i(the)h FB(string)j FD(and)d(returns)h(the)g(corresp)q -(onding)f(regular)g(expression.)75 472 y(Matc)o(hing)f(a)h(regular)g -(expression)h(against)e(a)g(string)h(is)g(done)g(b)o(y)g(applying)e -(the)j(result)f(of)f Fu(string->regexp)75 522 y FD(to)h(this)h(string.) -21 b(This)14 b(application)f(yields)i(a)f(list)g(of)g(in)o(teger)h -(couples)h(if)d(a)i(matc)o(hing)d(o)q(ccurs;)k(it)f(returns)h -Fu(#f)75 572 y FD(otherwise.)j(Those)13 b(in)o(tegers)g(corresp)q(ond)h -(to)f(indexes)g(in)f(the)h(string)g(whic)o(h)g(matc)o(h)e(the)i -(regular)g(expression.)75 622 y(A)e(regular)g(expression)h(is)f(zero)h -(or)f(more)f FB(br)n(anches)p FD(,)h(separated)h(b)o(y)f(\\)p -Fu(|)p FD(".)16 b(It)11 b(matc)o(hes)g(an)o(ything)f(that)h(matc)o(hes) -75 672 y(one)j(of)f(the)i(branc)o(hes.)75 722 y(A)i(branc)o(h)h(is)f -(zero)h(or)f(more)f FB(pie)n(c)n(es)p FD(,)h(concatenated.)29 -b(It)17 b(matc)o(hes)g(a)g(matc)o(h)f(for)h(the)g(\014rst,)h(follo)o(w) -o(ed)e(b)o(y)h(a)75 772 y(matc)o(h)c(for)g(the)i(second,)f(etc.)75 -822 y(A)j(piece)h(is)e(an)h FB(atom)g FD(p)q(ossibly)g(follo)o(w)o(ed)e -(b)o(y)h(\\)p Fu(*)p FD(",)h(\\)p Fu(+)p FD(",)f(or)h(\\)p -Fu(?)p FD(".)26 b(An)17 b(atom)e(follo)o(w)o(ed)h(b)o(y)g(\\)p -Fu(*)p FD(")g(matc)o(hes)h(a)75 872 y(sequence)f(of)d(0)g(or)h(more)f -(matc)o(hes)g(of)g(the)i(atom.)h(An)e(atom)e(follo)o(w)o(ed)g(b)o(y)h -(\\)p Fu(+)p FD(")g(matc)o(hes)h(a)f(sequence)j(of)d(1)g(or)75 -922 y(more)h(matc)o(hes)i(of)e(the)j(atom.)k(An)15 b(atom)f(follo)o(w)o -(ed)g(b)o(y)h(\\)p Fu(?)p FD(")23 b(matc)o(hes)15 b(a)g(matc)o(h)f(of)h -(the)h(atom,)e(or)h(the)h(n)o(ull)75 972 y(string.)75 -1022 y(An)i(atom)e(is)h(a)g(regular)h(expression)h(in)e(paren)o(theses) -j(\(matc)o(hing)c(a)h(matc)o(h)f(for)i(the)g(regular)g(expression\),)75 -1072 y(a)f FB(r)n(ange)f FD(\(see)j(b)q(elo)o(w\),)e(\\)p -Fu(.)p FD(")26 b(\(matc)o(hing)15 b(an)o(y)i(single)f(c)o(haracter\),)j -(\\)p Fu(^)p FD(")d(\(matc)o(hing)f(the)i(n)o(ull)f(string)h(at)g(the) -75 1122 y(b)q(eginning)f(of)h(the)g(input)g(string\),)h(\\)p -Fu($)p FD(")e(\(matc)o(hing)f(the)j(n)o(ull)e(string)h(at)g(the)h(end)f -(of)g(the)g(input)g(string\),)h(a)75 1172 y(\\)p Fu(\\)p -FD(")c(follo)o(w)o(ed)f(b)o(y)h(a)h(single)f(c)o(haracter)i(\(matc)o -(hing)d(that)h(c)o(haracter\),)i(or)f(a)f(single)g(c)o(haracter)i(with) -e(no)h(other)75 1221 y(signi\014cance)f(\(matc)o(hing)e(that)i(c)o -(haracter\).)75 1272 y(A)j FB(r)n(ange)f FD(is)g(a)h(sequence)h(of)e(c) -o(haracters)i(enclosed)g(in)e(\\)p Fu([])p FD(".)25 b(It)16 -b(normally)e(matc)o(hes)i(an)o(y)g(single)g(c)o(haracter)75 -1321 y(from)c(the)j(sequence.)21 b(If)13 b(the)i(sequence)h(b)q(egins)f -(with)e(\\)p Fu(^)p FD(",)g(it)h(matc)o(hes)f(an)o(y)h(single)g(c)o -(haracter)h FB(not)g FD(from)d(the)75 1371 y(rest)18 -b(of)f(the)g(sequence.)30 b(If)16 b(t)o(w)o(o)h(c)o(haracters)i(in)d -(the)i(sequence)h(are)e(separated)i(b)o(y)d(\\)p Fu(-)p -FD(",)h(this)g(is)g(shorthand)75 1421 y(for)d(the)i(full)d(list)i(of)f -(ASCI)q(I)h(c)o(haracters)h(b)q(et)o(w)o(een)g(them)e(\(e.g.)21 -b(\\)p Fu([0-9])p FD(")13 b(matc)o(hes)h(an)o(y)g(decimal)g(digit\).)19 -b(T)m(o)75 1471 y(include)e(a)g(literal)f(\\)p Fu(])p -FD(")g(in)h(the)g(sequence,)j(mak)o(e)15 b(it)i(the)h(\014rst)g(c)o -(haracter)g(\(follo)o(wing)c(a)j(p)q(ossible)g(\\)p Fu(^)p -FD("\).)27 b(T)m(o)75 1521 y(include)14 b(a)g(literal)f(\\)p -Fu(-)p FD(",)f(mak)o(e)h(it)g(the)i(\014rst)f(or)g(last)g(c)o -(haracter.)75 1571 y(In)k(general)g(there)h(ma)o(y)d(b)q(e)i(more)f -(than)h(one)g(w)o(a)o(y)f(to)h(matc)o(h)f(a)g(regular)h(expression)h -(to)f(an)f(input)h(string.)75 1621 y(Considering)e(only)g(the)h(rules)f -(giv)o(en)g(so)h(far)f(could)g(lead)g(to)g(am)o(biguities.)23 -b(T)m(o)15 b(resolv)o(e)i(those)g(am)o(biguities,)75 -1671 y(the)12 b(generated)i(regular)e(expression)h(c)o(ho)q(oses)g -(among)c(alternativ)o(es)j(using)g(the)g(rule)g(\\\014rst)h(then)f -(longest".)17 b(In)75 1720 y(other)d(w)o(ords,)f(it)g(considers)h(the)g -(p)q(ossible)f(matc)o(hes)g(in)g(order)h(w)o(orking)e(from)f(left)i(to) -g(righ)o(t)g(across)h(the)g(input)75 1770 y(string)h(and)f(the)i -(pattern,)f(and)g(it)f(attempts)h(to)f(matc)o(h)g(longer)h(pieces)h(of) -e(the)h(input)g(string)g(b)q(efore)g(shorter)75 1820 -y(ones.)k(More)14 b(sp)q(eci\014cally)m(,)f(the)i(follo)o(wing)c(rules) -j(apply)g(in)f(decreasing)i(order)g(of)e(priorit)o(y:)126 -1904 y(1.)20 b(If)13 b(a)g(regular)h(expression)h(could)f(matc)o(h)e(t) -o(w)o(o)h(di\013eren)o(t)i(parts)f(of)f(an)h(input)f(string)h(then)g -(it)f(will)g(matc)o(h)179 1954 y(the)h(one)g(that)g(b)q(egins)h -(earliest.)126 2039 y(2.)20 b(If)14 b(a)g(regular)g(expression)i(con)o -(tains)e(\\)p Fu(|)p FD(")g(op)q(erators)h(then)g(the)g(leftmost)e -(matc)o(hing)g(sub-expression)j(is)179 2089 y(c)o(hosen.)126 -2174 y(3.)k(In)14 b(\\)p Fu(*)p FD(",)e(\\)p Fu(+)p FD(",)h(and)h(\\)p -Fu(?)p FD(")j(constructs,)f(longer)e(matc)o(hes)f(are)h(c)o(hosen)h(in) -f(preference)i(to)e(shorter)h(ones.)126 2259 y(4.)20 -b(In)14 b(sequences)i(of)d(expression)i(comp)q(onen)o(ts)f(the)g(comp)q -(onen)o(ts)g(are)g(considered)i(from)c(left)h(to)h(righ)o(t.)153 -2348 y Ft(\(define)j(r1)i(\(string->r)o(ege)o(xp)d("abc"\)\))153 -2394 y(\(r1)j("xyz"\))351 b Fs(=)-6 b Fn(\))19 b Ft(#f)153 -2439 y(\(r1)g("12abc345)o("\))252 b Fs(=)-6 b Fn(\))19 -b Ft(\(\(2)g(5\)\))153 2485 y(\(define)e(r2)i(\(string->r)o(ege)o(xp)d -("[a-z]+"\)\))153 2531 y(\(r2)j("12abc345)o("\))252 b -Fs(=)-6 b Fn(\))19 b Ft(\(\(2)g(5\)\))75 2669 y FD(If)14 -b(the)h(regular)f(expression)i(con)o(tains)e(paren)o(thesis,)i(and)e -(if)g(there)h(is)f(a)h(matc)o(h,)d(the)j(result)h(returned)g(b)o(y)e -(the)75 2719 y(application)h(will)h(con)o(tain)g(sev)o(eral)i(couples)f -(of)f(in)o(tegers.)28 b(First)17 b(couple)g(will)f(b)q(e)h(the)g -(indexes)h(of)e(the)i(\014rst)75 2769 y(longest)c(substring)h(whic)o(h) -f(matc)o(h)f(the)i(regular)f(expression.)20 b(Subsequen)o(t)c(couples,) -f(will)d(b)q(e)j(the)g(indexes)g(of)75 2819 y(all)e(the)h(sub-parts)h -(of)e(this)h(regular)g(expression,)h(in)e(sequence.)p -eop +39 38 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(39)p 37 64 1838 2 v 37 190 a Fw(\(exec)24 b FD(string)t +Fw(\))1356 b FF(pro)q(cedure)37 271 y(Executes)18 b(the)f(command)g +(con)o(tained)g(in)h FD(string)i FF(and)d(redirects)h(its)f(output)g +(in)h(a)e(string.)25 b(This)18 b(string)37 327 y(constitutes)e(the)f +(result)h(of)e Fw(exec)p FF(.)37 420 y Fw(\(getenv)23 +b FD(string)t Fw(\))1309 b FF(pro)q(cedure)37 494 y(Lo)q(oks)14 +b(for)f(the)h(en)o(vironmen)o(t)g(v)m(ariable)h(named)e +FD(string)k FF(and)d(returns)g(its)f(v)m(alue)i(as)e(a)h(string,)f(if)h +(it)g(exists.)37 543 y(Otherwise,)i Fw(getenv)e FF(returns)i +Fw(#f)p FF(.)125 611 y Fv(\(getenv)k("SHELL"\))343 661 +y Fu(=)-7 b Fp(\))21 b Fv("/bin/zsh")37 822 y Fw(\(setenv!)i +FD(var)h(value)s Fw(\))1212 b FF(pro)q(cedure)37 895 +y(Sets)19 b(the)f(en)o(vironmen)o(t)h(v)m(ariable)g FD(var)24 +b FF(to)17 b FD(value)t FF(.)29 b FD(V)m(ar)23 b FF(and)18 +b FD(value)k FF(m)o(ust)17 b(b)q(e)i(strings.)29 b(The)19 +b(result)f(of)37 945 y Fw(setenv!)i FF(is)15 b(unde\014ned.)125 +1013 y Fv(\(getenv)20 b("SHELL"\))343 1062 y Fu(=)-7 +b Fp(\))21 b Fv("/bin/zsh")37 1230 y FI(6.17)56 b(Addresses)37 +1316 y FF(An)13 b FD(addr)n(ess)e FF(is)h(a)g(Sc)o(heme)g(ob)s(ject)f +(whic)o(h)i(con)o(tains)f(a)f(reference)i(to)e(another)g(Sc)o(heme)h +(ob)s(ject.)19 b(This)12 b(t)o(yp)q(e)37 1372 y(can)j(b)q(e)g(view)o +(ed)f(as)g(a)g(kind)h(of)f(p)q(oin)o(ter)g(to)g(a)g(Sc)o(heme)g(ob)s +(ject.)19 b(Addresses,)c(ev)o(en)f(though)g(they)g(are)g(v)o(ery)37 +1429 y(dangerous,)19 b(ha)o(v)o(e)g(b)q(een)g(in)o(tro)q(duced)h(in)g +FB(STk)e FF(so)g(that)g(ob)s(jects)g(that)g(ha)o(v)o(e)g(no)h +(\\readable")g(external)37 1485 y(represen)o(tation)i(can)g(still)i(b)q +(e)e(transformed)f(in)o(to)h(strings)f(and)h(bac)o(k)g(without)g(loss)g +(of)f(information.)37 1541 y(Adresses)c(w)o(ere)f(useful)h(with)f +(pre-3.0)g(v)o(ersion)g(of)g FB(STk)p FF(;)f(their)h(usage)g(is)h(no)o +(w)e FE(stongly)k(discouraged)p FF(,)37 1598 y(unless)h(y)o(ou)f(kno)o +(w)f(what)h(y)o(ou)f(do.)28 b(In)18 b(particular,)h(an)f(address)g(can) +g(designate)g(an)g(ob)s(ject)f(at)g(a)h(time)37 1654 +y(and)e(another)f(one)g(later)g(\(i.e.)20 b(after)15 +b(the)g(garbage)f(collector)i(has)f(mark)o(ed)g(the)g(zone)h(as)f +(free\).)37 1711 y(Addresses)23 b(are)e(prin)o(ted)i(with)f(a)f(sp)q +(ecial)j(syn)o(tax:)32 b Fw(#pNNN)p FF(,)21 b(where)h +Fw(NNN)f FF(is)h(an)g(hexadecimal)h(v)m(alue.)37 1767 +y(Reading)17 b(this)f(v)m(alue)g(bac)o(k)f(yields)i(the)e(original)h +(ob)s(ject)f(whose)g(lo)q(cation)h(is)g Fw(NNN)p FF(.)37 +1879 y Fw(\(address-of)23 b FD(obj)7 b Fw(\))1266 b FF(pro)q(cedure)37 +1959 y(Returns)16 b(the)g(address)f(of)g Fw(obj)p FF(.)37 +2052 y Fw(\(address?)23 b FD(obj)7 b Fw(\))1314 b FF(pro)q(cedure)37 +2132 y(Returns)16 b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 +b(an)g(address;)g(returns)g Fw(#f)g FF(otherwise.)37 +2232 y FI(6.18)56 b(Signals)37 2318 y FB(STk)18 b FF(allo)o(ws)g(the)g +(use)g(to)g(asso)q(ciate)f(handlers)i(to)f(signals.)29 +b(Signal)19 b(handlers)g(for)e(a)h(giv)o(en)g(signal)h(can)37 +2374 y(ev)o(en)c(b)q(e)g(c)o(hained)g(in)g(a)f(list.)20 +b(When)15 b(a)f(signal)h(o)q(ccurs,)f(the)g(\014rst)g(signal)h(of)f +(the)g(list)h(is)g(executed.)20 b(Unless)37 2431 y(this)f(signal)h +(yields)f(the)g(sym)o(b)q(ol)g Fw(break)e FF(the)i(next)f(signal)h(of)f +(the)h(list)g(is)g(ev)m(aluated.)30 b(When)19 b(a)f(signal)37 +2487 y(handler)f(is)e(called,)i(the)e(in)o(teger)h(v)m(alue)g(of)f +(this)g(signal)h(is)g(passed)g(to)e(it)i(as)e(\(the)h(only\))h +(parameter.)37 2543 y(The)d(follo)o(wing)h(PO)o(XIX.1)e(constan)o(ts)g +(for)g(signal)h(n)o(um)o(b)q(ers)g(are)g(de\014ned:)20 +b Fw(SIGABRT)p FF(,)11 b Fw(SIGALRM)p FF(,)g Fw(SIGFPE)p +FF(,)37 2600 y Fw(SIGHUP)p FF(,)h Fw(SIGILL)p FF(,)f +Fw(SIGINT)p FF(,)g Fw(SIGKILL)p FF(,)g Fw(SIGPIPE)p FF(,)g +Fw(SIGQUIT)p FF(,)g Fw(SIGSEGV)p FF(,)h Fw(SIGTERM)p +FF(,)f Fw(SIGUSR1)p FF(,)g Fw(SIGUSR2)p FF(,)37 2656 +y Fw(SIGCHLD)p FF(,)i Fw(SIGCONT)p FF(,)f Fw(SIGSTOP)p +FF(,)h Fw(SIGTSTP)p FF(,)f Fw(SIGTTIN)p FF(,)g Fw(SIGTTOU)p +FF(.)h(Moreo)o(v)o(er,)f(the)i(follo)o(wing)g(constan)o(ts,)37 +2713 y(whic)o(h)25 b(are)d(often)h(a)o(v)m(ailable)i(on)e(most)g +(systems)f(are)h(also)g(de\014ned)1267 2696 y FA(6)1289 +2713 y FF(:)35 b Fw(SIGTRAP)p FF(,)22 b Fw(SIGIOT)p FF(,)g +Fw(SIGEMT)p FF(,)p 37 2745 735 2 v 89 2771 a Ft(6)107 +2787 y Fs(Some)13 b(of)g(these)g(constan)o(ts)h(ma)o(y)f(b)q(e)h +(unde\014ned)h(if)e(they)g(are)g(not)h(supp)q(orted)g(b)o(y)f(y)o(our)h +(system)p eop %%Page: 40 40 -40 39 bop 75 47 a FC(40)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 153 179 a Ft(\(define)j(r3)i(\(string->r)o(ege)o(xp)d -("\(a*\)\(b*\)c)o("\))o(\))153 224 y(\(r3)j("abc"\))351 -b Fs(=)-6 b Fn(\))19 b Ft(\(\(0)g(3\))f(\(0)h(1\))g(\(1)g(2\)\))153 -270 y(\(r3)g("c"\))391 b Fs(=)-6 b Fn(\))19 b Ft(\(\(0)g(1\))f(\(0)h -(0\))g(\(0)g(0\)\))153 316 y(\(\(string->r)o(eg)o(exp)d("\([a-z]+\))o -(,\([)o(a-)o(z]+)o(\)"\))g("XXabcd,e)o(XX")o(\))703 361 -y Fs(=)-6 b Fn(\))19 b Ft(\(\(2)g(8\))f(\(2)h(6\))g(\(7)g(8\)\))75 -580 y Fu(\(regexp?)h FB(obj)6 b Fu(\))1307 b FD(pro)q(cedure)75 -653 y(Returns)15 b Fu(#t)e FD(if)g FB(obj)20 b FD(is)14 -b(a)f(regular)h(expression)h(created)h(b)o(y)d Fu(string->regexp)p -FD(;)e(otherwise)k(returns)g Fu(#f)p FD(.)153 731 y Ft(\(regexp?)i -(\(string->r)o(eg)o(exp)f("[a-zA-Z])o([a-)o(zA)o(-Z0)o(-9)o(]*")o(\)\)) -703 776 y Fs(=)-6 b Fn(\))39 b Ft(#t)75 949 y Fu(\(regexp-replace)19 -b FB(p)n(attern)i(string)h(substitution)s Fu(\))726 b -FD(pro)q(cedure)75 999 y Fu(\(regexp-replace-a)o(ll)19 -b FB(p)n(attern)i(string)h(substitution)s Fu(\))639 b -FD(pro)q(cedure)75 1068 y Fu(Regexp-replace)13 b FD(matc)o(hes)i(the)h -(regular)g(expression)h FB(p)n(attern)h FD(against)d -FB(string)s FD(.)23 b(If)16 b(there)h(is)e(a)g(matc)o(h,)g(the)75 -1114 y(p)q(ortion)e(of)g FB(string)j FD(whic)o(h)e(matc)o(h)e -FB(p)n(attern)k FD(is)e(replaced)g(b)o(y)f(the)h FB(substitution)j -FD(string.)h(If)13 b(there)i(is)e(no)g(matc)o(h,)75 1159 -y Fu(regexp-replace)j FD(returns)21 b FB(string)h FD(unmo)q(di\014ed.) -32 b(Note)19 b(that)g(the)h(giv)o(en)e FB(p)n(attern)k -FD(could)d(b)q(e)g(here)i(either)75 1205 y(a)16 b(string)f(or)h(a)g -(regular)g(expression.)25 b(If)15 b FB(p)n(attern)k FD(con)o(tains)d -(strings)g(of)g(the)g(form)e(\\)p Fu(\\n)p FD(",)h(where)i -FB(n)f FD(is)g(a)f(digit)75 1261 y(b)q(et)o(w)o(een)e(1)e(and)g(9,)g -(then)h(it)f(is)h(replaced)g(in)f(the)h(substitution)f(with)g(the)h(p)q -(ortion)f(of)g(string)h(that)f(matc)o(hed)g(the)75 1307 -y FB(n)p FD(-th)k(paren)o(thesized)i(sub)q(expression)f(of)e -FB(p)n(attern)p FD(.)20 b(If)15 b FB(n)g FD(is)f(equal)h(to)f(0,)g -(then)i(it)e(is)g(replaced)i(in)e FB(substitution)75 -1353 y FD(with)g(the)g(p)q(ortion)g(of)f FB(string)k -FD(that)d(matc)o(hed)f FB(p)n(attern)s FD(.)153 1424 -y Ft(\(regexp-rep)o(la)o(ce)j("a*b")i("aaabbccc)o(c")e("X"\))703 -1470 y Fs(=)-6 b Fn(\))19 b Ft("Xbcccc")153 1515 y(\(regexp-rep)o(la)o -(ce)d(\(string->r)o(ege)o(xp)g("a*b"\))h("aaabbcccc")f("X"\))703 -1561 y Fs(=)-6 b Fn(\))19 b Ft("Xbcccc")153 1607 y(\(regexp-rep)o(la)o -(ce)d("\(a*\)b")h("aaabbcccc)o(")g("X\\\\1Y"\))703 1652 -y Fs(=)-6 b Fn(\))19 b Ft("XaaaYbccc)o(c")153 1698 y(\(regexp-rep)o(la) -o(ce)d("\(a*\)b")h("aaabbcccc)o(")g("X\\\\0Y"\))703 1744 -y Fs(=)-6 b Fn(\))19 b Ft("XaaabYbcc)o(cc)o(")153 1789 -y(\(regexp-rep)o(la)o(ce)d("\([a-z]*\))g(\([a-z]*\)")h("john)g(brown")h -("\\\\2)g(\\\\1"\))703 1835 y Fs(=)-6 b Fn(\))19 b Ft("brown)e(john")75 -1956 y Fu(Regexp-replace)10 b FD(replaces)k(the)g(\014rst)g(o)q -(ccurence)i(of)c FB(p)n(attern)k FD(in)d FB(string)s -FD(.)18 b(T)m(o)12 b(replace)i FB(al)r(l)e FD(the)i(o)q(ccurences)i(of) -75 2006 y(the)e FB(p)n(attern)p FD(,)g(use)g Fu(regexp-replace-all)153 -2084 y Ft(\(regexp-rep)o(la)o(ce)i("a*b")i("aaabbccc)o(c")e("X"\))703 -2129 y Fs(=)-6 b Fn(\))19 b Ft("Xbcccc")153 2175 y(\(regexp-rep)o(la)o -(ce-)o(all)d("a*b")h("aaabbcccc")f("X"\))703 2221 y Fs(=)-6 -b Fn(\))19 b Ft("XXcccc")75 2405 y FG(6.21)56 b(P)n(attern)18 -b(matc)n(hing)75 2482 y FD(P)o(attern)11 b(matc)o(hing)d(is)i(a)f(k)o -(ey)i(feature)f(of)g(most)e(mo)q(dern)i(functional)f(programmi)o(ng)e -(languages)i(since)i(it)f(allo)o(ws)75 2531 y(clean)16 -b(and)g(secure)j(co)q(de)d(to)g(b)q(e)h(written.)26 b(In)o(ternally)m -(,)15 b(\\pattern-matc)o(hing)g(forms")f(should)i(b)q(e)h(translated)75 -2581 y(\(compiled\))10 b(in)o(to)g(cascades)j(of)e(\\elemen)o(tary)f -(tests")j(where)f(co)q(de)g(is)f(made)f(as)i(e\016cien)o(t)g(as)f(p)q -(ossible,)g(a)o(v)o(oiding)75 2631 y(redundan)o(t)19 -b(tests;)k(the)c Fz(STk)g FD(\\pattern)h(matc)o(hing)c(compiler")i(pro) -o(vides)h(this)1365 2616 y Fy(5)1383 2631 y FD(.)33 b(The)19 -b(tec)o(hnique)h(used)g(is)p 75 2662 705 2 v 121 2689 -a Fr(5)139 2701 y Fq(The)11 b(\\pattern)d(matc)o(hing)h(compiler")f -(has)j(b)q(een)e(written)i(b)o(y)f(Jean-Marie)f(Ge\013ro)o(y)h(and)g -(is)h(part)f(of)h(the)f(Man)o(uel)g(Serrano's)75 2740 -y(Biglo)q(o)i(compiler[8)m(])h(since)f(sev)o(eral)g(y)o(ears.)20 -b(The)13 b(co)q(de)f(\(and)g(do)q(cumen)o(tat)o(ion)o(\))f(included)g -(in)i Fh(STk)h Fq(has)e(b)q(een)g(stolen)g(from)g(the)75 -2779 y(Biglo)q(o)c(pac)o(k)n(age)e(v1.9)i(\(the)g(only)g(di\013erence)e -(b)q(et)o(w)o(een)h(b)q(oth)h(pac)o(k)n(age)f(is)h(the)g(pattern)f -(matc)o(hing)f(of)j(structures)d(whisc)o(h)j(is)f(absen)o(t)75 -2819 y(in)j Fh(STk)p Fq(\).)p eop +40 39 bop 37 45 a FE(40)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(SIGBUS)p FF(,)d Fw(SIGSYS)p +FF(,)g Fw(SIGURG)p FF(,)g Fw(SIGCLD)p FF(,)g Fw(SIGIO)p +FF(,)g Fw(SIGPOLL)p FF(,)g Fw(SIGXCPU)p FF(,)g Fw(SIGXFSZ)p +FF(,)g Fw(SIGVTALRM)p FF(,)f Fw(SIGPROF)p FF(,)37 247 +y Fw(SIGWINCH)p FF(,)h Fw(SIGLOST)p FF(.)37 304 y(See)19 +b(y)o(our)f(Unix)h(do)q(cumen)o(tation)f(for)g(the)g(exact)g(meaning)h +(of)f(eac)o(h)g(constan)o(t)f(or)h([7)o(].)28 b(Use)19 +b(sym)o(b)q(olic)37 360 y(constan)o(ts)11 b(rather)g(than)h(their)g(n)o +(umeric)g(v)m(alue)h(if)f(y)o(ou)g(plan)g(to)f(p)q(ort)g(y)o(our)g +(program)g(on)h(another)f(system.)37 417 y(A)16 b(sp)q(ecial)h(signal,) +f(managed)f(b)o(y)g(the)g(in)o(terpreter,)g(is)h(also)f(de\014ned:)22 +b Fw(SIGHADGC)p FF(.)14 b(This)i(signal)g(is)f(raised)37 +473 y(when)h(the)f(garbage)g(collector)h(phase)f(terminates.)37 +530 y(When)d(the)e(in)o(terpreter)h(starts)e(running,)k(all)e(signals)h +(are)e(sets)g(to)g(their)i(default)f(v)m(alue,)h(excepted)g +Fw(SIGINT)37 586 y FF(\(generally)k(b)q(ound)h(to)d Fw(C)p +FF(on)o(trol-C\))g(whic)o(h)i(is)g(handled)h(sp)q(ecially)l(.)37 +704 y Fw(\(set-signal-handler!)22 b FD(sig)h(hand)r(ler)5 +b Fw(\))885 b FF(pro)q(cedure)37 784 y(Replace)17 b(the)f(handler)g +(for)e(signal)i FD(sig)j FF(with)d FD(hand)r(ler)5 b +FF(.)20 b(Handler)c(can)f(b)q(e)113 879 y(-)23 b Fw(#t)15 +b FF(to)g(reset)g(the)g(signal)h(handler)g(for)f FD(sig)j +FF(to)d(the)g(default)h(system)f(handler.)113 973 y(-)23 +b Fw(#f)14 b FF(to)g(completly)i(ignore)e FD(sig)k FF(\(Note)c(that)g +(P)o(osix.1)f(states)h(that)g Fw(SIGKILL)f FF(and)i Fw(SIGSTOP)e +FF(cannot)151 1030 y(b)q(e)j(caugh)o(t)f(or)f(ignored\).)113 +1124 y(-)23 b(a)15 b(one)g(parameter)g(pro)q(cedure.)37 +1219 y(This)h(pro)q(cedure)g(returns)f(the)h(new)f(handler,)h(or)f +(\(length)g(1\))g(handler)h(list,)g(asso)q(ciated)f(to)g +FD(sig)s FF(.)125 1320 y Fv(\(let*)20 b(\(\(x)152 b(#f\))277 +1369 y(\(handler)20 b(\(lambda)h(\(i\))g(\(set!)g(x)g(#t\)\)\)\))168 +1419 y(\(set-signal-handler)o(!)e(|SIGHADGC|)h(handler\))168 +1469 y(\(gc\))168 1519 y(x\))343 1569 y Fu(=)-7 b Fp(\))21 +b Fv(#t)37 1788 y Fw(\(add-signal-handler!)h FD(sig)h(hand)r(ler)5 +b Fw(\))885 b FF(pro)q(cedure)37 1868 y(Adds)15 b FD(hand)r(ler)20 +b FF(to)14 b(the)g(list)h(of)f(handlers)i(for)d(signal)j +FD(sig)s FF(.)k(If)14 b(the)h(old)g(signal)g(handler)g(is)g(a)f(b)q(o)q +(olean,)i(this)37 1924 y(pro)q(cedure)k(is)f(equiv)m(alen)o(t)h(to)d +Fw(set-signal-handler!)p FF(.)27 b(Otherwise,)20 b(the)e(new)h(handler) +g(is)g(added)g(in)37 1981 y(fron)o(t)14 b(of)g(the)h(previous)g(list)h +(of)e(handler.)21 b(This)15 b(pro)q(cedure)g(returns)g(the)g(new)f +(handler,)i(or)e(handler)i(list,)37 2037 y(asso)q(ciated)g(to)e +FD(sig)t FF(.)125 2138 y Fv(\(let*)20 b(\(\(x)174 b('\(\)\))277 +2188 y(\(handler1)20 b(\(lambda)g(\(i\))i(\(set!)e(x)i(\(cons)f(1)g +(x\)\)\)\))277 2238 y(\(handler2)f(\(lambda)g(\(i\))i(\(set!)e(x)i +(\(cons)f(2)g(x\)\)\)\)\))168 2287 y(\(add-signal-handler)o(!)e +(|SIGHADGC|)h(handler1\))168 2337 y(\(add-signal-handler)o(!)f +(|SIGHADGC|)h(handler2\))168 2387 y(\(gc\))168 2437 y(x\))343 +2487 y Fu(=)-7 b Fp(\))21 b Fv(\(1)h(2\))125 2688 y(\(let*)e(\(\(x)174 +b('\(\)\))277 2738 y(\(handler1)20 b(\(lambda)g(\(i\))i(\(set!)e(x)i +(\(cons)f(1)g(x\)\)\)\))277 2787 y(\(handler2)f(\(lambda)g(\(i\))i +(\(set!)e(x)i(\(cons)f(2)g(x\)\))h('break\)\)\))p eop %%Page: 41 41 -41 40 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(41)p 75 64 1763 2 v 75 179 a FD(describ)q(ed)16 b(in)e(details)f(in)h -([9)o(],)g(and)g(the)g(co)q(de)h(generated)h(can)e(b)q(e)h(considered)g -(optimal)d(due)i(to)g(the)h(w)o(a)o(y)e(this)75 229 y(\\pattern)h -(compiler")f(w)o(as)g(obtained.)75 278 y(The)h(\\pattern)h(language")e -(allo)o(ws)f(the)j(expression)g(of)e(a)h(wide)f(v)n(ariet)o(y)h(of)f -(patterns,)i(including:)137 363 y Fm(\017)21 b FD(Non-linear)15 -b(patterns:)22 b(pattern)16 b(v)n(ariables)f(can)g(app)q(ear)h(more)f -(than)g(once,)h(allo)o(wing)d(comparison)h(of)179 413 -y(subparts)h(of)e(the)h(datum)f(\(through)h Fu(eq?)p -FD(\))137 493 y Fm(\017)21 b FD(Recursiv)o(e)16 b(patterns)h(on)e -(lists:)21 b(for)15 b(example,)g(c)o(hec)o(king)g(that)h(the)g(datum)e -(is)h(a)h(list)f(of)g(zero)h(or)f(more)179 543 y Fu(a)p -FD(s)f(follo)o(w)o(ed)e(b)o(y)i(zero)g(or)g(more)f Fu(b)p -FD(s.)137 623 y Fm(\017)21 b FD(P)o(attern)15 b(matc)o(hing)d(on)h -(lists)h(as)g(w)o(ell)f(as)h(on)g(v)o(ectors.)75 730 -y FC(P)o(attern)g(Matc)o(hing)g(F)l(acilities)75 807 -y FD(Only)e(t)o(w)o(o)g(sp)q(ecial)g(forms)f(are)h(pro)o(vided)h(for)e -(this:)18 b Fu(match-case)10 b FD(and)i Fu(match-lambda)d -FD(and)j(these)i(also)e(exist,)75 857 y(for)i(example,)e(in)h(Andrew)i -(W)m(righ)o(t)e(and)g(Bruce)j(Duba's)d([10)o(])g(pattern)i(matc)o(hing) -d(pac)o(k)n(age.)75 960 y Fu(\(match-case)20 b Fm(h)p -FD(k)o(ey)p Fm(i)i(h)p FD(clause)576 966 y Fy(1)595 960 -y Fm(i)g(h)p FD(clause)757 966 y Fy(2)776 960 y Fm(i)q -Fx(:)7 b(:)g(:)e Fu(\))849 b FD(syn)o(tax)75 1029 y(In)14 -b(this)g(form,)d Fm(h)p FD(k)o(ey)p Fm(i)k FD(ma)o(y)d(b)q(e)i(an)o(y)g -(expression)h(and)e(eac)o(h)i Fm(h)p FD(clause)p Fm(i)g -FD(has)f(the)g(form)153 1103 y Ft(\()p Fk(<)p Ft(pat)p -Fk(>)k(<)p Ft(expression)540 1107 y Fr(1)555 1103 y Fk(>)h(<)p -Ft(expressio)o(n)833 1107 y Fr(2)847 1103 y Fk(>)h Ft(...\))75 -1226 y FD(A)14 b Fu(match-case)e FD(expression)j(is)f(ev)n(aluated)g -(as)g(follo)o(ws.)j Fx(<)p FD(k)o(ey)p Fx(>)e FD(is)f(ev)n(aluated)g -(and)g(the)g(result)h(is)f(compared)75 1276 y(with)c(eac)o(h)g -(successiv)o(e)i(patterns.)18 b(If)10 b(the)g(pattern)h(in)f(some)f -Fx(<)p FD(clause)p Fx(>)i FD(yields)f(a)g(matc)o(h,)f(then)h(the)h -(expressions)75 1326 y(in)k(that)g Fx(<)p FD(clause)p -Fx(>)h FD(are)f(ev)n(aluated)g(from)f(left)g(to)h(righ)o(t)g(in)g(an)f -(en)o(vironmen)o(t)g(where)j(the)e(pattern)h(v)n(ariables)75 -1376 y(are)c(b)q(ound)f(to)g(the)h(corresp)q(onding)g(subparts)g(of)f -(the)h(datum,)e(and)h(the)h(result)g(of)e(the)i(last)f(expression)i(in) -d(that)75 1426 y Fx(<)p FD(clause)p Fx(>)16 b FD(is)f(returned)i(as)f -(the)f(result)h(of)f(the)h Fu(match-case)d FD(expression.)23 -b(If)15 b(no)g Fx(<)p FD(pat)p Fx(>)h FD(in)f(an)o(y)f -Fx(<)p FD(clause)p Fx(>)75 1475 y FD(matc)o(hes)e(the)h(datum,)d(then,) -j(if)e(there)j(is)e(an)g Fu(else)f FD(clause,)i(its)f(expressions)i -(are)e(ev)n(aluated)g(and)g(the)h(result)g(of)75 1525 -y(the)h(last)f(is)h(the)g(result)g(of)f(the)h(whole)g -Fu(match-case)d FD(expression;)k(otherwise)f(the)g(result)g(of)f(the)i -Fu(match-case)75 1575 y FD(expression)g(is)f(unsp)q(eci\014ed.)75 -1625 y(The)g(equalit)o(y)f(predicate)i(used)g(is)f Fu(eq?)p -FD(.)153 1705 y Ft(\(match-case)i('\(a)i(b)i(a\))193 -1751 y(\(\(?x)e(?x\))g('foo\))193 1797 y(\(\(?x)g(?-)h(?x\))f('bar\)\)) -350 1842 y Fs(=)-6 b Fn(\))19 b Ft(bar)75 2021 y Fu(\(match-lambda)g -Fm(h)p FD(clause)504 2027 y Fy(1)523 2021 y Fm(i)j(h)p -FD(clause)685 2027 y Fy(2)705 2021 y Fm(i)p Fx(:)7 b(:)g(:)e -Fu(\))921 b FD(syn)o(tax)75 2094 y(The)19 b(form)e Fu(match-lambda)p -FD(expands)g(in)o(to)h(a)g(lam)o(b)q(da-expression)g(exp)q(ecting)h(an) -g(argumen)o(t)e(whic)o(h,)j(once)75 2144 y(applied)13 -b(to)h(an)g(expression,)g(b)q(eha)o(v)o(es)h(exactly)f(lik)o(e)f(a)h -Fu(match-case)d FD(expression.)153 2224 y Ft(\(\(match-lam)o(bd)o(a)232 -2270 y(\(\(?x)18 b(?x\))g('foo\))232 2316 y(\(\(?x)g(?-)h(?x\))f -('bar\)\))g('bar\))350 2361 y Fs(=)-6 b Fn(\))19 b Ft(bar)75 -2543 y FC(The)d(pattern)d(language)75 2620 y FD(The)g(syn)o(tax)f(is)h -(presen)o(ted)h(in)e(T)m(able)g(3.)17 b(It)c(is)f(describ)q(ed)j(b)q -(elo)o(w)d(in)g(the)h(same)f(w)o(a)o(y)f(\(and)i(nearly)f(in)g(the)h -(same)75 2669 y(w)o(ords\))h(as)g(in)g([10)o(].)75 2719 -y Fl(Note:)42 b Ft(and,)18 b(or,)g(not,)g(check)13 b -Fs(and)j Ft(kwote)d Fs(m)o(ust)j(b)q(e)f(quoted)i(in)f(order)f(to)h(b)q -(e)f(treated)h(as)f(literals.)26 b(This)16 b(is)g(the)75 -2769 y(only)f(justi\014cation)h(for)e(ha)o(ving)h(the)f -Ft(kwote)e Fs(pattern)i(since,)h(b)o(y)f(con)o(v)o(en)o(tion,)i(an)o(y) -e(atom)g(whic)o(h)h(is)f(not)g(a)g(k)o(eyw)o(ord)h(is)75 -2819 y(quoted.)p eop -%%Page: 42 42 -42 41 bop 75 47 a FC(42)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 100 169 a Fk(<)p Fl(p)n(attern)p Fk(>)d -Fn(\000)-6 b(!)308 b Fl(Matches:)100 215 y Fk(<)p Fs(atom)p -Fk(>)13 b Fn(k)g Ft(\(kwote)37 b Fk(<)p Fs(atom)p Fk(>)p -Ft(\))49 b Fs(an)o(y)14 b(expression)h Ft(eq?)h Fs(to)d -Fk(<)p Fs(atom)p Fk(>)100 261 y Fn(k)g Ft(\(and)e Fk(<)p -Fs(pat)308 265 y Fr(1)336 261 y Fk(>)i Fs(.)6 b(.)g(.)g -Fk(<)p Fs(pat)515 265 y Fg(n)548 261 y Fk(>)p Ft(\))63 -b Fs(if)13 b(all)i(of)d Fk(<)p Fs(pat)878 265 y Fg(i)903 -261 y Fk(>)g Fs(matc)o(h)100 306 y Fn(k)h Ft(\(or)f Fk(<)p -Fs(pat)p Fk(>)h Fs(.)6 b(.)g(.)g Fk(<)p Fs(pat)468 310 -y Fg(n)500 306 y Fk(>)p Ft(\))111 b Fs(if)13 b(an)o(y)h(of)f -Fk(<)p Fs(pat)898 310 y Fr(1)926 306 y Fk(>)g Fs(through)h -Fk(<)p Fs(pat)1199 310 y Fg(n)1231 306 y Fk(>)p Fs(matc)o(h)100 -352 y Fn(k)f Ft(\(not)e Fk(<)p Fs(pat)p Fk(>)p Ft(\))303 -b Fs(if)13 b Fk(<)p Fs(pat)p Fk(>)g Fs(do)q(esn't)h(matc)o(h)100 -398 y Fn(k)f Ft(\(?)j Fk(<)p Fs(predicate)p Fk(>)p Ft(\))241 -b Fs(if)13 b Fk(<)p Fs(predicate)p Fk(>)i Fs(is)e(true)100 -443 y Fn(k)g Ft(\()p Fk(<)p Ft(pat)242 447 y Fr(1)268 -443 y Fk(>)20 b Ft(...)378 427 y Fr(6)433 443 y Fk(<)p -Ft(pat)523 447 y Fg(n)554 443 y Fk(>)p Ft(\))57 b Fs(a)13 -b(list)h(of)f Fk(n)g Fs(elemen)o(ts)100 489 y Fn(k)g -Fk(<)p Fs(pat)p Fk(>)g Ft(...)p 260 496 59 2 v 332 473 -a Fr(7)661 489 y Fs(a)g(\(p)q(ossibly)j(empt)o(y\))d(rep)q(etition)i -(of)e Fk(<)p Fs(pat)p Fk(>)g Fs(in)h(a)f(list.)100 535 -y Fn(k)g Ft(#\()p Fk(<)p Ft(pat)p Fk(>)k Ft(...)p Fk(<)p -Ft(pat)459 539 y Fg(n)489 535 y Fk(>)p Ft(\))122 b Fs(a)13 -b(v)o(ector)g(of)g(n)g(elemen)o(ts)100 580 y Fn(k)g Ft(?)p -Fk(<)p Fs(iden)o(ti\014er)p Fk(>)303 b Fs(an)o(ything,)15 -b(and)e(binds)i Fk(identif)t(ier)f Fs(as)f(a)g(v)n(ariable)100 -626 y Fn(k)g Ft(?-)489 b Fs(an)o(ything)100 672 y Fn(k)13 -b Ft(??-)469 b Fs(an)o(y)14 b(\(p)q(ossibly)h(empt)o(y\))f(rep)q -(etition)h(of)d(an)o(ything)j(in)f(a)f(list)100 717 y -Fn(k)g Ft(???-)449 b Fs(an)o(y)14 b(end)f(of)g(list)735 -805 y FD(T)m(able)g(3:)18 b(P)o(attern)d(Syn)o(tax)p -77 855 13 2 v 90 855 1733 2 v 1825 855 13 2 v 75 982 -a FC(Explanations)e(through)h(examples)137 1069 y Fm(\017)21 -b Fu(?-)13 b FD(matc)o(hes)h(an)o(y)f(s-expr)137 1157 -y Fm(\017)21 b Fu(a)13 b FD(matc)o(hes)h(the)g(atom)e -Fu('a)p FD(.)137 1245 y Fm(\017)21 b Fu(?a)13 b FD(matc)o(hes)h(an)o(y) -f(expression,)i(and)e(binds)h(the)h(v)n(ariable)e Fu(a)g -FD(to)h(this)g(expression.)137 1333 y Fm(\017)21 b Fu(\(?)43 -b(integer?\))17 b FD(matc)o(hes)c(an)o(y)g(in)o(teger)137 -1421 y Fm(\017)21 b Fu(\(a)g(\(a)h(b\)\))13 b FD(matc)o(hes)g(the)i -(only)e(list)g Fu('\(a)21 b(\(a)h(b\)\))p FD(.)137 1509 -y Fm(\017)f Fu(???-)14 b FD(can)i(only)f(app)q(ear)h(at)f(the)h(end)g -(of)f(a)g(list,)g(and)h(alw)o(a)o(ys)e(succeeds.)26 b(F)m(or)15 -b(instance,)h Fu(\(a)21 b(???-\))15 b FD(is)179 1558 -y(equiv)n(alen)o(t)e(to)h Fu(\(a)21 b(.)43 b(?-\))p FD(.)137 -1646 y Fm(\017)21 b FD(when)c(o)q(ccurring)h(in)e(a)g(list,)h -Fu(??-)f FD(matc)o(hes)g(an)o(y)h(sequence)i(of)d(an)o(ything:)23 -b Fu(\(a)e(??-)g(b\))c FD(matc)o(hes)f(an)o(y)179 1696 -y(list)d(whose)i Fu(car)e FD(is)h Fu(a)f FD(and)h(last)g -Fu(car)f FD(is)h Fu(b)p FD(.)137 1784 y Fm(\017)21 b -Fu(\(a)g(...\))13 b FD(matc)o(hes)h(an)o(y)f(list)h(of)f -Fu(a)p FD('s,)g(p)q(ossibly)g(empt)o(y)m(.)137 1872 y -Fm(\017)21 b Fu(\(?x)g(?x\))13 b FD(matc)o(hes)h(an)o(y)f(list)h(of)f -(length)h(2)f(whose)i Fu(car)e FD(is)h FB(e)n(q)g FD(to)f(its)h -Fu(cadr)137 1960 y Fm(\017)21 b Fu(\(\(and)g(\(not)g(a\))g(?x\))g(?x\)) -13 b FD(matc)o(hes)g(an)o(y)f(list)h(of)g(length)g(2)g(whose)h -Fu(car)f FD(is)g(not)g FB(e)n(q)h FD(to)f Fu('a)g FD(but)g(is)g -FB(e)n(q)h FD(to)179 2010 y(its)g Fu(cadr)137 2098 y -Fm(\017)21 b Fu(#\(?-)g(?-)g(???-\))13 b FD(matc)o(hes)g(an)o(y)h(v)o -(ector)g(whose)h(length)f(is)g(at)f(least)h(2.)75 2184 -y Fl(Note:)31 b Ft(??-)11 b Fs(and)h Ft(...)f Fs(patterns)h(can)h(not)f -(app)q(ear)h(inside)g(a)f(v)o(ector,)g(where)g(y)o(ou)h(should)g(use)f -(???-:)17 b(F)m(or)11 b(example,)j Ft(#\(a)75 2234 y(??-)k(b\))c -Fs(or)g Ft(#\(a...\))19 b Fs(are)14 b(in)o(v)n(alid)j(patterns,)e -(whereas)g Ft(#\(a)k(???-\))12 b Fs(is)j(v)n(alid)h(and)f(matc)o(hes)g -(an)o(y)g(v)o(ector)f(whose)h(\014rst)75 2284 y(elemen)o(t)f(is)g(the)f -(atom)g Ft(a)p Fs(.)75 2407 y FG(6.22)56 b(Pro)r(cesses)75 -2486 y Fz(STk)18 b FD(pro)o(vides)f(access)i(to)e(Unix)g(pro)q(cesses)j -(as)d(\014rst)h(class)g(ob)r(jects.)29 b(Basically)m(,)17 -b(a)f(pro)q(cess)k(con)o(tains)d(four)75 2535 y(informations:)h(the)e -(standard)g(Unix)f(pro)q(cess)i(iden)o(ti\014cation)d(\(ak)n(a)h(PID\)) -g(and)g(the)h(three)h(standard)e(\014les)h(of)75 2585 -y(the)e(pro)q(cess.)75 2694 y Fu(\(run-process)19 b FB(c)n(ommand)k -Fx(p)573 2700 y Fy(1)613 2694 y Fx(p)634 2700 y Fy(2)675 -2694 y Fx(p)696 2700 y Fy(3)736 2694 y Fx(:)7 b(:)g(:)e -Fu(\))846 b FD(pro)q(cedure)75 2769 y Fu(run-process)13 -b FD(creates)k(a)e(new)h(pro)q(cess)h(and)f(run)f(the)h(executable)h -(sp)q(eci\014ed)g(in)e FB(c)n(ommand)5 b FD(.)22 b(The)16 -b FB(p)i FD(corre-)75 2819 y(sp)q(ond)c(to)g(the)h(command)c(line)i -(argumen)o(ts.)k(The)e(follo)o(wing)c(v)n(alues)j(of)f -FB(p)j FD(ha)o(v)o(e)e(a)g(sp)q(ecial)g(meaning:)p eop -%%Page: 43 43 -43 42 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(43)p 75 64 1763 2 v 137 179 a Fm(\017)21 b Fu(:input)10 -b FD(p)q(ermits)h(to)h(redirect)h(the)f(standard)g(input)f(\014le)h(of) -f(the)h(pro)q(cess.)19 b(Redirection)12 b(can)f(come)g(from)179 -229 y(a)g(\014le)h(or)g(from)f(a)g(pip)q(e.)18 b(T)m(o)11 -b(redirect)j(the)e(standard)h(input)e(from)g(a)g(\014le,)h(the)h(name)e -(of)g(this)h(\014le)g(m)o(ust)f(b)q(e)179 278 y(sp)q(eci\014ed)16 -b(after)g Fu(:input)p FD(.)k(Use)15 b(the)h(sp)q(ecial)f(k)o(eyw)o(ord) -g Fu(:pipe)f FD(to)h(redirect)h(the)g(standard)f(input)g(from)179 -328 y(a)e(pip)q(e.)137 414 y Fm(\017)21 b Fu(:output)13 -b FD(p)q(ermits)i(to)g(redirect)i(the)e(standard)h(output)f(\014le)g -(of)g(the)h(pro)q(cess.)23 b(Redirection)16 b(can)f(go)g(to)179 -464 y(a)g(\014le)g(or)h(to)f(a)g(pip)q(e.)22 b(T)m(o)15 -b(redirect)i(the)f(standard)g(output)f(to)h(a)f(\014le,)g(the)h(name)e -(of)h(this)g(\014le)h(m)o(ust)e(b)q(e)179 514 y(sp)q(eci\014ed)i(after) -g Fu(:output)p FD(.)j(Use)d(the)g(sp)q(ecial)f(k)o(eyw)o(ord)g -Fu(:pipe)f FD(to)h(redirect)h(the)g(standard)f(output)h(to)179 -564 y(a)d(pip)q(e.)137 650 y Fm(\017)21 b Fu(:error)11 -b FD(p)q(ermits)g(to)i(redirect)g(the)g(standard)g(error)g(\014le)f(of) -g(the)h(pro)q(cess.)19 b(Redirection)12 b(can)h(go)e(to)i(a)e(\014le) -179 700 y(or)j(to)f(a)h(pip)q(e.)19 b(T)m(o)13 b(redirect)i(the)g -(standard)f(error)h(to)f(a)f(\014le,)h(the)g(name)f(of)h(this)g(\014le) -f(m)o(ust)g(b)q(e)i(sp)q(eci\014ed)179 749 y(after)f -Fu(:error)p FD(.)j(Use)d(the)h(sp)q(ecial)f(k)o(eyw)o(ord)g -Fu(:pipe)f FD(to)g(redirect)j(the)e(standard)h(error)g(to)e(a)h(pip)q -(e.)137 835 y Fm(\017)21 b Fu(:wait)13 b FD(m)o(ust)g(b)q(e)i(follo)o -(w)o(ed)e(b)o(y)h(a)g(b)q(o)q(olean)g(v)n(alue.)k(This)d(v)n(alue)e(sp) -q(eci\014es)j(if)e(the)h(pro)q(cess)h(m)o(ust)d(b)q(e)i(run)179 -885 y(async)o(hronously)f(or)g(not.)k(By)c(default,)f(the)h(pro)q(cess) -i(is)e(run)g(async)o(hronously)g(\(i.e.)k Fu(:wait)12 -b FD(is)i Fu(#f)p FD(\).)137 971 y Fm(\017)21 b Fu(:host)c -FD(m)o(ust)g(b)q(e)i(follo)o(w)o(ed)e(b)o(y)h(a)g(string.)31 -b(This)18 b(string)g(represen)o(ts)j(the)e(name)e(of)h(the)h(mac)o -(hine)e(on)179 1021 y(whic)o(h)e(the)i(command)c(m)o(ust)i(b)q(e)h -(executed.)26 b(This)15 b(option)g(uses)i(the)g(external)f(command)d -Fu(rsh)p FD(.)23 b(The)179 1071 y(shell)12 b(v)n(ariable)f -Fu(PATH)h FD(m)o(ust)f(b)q(e)i(correctly)h(set)f(for)f(accessing)i(it)e -(without)g(sp)q(ecifying)g(its)h(ab)q(olute)f(path.)75 -1152 y(The)f(follo)o(wing)d(example)h(launc)o(hes)i(a)f(pro)q(cess)i -(whic)o(h)e(execute)j(the)e(Unix)f(command)d Fu(ls)j -FD(with)g(the)h(argumen)o(ts)75 1198 y Fu(-l)i FD(and)h -Fu(/bin)p FD(.)j(The)e(lines)e(prin)o(ted)i(b)o(y)e(this)h(command)d -(are)k(stored)g(in)e(the)h(\014le)g Fu(/tmp/X)153 1280 -y Ft(\(run-proces)o(s)i("ls")j("-l")f("/bin")f(:output)g("/tmp/X")f -(:wait)i(#f\))75 1471 y Fu(\(process?)i FB(pr)n(o)n(c)n(ess)s -Fu(\))1215 b FD(pro)q(cedure)75 1545 y(Returns)15 b Fu(#t)e -FD(if)g FB(pr)n(o)n(c)n(ess)k FD(is)d(a)g(pro)q(cess,)h(otherwise)g -(returns)g Fu(#f)p FD(.)75 1656 y Fu(\(process-alive?)k -FB(pr)n(o)n(c)n(ess)s Fu(\))1084 b FD(pro)q(cedure)75 -1730 y(Returns)15 b Fu(#t)e FD(if)g FB(pr)n(o)n(c)n(ess)k -FD(if)c(the)i(pro)q(cess)g(is)f(curren)o(tly)h(running,)e(otherwise)i -(returns)g Fu(#f)p FD(.)75 1841 y Fu(\(process-pid)k -FB(pr)n(o)n(c)n(ess)s Fu(\))1150 b FD(pro)q(cedure)75 -1915 y(Returns)15 b(an)e(in)o(teger)i(v)n(alue)e(whic)o(h)h(represen)o -(ts)i(the)f(Unix)e(iden)o(ti\014cation)g(\(PID\))i(of)e -FB(pr)n(o)n(c)n(ess)s FD(.)75 2026 y Fu(\(process-input)19 -b FB(pr)n(o)n(c)n(ess)s Fu(\))1106 b FD(pro)q(cedure)75 -2076 y Fu(\(process-output)19 b FB(pr)n(o)n(c)n(ess)s -Fu(\))1084 b FD(pro)q(cedure)75 2126 y Fu(\(process-error)19 -b FB(pr)n(o)n(c)n(ess)s Fu(\))1106 b FD(pro)q(cedure)75 -2200 y(Returns)13 b(the)f(\014le)g(p)q(ort)h(asso)q(ciated)f(to)g(the)h -(standard)f(input,)g(output)g(or)g(error)h(of)e FB(pr)n(o)n(c)n(ess)s -FD(,)h(if)f(it)h(is)f(redirected)75 2250 y(in)k(\(or)h(to\))f(a)g(pip)q -(e;)h(otherwise)g(returns)h Fu(#f)p FD(.)23 b(Note)16 -b(that)f(the)h(returned)h(p)q(ort)f(is)f(op)q(ened)i(for)e(reading)g -(when)75 2299 y(calling)c Fu(process-output)f FD(or)i -Fu(process-error)p FD(;)e(it)i(is)h(op)q(ened)g(for)g(writing)e(when)j -(calling)d Fu(process-input)p FD(.)75 2460 y Fu(\(process-wait)19 -b FB(pr)n(o)n(c)n(ess)s Fu(\))1128 b FD(pro)q(cedure)75 -2534 y Fu(Process-wait)9 b FD(stops)k(the)g(curren)o(t)g(pro)q(cess)h -(un)o(til)d FB(pr)n(o)n(c)n(ess)k FD(completion.)h Fu(Process-wait)9 -b FD(returns)k Fu(#f)f FD(when)75 2584 y FB(pr)n(o)n(c)n(ess)17 -b FD(is)d(already)f(terminated;)g(it)h(returns)h Fu(#t)e -FD(otherwise.)75 2695 y Fu(\(process-exit-sta)o(tus)19 -b FB(pr)n(o)n(c)n(ess)s Fu(\))975 b FD(pro)q(cedure)75 -2769 y Fu(Process-exit-stat)o(us)9 b FD(returns)14 b(the)f(exit)f -(status)h(of)e FB(pr)n(o)n(c)n(ess)16 b FD(if)11 b(it)h(has)g -(\014nished)h(its)f(execution;)h(returns)h Fu(#f)75 2819 -y FD(otherwise.)p eop -%%Page: 44 44 -44 43 bop 75 47 a FC(44)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(process-send-sig)o(nal)19 -b FB(pr)n(o)n(c)n(ess)i(n)s Fu(\))931 b FD(pro)q(cedure)75 -252 y(Send)18 b(the)g(signal)e(whose)i(in)o(teger)g(v)n(alue)f(is)g -FB(n)k FD(to)c FB(pr)n(o)n(c)n(ess)s FD(.)29 b(V)m(alue)17 -b(of)g FB(n)j FD(is)e(system)f(dep)q(endan)o(t.)30 b(Use)18 -b(the)75 302 y(de\014ned)c(signal)f(constan)o(ts)h(to)f(mak)o(e)f(y)o -(our)h(program)f(indp)q(endan)o(t)i(of)e(the)i(running)f(system)h -(\(see)g(6.18\).)j(The)75 352 y(result)e(of)e FB(pr)n(o)n(c)n -(ess-send-signal)18 b FD(is)c(unde\014ned.)75 455 y Fu(\(process-kill) -19 b FB(pr)n(o)n(c)n(ess)s Fu(\))1128 b FD(pro)q(cedure)75 -525 y Fu(Process-kill)11 b FD(brutally)i(kills)f FB(pr)n(o)n(c)n(ess)s -FD(.)18 b(The)c(result)h(of)e Fu(process-kill)e FD(is)i(unde\014ned.)20 -b(This)13 b(pro)q(cedure)j(is)75 570 y(equiv)n(alen)o(t)d(to)153 -648 y Ft(\(process-se)o(nd)o(-si)o(gna)o(l)j(process)h(|SIGTERM|\))75 -829 y Fu(\(process-stop)i FB(pr)n(o)n(c)n(ess)s Fu(\))1128 -b FD(pro)q(cedure)75 879 y Fu(\(process-continue)18 b -FB(pr)n(o)n(c)n(ess)s Fu(\))1041 b FD(pro)q(cedure)75 -948 y(Those)13 b(pro)q(cedures)j(are)d(only)f(a)o(v)n(ailable)f(on)i -(systems)g(whic)o(h)f(supp)q(ort)i(job)f(con)o(trol.)k -FB(Pr)n(o)n(c)n(ess-stop)e FD(stops)f(the)75 993 y(execution)h(of)e -FB(pr)n(o)n(c)n(ess)k FD(and)d FB(pr)n(o)n(c)n(ess-c)n(ontinue)j -FD(resumes)d(its)g(execution.)19 b(They)14 b(are)g(equiv)n(alen)o(t)g -(to)153 1071 y Ft(\(process-se)o(nd)o(-si)o(gna)o(l)i(process)h -(|SIGSTOP|\))153 1117 y(\(process-se)o(nd)o(-si)o(gna)o(l)f(process)h -(|SIGCONT|\))75 1298 y Fu(\(process-list)m(\))1279 b -FD(pro)q(cedure)75 1371 y Fu(process-list)11 b FD(returns)16 -b(the)e(list)g(of)f(pro)q(cesses)k(whic)o(h)c(are)i(curren)o(tly)f -(running)g(\(i.e.)k(aliv)o(e\).)75 1486 y FG(6.23)56 -b(So)r(c)n(k)n(ets)75 1562 y Fz(STk)20 b FD(de\014nes)i(so)q(c)o(k)o -(ets,)g(on)e(systems)g(whic)o(h)g(supp)q(ort)h(them,)g(as)f(\014rst)h -(class)f(ob)r(jects.)38 b(So)q(c)o(k)o(ets)21 b(p)q(ermits)75 -1612 y(pro)q(cesses)d(to)d(comm)o(unicate)e(ev)o(en)j(if)f(they)g(are)h -(on)f(di\013eren)o(t)h(mac)o(hines.)22 b(So)q(c)o(k)o(ets)16 -b(are)g(useful)f(for)g(creating)75 1662 y(clien)o(t-serv)o(er)g -(applications.)75 1767 y Fu(\(make-client-sock)o(et)k -FB(hostname)j(p)n(ort-numb)n(er)t Fu(\))710 b FD(pro)q(cedure)75 -1840 y Fu(make-client-socke)o(t)16 b FD(returns)k(a)e(new)h(so)q(c)o(k) -o(et)h(ob)r(ject.)33 b(This)19 b(so)q(c)o(k)o(et)g(establishes)h(a)e -(link)g(b)q(et)o(w)o(een)i(the)75 1890 y(running)14 b(application)e -(listening)h(on)h(p)q(ort)g FB(p)n(ort-numb)n(er)k FD(of)13 -b FB(hostname)t FD(.)75 1993 y Fu(\(socket?)20 b FB(so)n(cket)t -Fu(\))1255 b FD(pro)q(cedure)75 2067 y(Returns)15 b Fu(#t)e -FD(if)g FB(so)n(cket)18 b FD(is)c(a)f(so)q(c)o(k)o(et,)i(otherwise)g -(returns)g Fu(#f)p FD(.)75 2170 y Fu(\(socket-host-name)j -FB(so)n(cket)t Fu(\))1059 b FD(pro)q(cedure)75 2244 y(Returns)18 -b(a)e(string)h(whic)o(h)g(con)o(tains)f(the)i(name)d(of)h(the)i(distan) -o(t)e(host)h(attac)o(hed)h(to)e FB(so)n(cket)5 b FD(.)26 -b(If)17 b FB(so)n(cket)j FD(has)75 2293 y(b)q(een)f(created)g(with)e -Fu(make-client-sock)o(et)d FD(this)k(pro)q(cedure)h(returns)g(the)f -(o\016cial)e(name)h(of)g(the)h(distan)o(t)75 2343 y(mac)o(hine)12 -b(used)i(for)f(connection.)18 b(If)13 b FB(so)n(cket)k -FD(has)d(b)q(een)g(created)h(with)d Fu(make-server-socket)p -FD(,)e(this)j(function)75 2393 y(returns)h(the)f(o\016cial)e(name)g(of) -h(the)h(clien)o(t)g(connected)h(to)e(the)h(so)q(c)o(k)o(et.)19 -b(If)12 b(no)g(clien)o(t)g(has)h(used)g(y)o(et)g(the)g(so)q(c)o(k)o -(et,)75 2443 y(this)h(function)g(returns)h Fu(#f)p FD(.)75 -2546 y Fu(\(socket-host-addr)o(ess)k FB(so)n(cket)t Fu(\))993 -b FD(pro)q(cedure)75 2620 y(Returns)16 b(a)f(string)h(whic)o(h)f(con)o -(tains)h(the)g(IP)f(n)o(um)o(b)q(er)g(of)g(the)h(distan)o(t)f(host)h -(attac)o(hed)g(to)g FB(so)n(cket)t FD(.)22 b(If)15 b -FB(so)n(cket)75 2669 y FD(has)f(b)q(een)h(created)h(with)e -Fu(make-client-socke)o(t)d FD(this)j(pro)q(cedure)i(returns)g(the)f(IP) -f(n)o(um)o(b)q(er)f(of)h(the)h(distan)o(t)75 2719 y(mac)o(hine)d(used)i -(for)f(connection.)18 b(If)13 b FB(so)n(cket)k FD(has)d(b)q(een)g -(created)h(with)d Fu(make-server-socket)p FD(,)e(this)j(function)75 -2769 y(returns)i(the)f(address)g(of)f(the)g(clien)o(t)h(connected)h(to) -e(the)g(so)q(c)o(k)o(et.)19 b(If)13 b(no)g(clien)o(t)g(has)g(used)h(y)o -(et)g(the)g(so)q(c)o(k)o(et,)f(this)75 2819 y(function)h(returns)h -Fu(#f)p FD(.)p eop -%%Page: 45 45 -45 44 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(45)p 75 64 1763 2 v 75 179 a Fu(\(socket-local-add)o(ress)18 -b FB(so)n(cket)t Fu(\))972 b FD(pro)q(cedure)75 252 y(Returns)15 -b(a)e(string)h(whic)o(h)g(con)o(tains)g(the)g(IP)g(n)o(um)o(b)q(er)g -(of)f(the)h(lo)q(cal)f(host)i(attac)o(hed)f(to)g FB(so)n(cket)t -FD(.)75 355 y Fu(\(socket-port-numb)o(er)19 b FB(so)n(cket)t -Fu(\))1015 b FD(pro)q(cedure)75 429 y(Returns)15 b(the)f(in)o(teger)h -(n)o(um)o(b)q(er)e(of)g(the)i(p)q(ort)f(used)g(for)g -FB(so)n(cket)t FD(.)75 531 y Fu(\(socket-input)19 b FB(so)n(cket)t -Fu(\))1146 b FD(pro)q(cedure)75 581 y Fu(\(socket-output)19 -b FB(so)n(cket)t Fu(\))1124 b FD(pro)q(cedure)75 655 -y(Returns)14 b(the)f(\014le)g(p)q(ort)g(asso)q(ciated)g(for)f(reading)h -(or)g(writing)e(with)i(the)g(program)e(connected)k(with)d -FB(so)n(cket)t FD(.)18 b(If)75 705 y(no)c(connection)g(has)g(already)g -(b)q(een)h(established,)f(these)h(functions)f(return)h -Fu(#f)p FD(.)75 750 y(The)g(follo)o(wing)c(example)i(sho)o(ws)i(ho)o(w) -f(to)g(mak)o(e)f(a)h(clien)o(t)g(so)q(c)o(k)o(et.)20 -b(Here)c(w)o(e)f(create)g(a)f(so)q(c)o(k)o(et)i(on)e(p)q(ort)g(13)g(of) -75 796 y(the)g(mac)o(hine)f(\\)p Fu(kaolin.unice.fr)p -FD(")680 781 y Fy(8)696 796 y FD(:)153 873 y Ft(\(let)19 -b(\(\(s)f(\(make-clie)o(nt)o(-so)o(ck)o(et)e("kaolin.un)o(ice)o(.f)o -(r")g(13\)\)\))193 919 y(\(format)h(#t)38 b("Time)18 -b(is:)g(~A\\n")g(\(read-lin)o(e)f(\(socket-i)o(np)o(ut)f(s\)\)\))193 -964 y(\(socket-s)o(hu)o(tdo)o(wn)36 b(s\)\))75 1145 y -Fu(\(make-server-sock)o(et)m(\))1148 b FD(pro)q(cedure)75 -1194 y Fu(\(make-server-sock)o(et)19 b FB(p)n(ort-numb)n(er)t -Fu(\))902 b FD(pro)q(cedure)75 1268 y Fu(make-server-socke)o(t)13 -b FD(returns)18 b(a)e(new)h(so)q(c)o(k)o(et)g(ob)r(ject.)25 -b(If)16 b FB(p)n(ort-numb)n(er)k FD(is)d(sp)q(eci\014ed,)g(the)g(so)q -(c)o(k)o(et)g(is)f(lis-)75 1318 y(tening)e(on)f(the)i(sp)q(eci\014ed)g -(p)q(ort;)f(otherwise,)h(the)f(comm)o(unication)c(p)q(ort)15 -b(is)e(c)o(hosen)i(b)o(y)f(the)g(system.)75 1421 y Fu -(\(socket-accept-co)o(nnect)o(ion)19 b FB(so)n(cket)t -Fu(\))884 b FD(pro)q(cedure)75 1494 y Fu(socket-accept-con)o(necti)o -(on)16 b FD(w)o(aits)j(for)g(a)h(clien)o(t)f(connection)h(on)f(the)h -(giv)o(en)f FB(so)n(cket)t FD(.)35 b(If)19 b(no)g(clien)o(t)h(is)75 -1544 y(already)15 b(w)o(aiting)g(for)g(a)g(connection,)i(this)e(pro)q -(cedure)j(blo)q(c)o(ks)e(its)f(caller;)h(otherwise,)h(the)f(\014rst)h -(connection)75 1594 y(request)c(on)e(the)h(queue)g(of)f(p)q(ending)g -(connections)h(is)g(connected)h(to)e FB(so)n(cket)t FD(.)17 -b(This)11 b(pro)q(cedure)j(m)o(ust)c(b)q(e)i(called)75 -1643 y(on)h(a)f(serv)o(er)j(so)q(c)o(k)o(et)f(created)g(with)f -Fu(make-server-socke)o(t)p FD(.)i(The)e(result)h(of)e -Fu(socket-accept-connec)o(tion)75 1693 y FD(is)i(unde\014ned.)75 -1739 y(The)e(follo)o(wing)d(example)i(is)g(a)h(simple)e(serv)o(er)k -(whic)o(h)d(w)o(aits)h(for)f(a)g(connection)i(on)e(the)i(p)q(ort)f -(1234)1629 1724 y Fy(9)1647 1739 y FD(.)17 b(Once)c(the)75 -1785 y(connection)h(with)e(the)i(distan)o(t)f(program)e(is)i -(established,)g(w)o(e)g(read)h(a)e(line)h(on)f(the)i(input)f(p)q(ort)g -(asso)q(ciated)h(to)75 1830 y(the)g(so)q(c)o(k)o(et)h(and)f(w)o(e)g -(write)g(the)h(length)f(of)f(this)h(line)f(on)h(its)g(output)g(p)q -(ort.)153 1907 y Ft(\(let)19 b(\(\(s)f(\(make-serv)o(er)o(-so)o(ck)o -(et)e(1234\)\)\))193 1953 y(\(socket-a)o(cc)o(ept)o(-co)o(nn)o(ect)o -(io)o(n)h(s\))193 1999 y(\(let)h(\(\(l)g(\(read-line)e(\(socket-i)o -(npu)o(t)h(s\)\)\)\))232 2044 y(\(format)g(\(socket-o)o(utp)o(ut)f(s\)) -j("Length)e(is:)h(~A\\n")g(\(string-l)o(eng)o(th)e(l\)\))232 -2090 y(\(flush)h(\(socket-ou)o(tpu)o(t)f(s\)\)\))193 -2136 y(\(socket-s)o(hu)o(tdo)o(wn)g(s\)\))75 2316 y Fu -(\(socket-shutdown)i FB(so)n(cket)t Fu(\))1081 b FD(pro)q(cedure)75 -2366 y Fu(\(socket-shutdown)18 b FB(so)n(cket)k(close)s -Fu(\))973 b FD(pro)q(cedure)75 2439 y Fu(Socket-shutdown)10 -b FD(sh)o(utdo)o(wns)k(the)f(connection)h(asso)q(ciated)g(to)f -FB(so)n(cket)t FD(.)18 b FB(Close)e FD(is)d(a)g(b)q(o)q(olean;)f(it)h -(indicates)75 2489 y(if)h(the)h(so)q(c)o(k)o(et)g(m)o(ust)f(b)q(e)h -(closed)g(or)f(not,)g(when)h(the)g(connection)h(is)e(destro)o(y)o(ed.) -21 b(Closing)13 b(the)i(so)q(c)o(k)o(et)h(forbids)75 -2539 y(further)e(connections)h(on)e(the)h(same)f(p)q(ort)h(with)f(the)h -Fu(socket-accept-conn)o(ectio)o(n)d FD(pro)q(cedure.)19 -b(Omitting)75 2589 y(a)14 b(v)n(alue)f(for)g FB(close)k -FD(implies)12 b(the)j(closing)e(of)g(so)q(c)o(k)o(et.)19 -b(The)c(result)f(of)f Fu(socket-shutdown)e FD(is)j(unde\014ned.)p -75 2622 705 2 v 121 2649 a Fr(8)139 2661 y Fq(P)o(ort)e(13)g(is)h -(generally)d(used)i(for)g(testing:)17 b(making)10 b(a)j(connection)d -(to)i(it)h(p)q(ermits)e(to)h(kno)o(w)h(the)f(distan)o(t)f(system's)g -(idea)h(of)75 2700 y(the)f(time)f(of)h(da)o(y)m(.)121 -2728 y Fr(9)139 2740 y Fq(Under)g(Unix,)i(y)o(ou)e(can)h(simply)f -(connect)f(to)i(listening)f(so)q(c)o(k)o(et)g(with)h(the)g -Fo(telnet)f Fq(command.)k(With)d(the)g(giv)o(en)f(example,)75 -2779 y(this)g(can)f(b)q(e)i(ac)o(hiev)o(ed)d(b)o(y)i(t)o(yping)e(the)i -(follo)o(wing)f(command)f(in)i(a)g(windo)o(w)h(shell:)75 -2819 y Fo($)17 b(telnet)f(localhost)e(1234)p eop -%%Page: 46 46 -46 45 bop 75 47 a FC(46)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FD(The)f(follo)o(wing)d(example)h(sho)o(ws)i(a) -f(simple)f(serv)o(er:)19 b(when)13 b(there)g(is)g(a)f(new)h(connection) -g(on)f(the)h(p)q(ort)g(n)o(um)o(b)q(er)75 224 y(1234,)k(the)h(serv)o -(er)g(displa)o(ys)f(the)h(\014rst)g(line)f(sen)o(t)h(to)f(it)g(b)o(y)g -(the)h(clien)o(t,)f(discards)h(the)g(others)h(and)e(go)f(bac)o(k)75 -270 y(w)o(aiting)c(for)i(further)h(clien)o(t)f(connections.)153 -350 y Ft(\(let)19 b(\(\(s)f(\(make-serv)o(er)o(-so)o(ck)o(et)e -(1234\)\)\))193 395 y(\(let)i(loop)g(\(\))232 441 y(\(socket-a)o(cce)o -(pt-)o(co)o(nne)o(ct)o(ion)e(s\))232 487 y(\(format)h(#t)i("I've)e -(read:)h(~A\\n")g(\(read-lin)o(e)e(\(socket-inp)o(ut)g(s\)\)\))232 -532 y(\(socket-s)o(hut)o(dow)o(n)g(s)k(#f\))232 578 y(\(loop\)\)\))75 -764 y Fu(\(socket-down?)f FB(so)n(cket)t Fu(\))1146 b -FD(pro)q(cedure)75 837 y(Returns)14 b Fu(#t)f FD(if)g -FB(so)n(cket)k FD(has)c(b)q(een)i(previously)e(closed)h(with)f -Fu(socket-shutdown)p FD(.)i(It)e(returns)i Fu(#f)e FD(otherwise.)75 -944 y Fu(\(socket-dup)20 b FB(so)n(cket)t Fu(\))1189 -b FD(pro)q(cedure)75 1014 y(Returns)13 b(a)e(cop)o(y)h(of)f -FB(so)n(cket)t FD(.)18 b(The)12 b(original)e(and)i(the)g(cop)o(y)g(so)q -(c)o(k)o(et)g(can)h(b)q(e)f(used)h(in)o(terc)o(hangeably)m(.)j(Ho)o(w)o -(ev)o(er,)75 1059 y(if)g(a)h(new)h(connection)f(is)g(accepted)i(on)e -(one)g(so)q(c)o(k)o(et,)i(the)e(c)o(haracters)i(exc)o(hanged)f(on)f -(this)g(so)q(c)o(k)o(et)h(are)g(not)75 1105 y(visible)f(on)h(the)g -(other)g(so)q(c)o(k)o(et.)31 b(Duplicating)16 b(a)i(so)q(c)o(k)o(et)g -(is)g(useful)g(when)g(a)g(serv)o(er)h(m)o(ust)e(accept)i(m)o(ultiple)75 -1151 y(sim)o(ultaneous)c(connections.)28 b(The)18 b(follo)o(wing)c -(example)i(creates)i(a)f(serv)o(er)h(listening)f(on)f(p)q(ort)i(1234.) -26 b(This)75 1196 y(serv)o(er)15 b(is)f(duplicated)g(and,)f(once)i(t)o -(w)o(o)e(clien)o(ts)h(are)h(presen)o(t,)g(a)e(message)h(is)g(sen)o(t)g -(on)g(b)q(oth)g(connections.)153 1276 y Ft(\(define)j(s1)i(\(make-serv) -o(er-)o(so)o(cke)o(t)d(1234\)\))153 1321 y(\(define)h(s2)i(\(socket-du) -o(p)e(s1\)\))153 1367 y(\(socket-acc)o(ep)o(t-c)o(onn)o(ec)o(tio)o(n)f -(s1\))153 1413 y(\(socket-acc)o(ep)o(t-c)o(onn)o(ec)o(tio)o(n)g(s2\)) -153 1458 y(;;)j(blocks)f(until)f(two)i(clients)e(are)h(present)153 -1504 y(\(display)f("Hello,\\n")f(\(socket-o)o(ut)o(put)g(s1\)\))153 -1550 y(\(display)h("world\\n")36 b(\(socket-o)o(ut)o(put)16 -b(s2\)\))153 1595 y(\(flush)i(\(socket-o)o(utp)o(ut)e(s1\)\))153 -1641 y(\(flush)i(\(socket-o)o(utp)o(ut)e(s2\)\))75 1827 -y Fu(\(when-socket-read)o(y)j FB(so)n(cket)j(hand)r(ler)t -Fu(\))879 b FD(pro)q(cedure)75 1877 y Fu(\(when-socket-read)o(y)19 -b FB(so)n(cket)t Fu(\))1037 b FD(pro)q(cedure)75 1950 -y(De\014nes)20 b(a)e(handler)h(for)f FB(so)n(cket)t FD(.)33 -b(The)19 b(handler)f(is)h(a)f(th)o(unk)h(whic)o(h)g(is)f(executed)j -(when)e(a)f(connection)i(is)75 2000 y(a)o(v)n(ailable)12 -b(on)i FB(so)n(cket)5 b FD(.)19 b(If)14 b(the)h(sp)q(ecial)g(v)n(alue)f -Fu(#f)g FD(is)g(pro)o(vided)g(as)h FB(hand)r(ler)5 b -FD(,)14 b(the)h(curren)o(t)h(handler)e(for)g FB(so)n(cket)75 -2050 y FD(is)20 b(deleted.)37 b(If)20 b(a)g(handler)g(is)g(pro)o -(vided,)h(the)f(v)n(alue)g(returned)i(b)o(y)d Fu(when-socket-ready)e -FD(is)j(unde\014ned.)75 2100 y(Otherwise,)15 b(it)e(returns)j(the)e -(handler)g(curren)o(tly)h(asso)q(ciated)g(to)f FB(so)n(cket)t -FD(.)75 2146 y(This)i(pro)q(cedure,)i(in)d(conjunction)h(with)g -Fu(socket-dup)e FD(p)q(ermits)h(to)h(build)f(m)o(ultiple-clien)o(ts)f -(serv)o(ers)k(whic)o(h)75 2191 y(w)o(ork)c(async)o(hronously)m(.)j(Suc) -o(h)e(a)e(serv)o(er)j(is)d(sho)o(wn)h(b)q(elo)o(w.)153 -2271 y Ft(\(define)j(p)j(\(make-ser)o(ve)o(r-s)o(oc)o(ket)c(1234\)\)) -153 2317 y(\(when-socke)o(t-)o(rea)o(dy)g(p)507 2362 -y(\(let)i(\(\(count)e(0\)\))546 2408 y(\(lambda)h(\(\))585 -2454 y(\(set!)h(count)f(\(+)i(count)f(1\)\))585 2499 -y(\(register)o(-co)o(nne)o(ct)o(ion)e(\(socket-d)o(up)g(p\))j -(count\)\)\)\))153 2591 y(\(define)e(register-co)o(nn)o(ect)o(io)o(n) -193 2636 y(\(let)h(\(\(sockets)e('\(\)\)\))232 2682 y(\(lambda)h(\(s)i -(cnt\))271 2728 y(;;)g(Accept)e(connection)271 2773 y(\(socket-ac)o -(cep)o(t-)o(con)o(ne)o(cti)o(on)f(s\))271 2819 y(;;)j(Save)f(socket)f -(somewhere)f(to)j(avoid)f(GC)h(problems)p eop -%%Page: 47 47 -47 46 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(47)p 75 64 1763 2 v 271 179 a Ft(\(set!)18 b(sockets)f(\(cons)g(s)j -(sockets\)\))271 224 y(;;)f(Create)e(a)j(handler)c(for)j(reading)e -(inputs)g(from)h(this)g(new)h(connectio)o(n)271 270 y(\(let)f(\(\(in)38 -b(\(socket-i)o(npu)o(t)16 b(s\)\))389 316 y(\(out)i(\(socket-o)o(utp)o -(ut)e(s\)\)\))310 361 y(\(when-port-)o(re)o(ada)o(bl)o(e)h(in)408 -407 y(\(lambda)g(\(\))448 453 y(\(let)h(\(\(l)g(\(read-line)e(in\)\)\)) -487 498 y(\(if)i(\(eof-objec)o(t?)e(l\))565 544 y(;;)j(delete)e -(current)g(handler)565 590 y(\(when-port)o(-re)o(ada)o(bl)o(e)g(in)h -(#f\))565 635 y(;;)h(Just)f(write)g(the)g(line)g(read)h(on)f(the)h -(socket)565 681 y(\(begin)605 727 y(\(format)d(out)j("On)f(#~A)h(-->)f -(~A\\n")g(cnt)g(l\))605 772 y(\(flush)f(out\)\)\)\)\)\))o(\)\)\))o(\)) -75 957 y FG(6.24)56 b(F)-5 b(oreign)18 b(F)-5 b(unction)19 -b(In)n(terface)75 1034 y FD(The)c Fz(STk)h FD(F)m(oreign)e(F)m(unction) -h(In)o(terface)h(\(FFI)f(for)g(short\))h(has)f(b)q(een)h(de\014ned)g -(to)f(allo)o(w)e(an)i(easy)h(access)h(to)75 1084 y(functions)d(written) -g(in)f(C)h(without)f(needing)h(to)g(build)e(C-wrapp)q(ers)j(and,)e -(consequen)o(tly)m(,)h(without)f(an)o(y)g(need)75 1133 -y(to)f(write)h(C)f(co)q(de.)18 b(Note)13 b(that)f(the)h(FFI)f(is)g(v)o -(ery)g(mac)o(hine)f(dep)q(enden)o(t)j(and)e(that)g(it)g(w)o(orks)g -(only)g(on)g(a)g(limited)75 1183 y(set)18 b(of)f(arc)o(hitectures)424 -1168 y Fy(10)461 1183 y FD(.)29 b(Moreo)o(v)o(er,)18 -b(since)g(FFI)g(allo)o(ws)e(v)o(ery)h(lo)o(w)g(lev)o(el)g(access,)i(it) -e(is)h(easy)f(to)h(crash)g(the)75 1233 y(in)o(terpreter)e(when)e(using) -g(an)f(external)i(C)f(function.)75 1283 y(The)f(de\014nition)f(of)g(an) -h(external)g(function)f(is)g(done)h(with)g(the)g(syn)o(tax)f -Fu(define-external)p FD(.)j(This)d(form)f(tak)o(es)75 -1333 y(as)18 b(argumen)o(ts)f(a)g(t)o(yp)q(ed)h(list)g(of)f(parameters) -g(and)h(accepts)h(sev)o(eral)f(options)g(to)f(de\014ne)i(the)f(name)f -(of)g(the)75 1383 y(function)h(in)f(the)i(C)e(w)o(orld,)h(the)h -(library)e(whic)o(h)h(de\014nes)h(this)f(function,)f(.)7 -b(.)f(.)37 b(The)18 b(t)o(yp)q(e)h(of)e(the)i(function)75 -1432 y(result)14 b(and)f(the)h(t)o(yp)q(es)g(of)e(its)h(argumen)o(ts)g -(are)g(de\014ned)h(in)f(T)m(able)f(4.)18 b(This)13 b(table)g(lists)g -(the)h(v)n(arious)e(k)o(eyw)o(ords)75 1482 y(reserv)o(ed)k(for)d -(denoting)h(t)o(yp)q(es)h(and)f(their)g(equiv)n(alence)g(b)q(et)o(w)o -(een)h(the)g(C)f(and)f(the)i(Sc)o(heme)e(w)o(orlds.)75 -1586 y Fu(\(define-external)18 b Fm(h)p FD(name)p Fm(i)j(h)p -FD(parameters)p Fm(i)i(h)p FD(options)p Fm(i)p Fu(\))681 -b FD(syn)o(tax)75 1659 y(The)16 b(form)e Fu(define-external)e -FD(binds)k(a)f(new)h(pro)q(cedure)i(to)d Fm(h)p FD(name)p -Fm(i)p FD(.)23 b(The)16 b(arit)o(y)f(of)g(this)g(new)i(pro)q(cedure)75 -1709 y(is)g(de\014ned)h(b)o(y)f(the)h(t)o(yp)q(ed)g(list)f(of)f -(parameters)i(giv)o(en)e(b)o(y)h Fm(h)p FD(parameters)p -Fm(i)q FD(.)28 b(This)17 b(parameters)g(list)g(is)g(a)g(list)75 -1759 y(of)e(couples)h(whose)f(\014rst)h(elemen)o(t)f(is)g(the)h(name)e -(of)h(the)h(parameter,)f(and)g(the)g(second)i(one)e(is)g(is)h(a)e(k)o -(eyw)o(ord)75 1809 y(represen)o(ting)j(its)e(t)o(yp)q(e)h(\(see)g -(table)g(for)e(equiv)n(alence\).)23 b(All)14 b(the)i(t)o(yp)q(es)g -(de\014ned)g(in)f(T)m(able)g(4,)f(except)j Fu(:void)p -FD(,)75 1859 y(are)d(allo)o(w)o(ed)f(for)g(the)i(parameters)f(of)f(a)h -(foreign)f(function.)18 b Fu(Define-external)11 b FD(accepts)k(sev)o -(eral)f(options:)137 1933 y Fm(\017)21 b Fu(:return-type)11 -b FD(is)j(used)h(to)e(de\014ne)i(the)g(t)o(yp)q(e)f(of)f(the)i(v)n -(alue)e(returned)j(b)o(y)d(the)i(foreign)e(function.)18 -b(The)179 1979 y(t)o(yp)q(e)c(returned)i(m)o(ust)d(b)q(e)h(c)o(hosen)h -(in)e(the)i(t)o(yp)q(es)g(sp)q(eci\014ed)g(in)f(the)g(table.)k(F)m(or) -13 b(instance:)336 2069 y Ft(\(define-e)o(xt)o(ern)o(al)j(maximum\(\(a) -g(:int\))i(\(b)g(:int\)\))375 2114 y(:return-t)o(ype)e(:int\))179 -2254 y FD(de\014nes)j(the)f(foreign)g(function)f(maxim)n(um)d(whic)o(h) -j(tak)o(es)i(t)o(w)o(o)e(C)h(in)o(tegers)g(and)g(returns)h(an)f(in)o -(teger)179 2304 y(result.)h(Omitting)11 b(this)j(option)f(default)h(to) -f(a)h(result)g(t)o(yp)q(e)h(equal)e(to)h Fu(:void)f FD(\(i.e.)k(the)e -(returned)g(v)n(alue)179 2354 y(is)f FB(unde\014ne)n(d)t -FD(\).)137 2430 y Fm(\017)21 b Fu(:entry-name)16 b FD(is)i(used)h(to)f -(sp)q(ecify)g(the)h(name)e(of)h(the)g(foreign)g(function)g(in)g(the)g -(C)g(w)o(orld.)31 b(If)17 b(this)179 2476 y(option)c(is)h(omitted,)e -(the)i(en)o(try-name)f(is)h(supp)q(osed)h(to)f(b)q(e)h -Fm(h)p FD(name)p Fm(i)o FD(.)j(F)m(or)13 b(instance:)336 -2566 y Ft(\(define-e)o(xt)o(ern)o(al)j(minimum\(\(a)g(:int\))i(\(b)g -(:int\)\))375 2612 y(:return-t)o(ype)e(:int)375 2657 -y(:entry-na)o(me)36 b("min"\))p 75 2741 705 2 v 106 2768 -a Fr(10)139 2779 y Fq(In)13 b(release)f(3.99,)g(FFI)i(is)f(kno)o(wn)g -(to)g(w)o(ork)h(on)f(the)g(follo)o(wing)f(arc)o(hitectur)o(es)f(:)19 -b(ix86)13 b(\(but)f(not)h(y)o(et)g(MS)h(Windo)o(ws\),)f(Sun)75 -2819 y(Sparc,)d(HP)i(9000,)e(SGI.)p eop -%%Page: 48 48 -48 47 bop 75 47 a FC(48)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 114 139 1685 2 v 113 239 2 100 v 139 174 -a(Name)p 517 239 V 282 w(Corresp)q(onding)f(C)j(t)o(yp)q(e)p -1157 239 V 174 w(Corresp)q(onding)124 b(Sc)o(heme)1183 -224 y(T)o(yp)q(e)p 1798 239 V 114 240 1685 2 v 114 249 -V 113 298 2 50 v 139 283 a Fu(:void)p 517 298 V 294 w(void)p -1157 298 V 552 w FB(None)p 1798 298 V 114 300 1685 2 -v 113 400 2 100 v 139 335 a Fu(:char)p 517 400 V 294 -w(char)p 1157 400 V 552 w FD(Sc)o(heme)17 b(c)o(haracter)h(or)f(Sc)o -(heme)g(in-)1183 385 y(teger)p 1798 400 V 114 401 1685 -2 v 113 451 2 50 v 139 436 a Fu(:short)p 517 451 V 272 -w(short)k(int)p 1157 451 V 443 w FD(Sc)o(heme)14 b(in)o(teger)p -1798 451 V 114 453 1685 2 v 113 503 2 50 v 139 488 a -Fu(:ushort)p 517 503 V 250 w(unsigned)20 b(short)h(int)p -1157 503 V 247 w FD(Sc)o(heme)14 b(in)o(teger)p 1798 -503 V 114 504 1685 2 v 113 554 2 50 v 139 539 a Fu(:int)p -517 554 V 316 w(int)p 1157 554 V 574 w FD(Sc)o(heme)g(in)o(teger)p -1798 554 V 114 556 1685 2 v 113 606 2 50 v 139 591 a -Fu(:uint)p 517 606 V 294 w(unsigned)20 b(integer)p 1157 -606 V 290 w FD(Sc)o(heme)14 b(in)o(teger)p 1798 606 V -114 607 1685 2 v 113 657 2 50 v 139 642 a Fu(:long)p -517 657 V 294 w(long)21 b(integer)p 1157 657 V 377 w -FD(Sc)o(heme)14 b(in)o(teger)p 1798 657 V 114 659 1685 -2 v 113 708 2 50 v 139 694 a Fu(:ulong)p 517 708 V 272 -w(unsigned)20 b(long)h(integer)p 1157 708 V 181 w FD(Sc)o(heme)14 -b(in)o(teger)p 1798 708 V 114 710 1685 2 v 113 760 2 -50 v 139 745 a Fu(:float)p 517 760 V 272 w(float)p 1157 -760 V 530 w FD(Sc)o(heme)g(Real)p 1798 760 V 114 762 -1685 2 v 113 811 2 50 v 139 796 a Fu(:double)p 517 811 -V 250 w(double)p 1157 811 V 508 w FD(Sc)o(heme)g(Real)p -1798 811 V 114 813 1685 2 v 113 913 2 100 v 139 848 a -Fu(:static-ptr)p 517 913 V 162 w FD(p)q(oin)o(ter)g(on)g(a)f(static)h -(area)p 1157 913 V 216 w(Sc)o(heme)45 b(C-p)q(oin)o(ter)f(ob)r(ject)i -(or)1183 898 y(Sc)o(heme)14 b(String)p 1798 913 V 114 -914 1685 2 v 113 1014 2 100 v 139 949 a Fu(:dynamic-ptr)51 -b FB(or)139 999 y Fu(\(:void)20 b(*\))p 517 1014 V 543 -949 a FD(p)q(oin)o(ter)42 b(on)g(a)f(dynamic)f(area)543 -999 y(\()p Fu(malloc)p FD(ated\))p 1157 1014 V 1183 949 -a(Sc)o(heme)45 b(C-p)q(oin)o(ter)f(ob)r(ject)i(or)1183 -999 y(Sc)o(heme)14 b(String)p 1798 1014 V 114 1016 1685 -2 v 113 1115 2 100 v 139 1051 a Fu(:string)161 b FB(or)139 -1100 y Fu(\(:char)20 b(*\))p 517 1115 V 543 1051 a(char)h(*)j -FD(\(p)q(oin)o(ter)g(on)g(a)g(dynamic)543 1100 y(string\))p -1157 1115 V 1183 1051 a(Sc)o(heme)45 b(C-p)q(oin)o(ter)f(ob)r(ject)i -(or)1183 1100 y(Sc)o(heme)14 b(String)p 1798 1115 V 114 -1117 1685 2 v 113 1167 2 50 v 139 1152 a Fu(:boolean)p -517 1167 V 228 w(int)p 1157 1167 V 574 w FD(Sc)o(heme)g(b)q(o)q(olean)p -1798 1167 V 114 1168 1685 2 v 684 1243 a(T)m(able)f(4:)18 -b(FFI)c(prede\014ned)i(t)o(yp)q(es)179 1407 y(de\014nes)f(the)f(Sc)o -(heme)g(function)f Fu(minimum)g FD(whose)h(application)e(executes)17 -b(the)d(C)g(function)f(called)h Fu(min)p FD(.)137 1481 -y Fm(\017)21 b Fu(:library-name)12 b FD(is)i(used)i(to)e(sp)q(ecify)i -(the)f(library)f(whic)o(h)g(con)o(tains)h(the)g(foreign-function.)20 -b(If)14 b(neces-)179 1527 y(sary)m(,)f(the)h(library)g(is)f(loaded)h(b) -q(efore)g(calling)f(the)h(C)g(function.)k(So,)336 1609 -y Ft(\(define-e)o(xt)o(ern)o(al)e(minimum\(\(a)g(:int\))i(\(b)g -(:int\)\))375 1655 y(:return-t)o(ype)36 b(:int)375 1701 -y(:entry-na)o(me)56 b("min")375 1746 y(:library-)o(nam)o(e)17 -b("libminm)o(ax")o(\))179 1879 y FD(de\014nes)e(a)f(function)g(whic)o -(h)g(will)f(execute)j(the)f(function)f Fu(min)g FD(lo)q(cated)g(in)g -(the)h(library)f Fu(libminmax.xx)179 1929 y FD(\(where)h -Fu(xx)e FD(is)h(the)g(su\016x)g(used)g(for)g(shared)h(libraries)e(on)h -(the)g(running)f(system)h(\(generally)g Fu(so)g FD(or)f -Fu(sl)p FD(\).)75 1998 y(Hereafter,)i(there)g(are)f(some)f(commen)o -(ted)g(de\014nitions)h(of)f(external)h(functions:)193 -2067 y Ft(\(define-e)o(xt)o(ern)o(al)i(isatty)h(\(\(fd)h(:int\)\))252 -2112 y(:return-)o(typ)o(e)f(:boolean)o(\))193 2204 y(\(define-e)o(xt)o -(ern)o(al)f(system)h(\(\(cmd)h(\(:char)f(*\)\)\))h Fi(;;)h(or)g -(\(\(cmd)f(:string\)\))252 2249 y Ft(:return-)o(typ)o(e)f(:int\))193 -2341 y(\(define-e)o(xt)o(ern)o(al)f(malloc)h(\(\(size)h(:ulong\)\))252 -2386 y(:return-)o(typ)o(e)f(\(void)g(*\)\))193 2478 y(\(define-e)o(xt)o -(ern)o(al)f(free)i(\()h(\(p)g(\(:void)f(*\))g(\)\))h(\))75 -2596 y FD(All)14 b(these)i(functions)f(are)g(de\014ned)h(in)e(the)h(C)g -(standard)g(library)m(,)e(hence)k(it)d(is)h(not)f(necessary)j(to)e(sp)q -(ecify)g(the)75 2646 y Fu(:library-name)c FD(option.)137 -2719 y Fm(\017)21 b Fu(istty)13 b FD(is)i(declared)h(here)g(as)f(a)f -(function)h(whic)o(h)f(tak)o(es)i(an)e(in)o(teger)i(and)e(returns)j(a)d -(b)q(o)q(olean)g(\(in)h(fact,)179 2769 y(the)g(v)n(alue)f(returned)i(b) -o(y)e(the)h(C)g(function)f Fu(isatty)f FD(is)i(an)f Fu(int)p -FD(,)g(but)g(w)o(e)h(ask)g(here)g(to)g(the)g(FFI)g(system)179 -2819 y(to)f(translate)g(this)g(result)g(as)g(a)g(b)q(o)q(olean)f(v)n -(alue)h(in)f(the)i(Sc)o(heme)e(w)o(orld\).)p eop -%%Page: 49 49 -49 48 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(49)p 75 64 1763 2 v 137 179 a Fm(\017)21 b Fu(system)14 -b FD(is)h(a)g(function)f(whic)o(h)h(tak)o(es)h(a)f(string)g(as)g -(parameter)g(and)g(returns)i(an)e Fu(int)p FD(.)21 b(Note)16 -b(that)f(the)179 229 y(t)o(yp)q(e)e(of)g(the)g(parameter,)g(can)g(b)q -(e)h(sp)q(eci\014ed)g(as)f(a)g Fu(\(:char)21 b(*\))12 -b FD(or)h Fu(:string)p FD(,)e(as)i(indicated)g(in)g(T)m(able)f(4.)137 -323 y Fm(\017)21 b Fu(malloc)11 b FD(is)i(a)g(function)f(whic)o(h)h -(tak)o(es)h(one)f(parameter)f(\(an)h Fu(unsigned)20 b(long)h(int)12 -b FD(and)h(whic)o(h)g(returns)179 373 y(a)f Fu(\(:void)21 -b(*\))12 b FD(\(or)g Fu(:dynamic-ptr)p FD(\).)k(Sp)q(ecifying)c(that)g -(the)h(result)h(is)e(a)g(dynamic)f(p)q(oin)o(ter)i(\(instead)g(of)179 -423 y(a)i(static)h(one\))g(means)f(that)h(w)o(e)g(w)o(an)o(t)f(that)g -(the)i(Garbage)e(Collector)31 b(tak)o(es)16 b(in)o(to)f(accoun)o(t)h -(the)g(area)179 473 y(allo)q(cated)g(b)o(y)g(the)h(C)g(function)f -Fu(malloc)f FD(\(i.e.)26 b(if)16 b(this)g(area)h(b)q(ecomes)g(no)f -(more)g(accessible,)i(the)f(GC)179 523 y(disp)q(oses)e(it)e(with)h(the) -g Fu(free)f FD(function)797 508 y Fy(11)832 523 y FD(.)137 -618 y Fm(\017)21 b Fu(free)14 b FD(is)h(a)f(function)h(whic)o(h)g(tak)o -(es)g(a)g(dynamic)e(p)q(oin)o(ter)i(and)g(deallo)q(cates)h(the)f(area)g -(it)g(p)q(oin)o(ts.)21 b(Since)179 667 y(the)14 b(de\014nition)g(of)f -(this)h(function)g(sp)q(eci\014es)h(no)f(result)h(t)o(yp)q(e,)f(it)f -(is)h(supp)q(osed)h(to)f(b)q(e)g Fu(:void)1644 652 y -Fy(12)1678 667 y FD(.)75 755 y(External)h(functions)f(can)h(also)f(ha)o -(v)o(e)g(a)g(v)n(ariable)g(n)o(um)o(b)q(er)g(of)g(parameters)g(b)o(y)g -(using)h(the)g(standard)g(Sc)o(heme)75 801 y FB(dot)j -FD(notation.)f(F)m(or)d(instance,)153 892 y Ft(\(define-ext)o(er)o(nal) -i(printf)h(\(\(format)g(:string\))f(.)j(l\))193 937 y(:return-t)o(yp)o -(e)36 b(:int\))75 1071 y FD(de\014nes)16 b(a)e(Sc)o(heme)g(function)g -(with)h(one)f(or)h(more)e(parameters)i(\(the)g(\014rst)g(one)g(b)q -(eing)f(a)g(string\).)20 b(Of)15 b(course,)75 1116 y(the)h(parameters)f -(whic)o(h)g(constitute)h(the)g(v)n(ariable)e(parameters)h(list)g(m)o -(ust)f(ha)o(v)o(e)h(a)g(t)o(yp)q(e)h(whic)o(h)f(app)q(ears)h(in)75 -1162 y(the)e(third)g(column)f(of)g(T)m(able)g(4.)18 b(Some)13 -b(examples)f(using)i(the)h Fu(printf)d FD(function:)193 -1253 y Ft(\(printf)17 b("This)g(is)i(a)g(\045s)g(test")f("good"\))350 -1344 y Fs(=)-6 b Fn(\))19 b Fi(displays)62 b Ft(This)18 -b(is)h(a)g(good)g(test)193 1390 y(\(printf)e("char:)g('\045c')h(Dec:)g -('\04504d')f(Hex)i('\04504x'")e(#\\space)g(100)h(100\))350 -1481 y Fs(=)-6 b Fn(\))19 b Fi(displays)62 b Ft(char:)18 -b(')h(')g(Dec:)g('0100')e(Hex)h('0064')75 1619 y Fl(Note:)30 -b Fs(The)11 b(t)o(yp)q(es)h Ft(:dynamic-)o(pt)o(r)p Fs(,)c -Ft(:static-p)o(tr)f Fs(and)12 b Ft(:string)c Fs(are)j(compatible)i -(when)f(used)f(for)g(foreign)h(function)75 1668 y(parameter.)18 -b(This)c(giv)o(es)g(a)f(seman)o(tic)h(whic)o(h)g(is)g(similar)h(to)e -(the)g(one)h(of)e(C,)h(where)g Ft(void)18 b(*)12 b Fs(is)i(a)f -(compatible)i(with)f(all)75 1718 y(other)e(p)q(oin)o(ter)h(t)o(yp)q -(es.)k(Ho)o(w)o(ev)o(er,)11 b(di\013erenciatin)q(g)j(those)e(t)o(yp)q -(es)g(is)g(useful)h(for)e(con)o(v)o(erting)j(the)d(function)i(return)f -(v)n(alue)75 1768 y(to)h(a)g(prop)q(er)h(Sc)o(heme)f(t)o(yp)q(e.)75 -1840 y Fl(Note:)38 b Fs(When)15 b(a)f(function)i(has)f(a)f -Ft(:return-ty)o(pe)d Fs(whic)o(h)k(is)g Ft(:string)p -Fs(,)c Ft(:dynamic-pt)o(r)g Fs(or)j Ft(:static-pt)o(r)p -Fs(,)d(and)k(the)75 1886 y(return)e(v)n(alue)h(is)g(the)f(C)f -Ft(NULL)f Fs(p)q(oin)o(ter,)j(the)f(Sc)o(heme)g(v)n(alue)h(returned)g -(b)o(y)f(the)g(function)h(is,)g(b)o(y)f(con)o(v)o(en)o(tion,)h(equal)g -(to)75 1932 y Ft(#f)p Fs(.)j(F)m(or)c(instance,)h(the)g(GNU)f -Ft(readline)d Fs(function)k(allo)o(ws)h(line)g(editing)g -Fl(\022)-20 b(a)14 b(la)h Fs(Emacs)f(returns)f Ft(NULL)f -Fs(when)i(the)f(user)75 1977 y(has)f(t)o(yp)q(ed)h(an)f(end)g(of)g -(\014le.)17 b(The)12 b(follo)o(wing)i(lines)f(sho)o(w)f(ho)o(w)g(to)g -(mak)o(e)g(a)g(simple)h(shell-lik)o(e)i(toplev)o(el)f(using)f(FFIs.)153 -2068 y Ft(\(define-ext)o(er)o(nal)j(system)h(\(\(var)h(\(:char)f -(*\)\)\))193 2114 y(:return-t)o(yp)o(e)g(:int\))153 2205 -y(\(define-ext)o(er)o(nal)f(readline)g(\(\(prompt)h(:string\)\))193 -2251 y(:library-)o(na)o(me)f("libreadli)o(ne")193 2296 -y(:return-t)o(yp)o(e)36 b(:string\))153 2388 y(;;)19 -b(A)h(Shell-li)o(ke)c(toplevel)153 2433 y(\(do)j(\(\(l)f(\(readline)f -("?>)h("\))h(\(readline)d("?>)i("\)\)\))232 2479 y(\(\(not)g(l\)\))193 -2525 y(\(system)f(l\)\))p 75 2622 705 2 v 106 2649 a -Fr(11)139 2661 y Fq(P)o(oin)o(ters)d(de\014ned)g(with)i -Fo(:dynamic-p)o(tr)d Fq(are)i(alw)o(a)o(ys)g(unallo)q(cated)e(with)j -Fo(free)p Fq(.)27 b(Consequen)o(tly)m(,)15 b(areas)f(allo)q(cated)g -(with)75 2700 y(another)9 b(allo)q(cator)g(than)i(the)g(standard)e(one) -i(m)o(ust)f(b)q(e)h(declared)e(as)i Fo(:static-ptr)d -Fq(and)j(freed)f(b)o(y)h(hand)106 2728 y Fr(12)139 2740 -y Fq(Usage)d(of)g(mallo)q(c)f(and)h(free)g(are)g(for)g(illustration)e -(purp)q(ose)h(here.)13 b(Their)8 b(usage)g(in)g(a)h(program)d(m)o(ust)i -(b)q(e)g(a)o(v)o(oided,)f(if)i(p)q(ossible,)75 2779 y(b)q(ecause)j(it)i -(can)f(ha)o(v)o(e)g(in)o(teract)f(badly)h(with)h(the)f(w)o(a)o(y)i(the) -e(in)o(terpreter)e(manages)h(memory)g(or)i(it)g(can)f(conduct)f(to)i -Fp(cr)n(ashing)75 2819 y Fq(programs)9 b(if)i(y)o(ou)g(don't)f(tak)o(e) -h(care.)p eop -%%Page: 50 50 -50 49 bop 75 47 a FC(50)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(external-exists?)k FB(entry)t -Fu(\))1072 b FD(pro)q(cedure)75 229 y Fu(\(external-exists?)18 -b FB(entry)k(libr)n(ary)t Fu(\))932 b FD(pro)q(cedure)75 -298 y(Returns)19 b Fu(#t)f FD(if)f FB(entry)22 b FD(is)c(de\014ned)i -(as)e(an)g(external)h(sym)o(b)q(ol)d(in)i FB(libr)n(ary)s -FD(.)31 b(If)18 b FB(libr)n(ary)i FD(is)e(not)h(pro)o(vided)f(the)75 -344 y(sym)o(b)q(ol)12 b(is)h(searc)o(hed)j(in)d(the)h -Fz(STk)g FD(in)o(terpreter)i(or)d(in)h(libraries)f(that)h(it)f(uses.)19 -b(This)14 b(function)f(can)h(b)q(e)g(useful)75 389 y(to)g(de\014ne)h -(external)f(functions)g(conditionally:)193 462 y Ft(\(when)j -(\(external-e)o(xi)o(sts)o(?)f("dup2"\))252 508 y(\(define-)o(ext)o -(ern)o(al)g(dup2)i(\(\(oldfd)f(:int\))h(\(newfd)f(:int\)\))310 -554 y(:return-typ)o(e)f(:int\)\))75 724 y Fu(\(c-string->string)i -FB(str)t Fu(\))1117 b FD(pro)q(cedure)75 793 y(STk)13 -b(strings)h(are)g(more)f(general)h(than)f(C)h(strings)g(since)g(they)g -(accept)h(n)o(ull)e(c)o(haracter.)19 b Fu(c-string->string)75 -839 y FD(tak)o(es)c(an)f(area)g(of)g(c)o(haracters)i(built)e(b)o(y)g(a) -g(call)f(to)h(a)g(foreign)g(function)g(\(t)o(ypically)f(the)i(result)g -(of)f(a)g(function)75 884 y(returning)d(a)e Fu(:static-ptr)p -FD(,)g Fu(:dynamic-ptr)e FD(or)j Fu(:string)p FD(\))f(and)h(con)o(v)o -(ert)h(it)e(to)h(a)g(prop)q(er)h(Sc)o(heme)f(string.)153 -958 y Ft(\(define-ext)o(er)o(nal)16 b(sprintf)h(\(\(str)g(:string\))g -(\(format)g(:string\))f(.)k(l\))212 1003 y(:return-ty)o(pe)36 -b(:int\))153 1094 y(\(let)19 b(\(\(str)e(\(make-stri)o(ng)f(5)j -(#\\?\)\)\))193 1140 y(\(sprintf)d(str)j("\045x")f(100\))193 -1186 y(\(cons)f(str)i(\(C-string)o(->s)o(tr)o(ing)d(str\)\)\))350 -1277 y Fs(=)-6 b Fn(\))19 b Ft(\("64\\0??")d(.)j("64"\))75 -1459 y FG(6.25)56 b(Miscellaneous)75 1536 y FD(This)14 -b(section)g(lists)g(the)h(primitiv)o(es)d(de\014ned)j(in)e -Fz(STk)h FD(that)g(did)g(not)g(\014t)g(an)o(ywhere)g(else.)75 -1639 y Fu(\(eval)21 b Fm(h)p FD(expr)p Fm(i)q Fu(\))1379 -b FD(syn)o(tax)75 1689 y Fu(\(eval)21 b Fm(h)p FD(expr)p -Fm(i)i(h)p FD(en)o(vironmen)o(t)p Fm(i)o Fu(\))1100 b -FD(syn)o(tax)75 1758 y(Ev)n(aluates)20 b Fm(h)p FD(expr)p -Fm(i)g FD(in)f(the)i(giv)o(en)e(en)o(vironmen)o(t.)34 -b Fm(h)p FD(En)o(vironmen)o(t)p Fm(i)19 b FD(ma)o(y)f(b)q(e)i(omitted,) -f(in)h(whic)o(h)f(case)i(it)75 1804 y(defaults)14 b(to)g(the)g(global)e -(en)o(vironmen)o(t.)153 1877 y Ft(\(define)17 b(foo)i(\(let)f(\(\(a)g -(1\)\))h(\(lambda)e(\(\))i(a\)\)\))153 1922 y(\(foo\))450 -b Fs(=)-6 b Fn(\))19 b Ft(1)153 1968 y(\(eval)f('\(set!)f(a)j(2\))f -(\(procedu)o(re-)o(en)o(vir)o(onm)o(en)o(t)e(foo\)\))153 -2014 y(\(foo\))450 b Fs(=)-6 b Fn(\))19 b Ft(2)75 2184 -y Fu(\(version)n(\))1388 b FD(pro)q(cedure)75 2257 y(returns)15 -b(a)f(string)g(iden)o(tifying)e(the)j(curren)o(t)g(v)o(ersion)f(of)g -Fz(STk)p FD(.)75 2355 y Fu(\(machine-type)m(\))1279 b -FD(pro)q(cedure)75 2428 y(returns)15 b(a)d(string)i(iden)o(tifying)d -(the)j(kind)e(of)h(mac)o(hine)f(whic)o(h)h(is)f(running)h(the)h(in)o -(terpreter.)20 b(The)13 b(form)e(of)i(the)75 2478 y(result)i(is)e -Fu([os-name]-[os-versi)o(on]-[)o(proce)o(ssor-)o(type])o -FD(.)75 2575 y Fu(\(random)20 b FB(n)s Fu(\))1362 b FD(pro)q(cedure)75 -2648 y(returns)15 b(an)f(in)o(teger)g(in)g(the)g(range)g(0,)g -FB(n)e Fm(\000)e FD(1)j(inclusiv)o(e.)75 2745 y Fu(\(set-random-seed!) -18 b FB(se)n(e)n(d)t Fu(\))1094 b FD(pro)q(cedure)75 -2819 y(Set)14 b(the)h(random)d(seed)j(to)f(the)h(sp)q(eci\014ed)g -FB(se)n(e)n(d)5 b FD(.)18 b Fu(Seed)13 b FD(m)o(ust)f(b)q(e)j(an)f(in)o -(teger)g(whic)o(h)g(\014ts)g(in)g(a)f(C)h Fu(long)21 -b(int)p FD(.)p eop -%%Page: 51 51 -51 50 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(51)p 75 64 1763 2 v 75 179 a Fu(\(eval-string)19 b -FB(string)j(envir)n(onment)t Fu(\))925 b FD(pro)q(cedure)75 -248 y(Ev)n(aluates)18 b(the)h(con)o(ten)o(ts)h(of)e(the)h(giv)o(en)f -FB(string)k FD(in)c(the)h(giv)o(en)f FB(envir)n(onment)k -FD(and)d(returns)h(its)e(result.)33 b(If)75 294 y FB(envir)n(onment)18 -b FD(is)c(omitted)f(it)h(defaults)g(to)g(the)g(global)f(en)o(vironmen)o -(t.)k(If)d(ev)n(aluation)e(leads)j(to)e(an)h(error,)h(the)75 -340 y(result)g(of)e Fu(eval-string)e FD(is)j(unde\014ned.)153 -419 y Ft(\(define)j(x)j(1\))153 465 y(\(eval-strin)o(g)c("\(+)j(x)g -(1\)"\))350 510 y Fs(=)-6 b Fn(\))19 b Ft(2)153 556 y(\(eval-strin)o(g) -d("x")j(\(let)f(\(\(x)g(2\)\))h(\(the-envi)o(ron)o(me)o(nt\))o(\)\))350 -602 y Fs(=)-6 b Fn(\))19 b Ft(2)75 787 y Fu(\(read-from-string)f -Fm(h)p FD(string)p Fm(i)q Fu(\))1033 b FD(pro)q(cedure)75 -856 y(P)o(erforms)9 b(a)h(read)g(from)f(the)h(giv)o(en)g -FB(string)s FD(.)16 b(If)10 b FB(string)j FD(is)d(the)g(empt)o(y)f -(string,)h(an)g(end)g(of)g(\014le)g(ob)r(ject)g(is)g(returned.)75 -902 y(If)k(an)f(error)i(o)q(ccurs)g(during)f(string)g(reading,)f(the)i -(result)f(of)g Fu(read-from-strin)o(g)d FD(is)j(unde\014ned.)153 -981 y Ft(\(read-from-)o(st)o(rin)o(g)j("123)h(456"\))350 -1027 y Fs(=)-6 b Fn(\))19 b Ft(123)153 1073 y(\(read-from-)o(st)o(rin)o -(g)e(""\))350 1118 y Fs(=)-6 b Fn(\))19 b Ft(an)g(eof)f(object)75 -1304 y Fu(\(dump)j FB(string)t Fu(\))1323 b FD(pro)q(cedure)75 -1377 y Fu(Dump)14 b FD(grabs)g(the)h(curren)o(t)h(con)o(tin)o(uation)28 -b(and)15 b(creates)h(an)e(image)f(of)h(the)h(curren)o(t)h -Fz(STk)e FD(in)o(terpreter)j(in)d(the)75 1427 y(\014le)f(whose)g(name)e -(is)h FB(string)519 1412 y Fy(13)554 1427 y FD(.)17 b(This)c(image)d -(can)j(b)q(e)g(used)h(later)e(to)h(restart)h(the)f(in)o(terpreter)h -(from)d(the)i(sa)o(v)o(ed)75 1477 y(state.)19 b(See)c(the)f -Fz(STk)g FD(man)f(page)g(ab)q(out)h(the)h Fu(-image)d -FD(option)h(for)h(more)f(details.)75 1527 y Fl(Note:)32 -b Fs(Image)14 b(creation)g(cannot)g(b)q(e)f(done)h(if)f(Tk)g(is)g -(initiali)q(zed)q(.)75 1633 y Fu(\(trace-var)20 b FB(symb)n(ol)h(thunk) -t Fu(\))1078 b FD(pro)q(cedure)75 1702 y Fu(Trace-var)11 -b FD(call)i(the)h(giv)o(en)f FB(thunk)18 b FD(when)c(the)g(v)n(alue)f -(of)f(the)i(v)n(ariable)e(denoted)j(b)o(y)e FB(symb)n(ol)k -FD(is)c(c)o(hanged.)153 1782 y Ft(\(define)k(x)j(1\))153 -1827 y(\(define)d(y)j(0\))153 1873 y(\(trace-var)c('x)j(\(lambda)e -(\(\))i(\(set!)e(y)j(1\)\)\))153 1919 y(\(set!)e(x)h(2\))153 -1964 y(\(cons)f(x)h(y\))350 2010 y Fs(=)-6 b Fn(\))19 -b Ft(\(2)g(.)g(1\))75 2135 y Fl(Note:)32 b Fs(Sev)o(eral)14 -b(traces)f(can)g(b)q(e)g(asso)q(ciated)h(with)g(a)e(single)j(sym)o(b)q -(ol.)j(They)13 b(are)g(executed)g(in)h(rev)o(erse)f(order)g(to)f(their) -75 2181 y(de\014nition.)20 b(F)m(or)12 b(instance,)j(the)e(execution)i -(of)153 2260 y Ft(\(begin)193 2306 y(\(trace-va)o(r)h('z)j(\(lambda)e -(\(\))i(\(display)e("One"\)\)\))193 2351 y(\(trace-va)o(r)f('z)j -(\(lambda)e(\(\))i(\(display)e("Two"\)\)\))193 2397 y(\(set!)g(z)j -(10\)\))75 2526 y Fs(will)15 b(displa)o(y)g(the)e(string)h -Ft("Two")d Fs(b)q(efore)i(the)g(string)i Ft("One")10 -b Fs(on)k(the)f(curren)o(t)g(output)h(p)q(ort.)75 2632 -y Fu(\(untrace-var)19 b FB(symb)n(ol)t Fu(\))1155 b FD(pro)q(cedure)75 -2706 y(Deletes)15 b(all)e(the)h(traces)h(asso)q(ciated)g(to)f(the)g(v)n -(ariable)f(denoted)i(b)o(y)e FB(symb)n(ol)5 b FD(.)p -75 2741 705 2 v 106 2768 a Fr(13)139 2779 y Fq(Image)10 -b(creation)g(is)i(not)g(y)o(et)g(implemen)n(ted)d(on)j(all)g(systems.)k -(The)c(curren)o(t)e(v)o(ersion)h(\(3.99\))f(allo)o(ws)i(image)f -(dumping)f(only)75 2819 y(on)h(some)f(platforms:)j(SunOs)e(4.1.x,)f -(Lin)o(ux)h(1,)g(F)m(reeBsd)p eop -%%Page: 52 52 -52 51 bop 75 47 a FC(52)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Fu(\(error)21 b FB(string)g Fx(str)q(ing)466 -185 y Fy(1)507 179 y Fx(obj)562 185 y Fy(2)602 179 y -Fx(:)7 b(:)g(:)e Fu(\))980 b FD(pro)q(cedure)75 252 y -Fu(error)14 b FD(prin)o(ts)h(the)h FB(obj)6 b FD(s)15 -b(according)g(to)g(the)g(sp)q(eci\014cation)h(giv)o(en)e(in)h -FB(string)j FD(on)c(the)i(curren)o(t)g(error)g(p)q(ort)f(\(or)75 -302 y(in)e(an)g(error)h(windo)o(w)f(if)g(Tk)g(is)g(initialized\).)k -(The)d(sp)q(eci\014cation)g(string)f(follo)o(ws)f(the)i(\\tilde)f(con)o -(v)o(en)o(tions")g(of)75 352 y Fu(format)p FD(\(see)h(6.10\).)j(Once)e -(the)g(message)e(is)h(prin)o(ted,)g(execution)g(returns)i(to)d(toplev)o -(el.)75 445 y Fu(\(gc)o(\))1497 b FD(pro)q(cedure)75 -518 y(Runs)14 b(the)g(garbage)g(collector.)k(See)d(6.18)e(for)g(the)i -(signals)e(asso)q(ciated)i(to)e(garbage)h(collection.)75 -612 y Fu(\(gc-stats)n(\))1366 b FD(pro)q(cedure)75 685 -y(Pro)o(vides)15 b(some)e(statistics)i(ab)q(out)f(curren)o(t)i(memory) -11 b(usage.)19 b(This)c(pro)q(cedure)h(is)e(primarily)d(for)j -(debugging)75 735 y(the)g Fz(STk)h FD(in)o(terpreter,)g(hence)g(its)f -(w)o(eird)g(prin)o(ting)f(format.)75 828 y Fu(\(expand-heap)19 -b FB(n)s Fu(\))1253 b FD(pro)q(cedure)75 901 y(Expand)14 -b(the)g(heap)f(so)h(that)g(it)f(will)f(con)o(tains)h(at)g(least)h -FB(n)j FD(cells.)h(Normally)m(,)10 b(the)k(heap)g(automatically)d(gro)o -(ws)75 951 y(when)17 b(more)f(memory)e(is)j(needed.)28 -b(Ho)o(w)o(ev)o(er,)17 b(using)g(only)f(automatic)f(heap)i(gro)o(wing)f -(is)g(sometimes)f(v)o(ery)75 1001 y(p)q(enalizing.)20 -b(This)15 b(is)f(particularly)g(true)i(for)e(programs)g(whic)o(h)g -(uses)i(a)f(lot)f(of)g(temp)q(orary)g(data)g(\(whic)o(h)h(are)75 -1051 y(not)k(p)q(oin)o(ted)g(b)o(y)f(an)o(y)h(a)f(v)n(ariable\))g(and)h -(a)g(small)d(amoun)o(t)h(of)i(global)e(data.)33 b(In)19 -b(this)g(case,)h(the)g(garbage)75 1101 y(collector)15 -b(will)d(b)q(e)j(often)g(called)f(and)g(the)h(heap)f(will)f(not)i(b)q -(e)f(automatically)e(expanded)j(\(since)g(most)e(of)h(the)75 -1151 y(consumed)e(heap)g(will)f(b)q(e)h(reclaimed)f(b)o(y)h(the)h -(GC\).)e(This)h(could)g(b)q(e)h(anno)o(ying)d(sp)q(ecially)i(for)g -(program)e(where)75 1200 y(resp)q(onse)19 b(time)d(is)i(critical.)28 -b(Using)17 b Fu(expand-heap)e FD(p)q(ermits)i(to)h(enlarge)f(the)h -(heap)g(size)g(\(whic)o(h)g(is)f(set)i(to)75 1250 y(20000)13 -b(cells)h(b)o(y)f(default\),)h(to)f(a)o(v)o(oid)g(those)i(con)o(tin)o -(ual)d(calls)i(to)g(the)g(GC.)75 1343 y Fu(\(get-internal-inf)o(o)m(\)) -1170 b FD(pro)q(cedure)75 1417 y(Returns)15 b(a)e(7-length)h(v)o(ector) -g(whic)o(h)g(con)o(tains)g(the)g(follo)o(wing)e(informations:)137 -1491 y(0)21 b(total)13 b(cpu)h(used)h(in)f(milli)o(-seconds)137 -1570 y(1)21 b(n)o(um)o(b)q(er)13 b(of)g(cells)h(curren)o(tly)h(in)f -(use.)137 1649 y(2)21 b(total)13 b(n)o(um)o(b)q(er)g(of)g(allo)q(cated) -h(cells)137 1727 y(3)21 b(n)o(um)o(b)q(er)13 b(of)g(cells)h(used)h -(since)g(the)f(last)g(call)f(to)h Fu(get-internal-info)137 -1806 y FD(4)21 b(n)o(um)o(b)q(er)13 b(of)g(gc)h(runs)137 -1885 y(5)21 b(total)13 b(time)f(used)j(in)f(the)g(gc)137 -1964 y(6)21 b(a)13 b(b)q(o)q(olean)h(indicating)f(if)g(Tk)g(is)h -(initialized)75 2081 y Fu(\(sort)21 b FB(obj)h(pr)n(e)n(dic)n(ate)s -Fu(\))1194 b FD(pro)q(cedure)75 2151 y FB(Obj)18 b FD(m)o(ust)11 -b(b)q(e)i(a)e(list)h(or)g(a)g(v)o(ector.)18 b Fu(Sort)11 -b FD(returns)j(a)e(cop)o(y)g(of)f FB(obj)19 b FD(sorted)13 -b(according)f(to)g FB(pr)n(e)n(dic)n(ate)r FD(.)18 b -FB(Pr)n(e)n(dic)n(ate)75 2196 y FD(m)o(ust)13 b(b)q(e)i(a)f(pro)q -(cedure)j(whic)o(h)d(tak)o(es)g(t)o(w)o(o)g(argumen)o(ts)g(and)g -(returns)i(a)e(true)h(v)n(alue)f(if)f(the)i(\014rst)g(argumen)o(t)f(is) -75 2242 y(strictly)g(\\b)q(efore")g(the)h(second.)153 -2312 y Ft(\(sort)j('\(1)h(2)g(-4)g(12)g(9)g(-1)g(2)g(3\))g(<\))703 -2358 y Fs(=)-6 b Fn(\))19 b Ft(\(-4)g(-1)f(1)i(2)f(2)g(3)g(9)h(12\))153 -2404 y(\(sort)e(#\("one")f("two")h("three")f("four"\))271 -2449 y(\(lambda)g(\(x)i(y\))g(\(>)g(\(string-)o(len)o(gth)d(x\))j -(\(string-l)o(en)o(gth)d(y\)\)\)\))703 2495 y Fs(=)-6 -b Fn(\))19 b Ft(#\("three")d("four")i("one")f("two"\))89 -2658 y Fu(\(uncode)j FB(form)s Fu(\))1285 b FD(pro)q(cedure)75 -2728 y(When)18 b Fz(STk)h FD(ev)n(aluates)f(an)g(expression)h(it)f -(enco)q(des)i(it)d(so)h(that)h(further)g(ev)n(aluations)e(of)g(this)h -(expression)75 2773 y(will)13 b(b)q(e)i(more)e(e\016cien)o(t.)20 -b(Since)15 b(enco)q(ded)h(forms)d(are)i(generally)f(di\016cult)g(to)g -(read,)h Fu(uncode)e FD(can)h(b)q(e)h(used)h(to)75 2819 -y(\(re-\)obtain)e(the)g(original)e(form.)p eop -%%Page: 53 53 -53 52 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(53)p 75 64 1763 2 v 153 179 a Ft(\(define)17 b(\(foo)h(a)i(b\))212 -224 y(\(let)e(\(\(x)h(a\))g(\(y)g(\(+)f(b)i(1\)\)\))e(\(cons)f(x)j -(y\)\)\))153 316 y(\(procedure-)o(bo)o(dy)c(foo\))703 -361 y Fs(=)-6 b Fn(\))19 b Ft(\(lambda)e(\(a)i(b\))605 -407 y(\(let)f(\(\(x)g(a\))h(\(y)g(\(+)g(b)g(1\)\)\))f(\(cons)g(x)h -(y\)\)\))153 453 y(\(foo)g(1)g(2\))372 b Fs(=)-6 b Fn(\))19 -b Ft(\(1)g(.)g(3\))153 498 y(\(procedure-)o(bo)o(dy)d(foo\))703 -544 y Fs(=)-6 b Fn(\))39 b Ft(\(lambda)17 b(\(a)h(b\))605 -590 y(\(#let)f(\(x)i(y\))722 635 y(\(#)742 -681 y(\(#)j(#)e(1\)\))644 -727 y(\(#)i(#)958 -772 y(#\)\)\))153 864 y(\(uncode)e(\(procedure-)o -(bo)o(dy)f(foo\)\))703 909 y Fs(=)-6 b Fn(\))19 b Ft(\(lambda)e(\(a)i -(b\))624 955 y(\(let)f(\(\(x)h(a\))g(\(y)f(\(+)h(b)g(1\)\)\))g(\(cons)e -(x)i(y\)\)\))75 1084 y Fl(Note:)35 b Fs(When)15 b(a)f(macro)g(has)g(b)q -(een)h(directly)g(expanded)h(in)o(to)f(the)f(macro)g(call)h(co)q(de,)f -(it)g(is)g(not)h(p)q(ossible)h(to)d(retriev)o(e)75 1133 -y(the)g(original)j(macro)d(call.)18 b(Set)c Ft(*debug*)c -Fs(to)j Ft(#t)f Fs(to)h(a)o(v)o(oid)h(macro)f(expansion)j(in-lining.)75 -1239 y Fu(\(time)21 b Fm(h)p FD(expr)p Fm(i)q Fu(\))1387 -b FD(macro)75 1312 y(Ev)n(aluates)12 b(the)h(expression)h -Fm(h)p FD(expr)p Fm(i)f FD(in)f(the)h(curren)o(t)h(en)o(vironmen)o(t.)i -(Prin)o(ts)d(the)g(elapsed)g(CPU)g(time)e(and)h(the)75 -1362 y(n)o(um)o(b)q(er)h(of)g(conses)j(used)f(b)q(efore)f(returning)h -(the)f(result)h(of)e(this)h(ev)n(aluation.)75 1467 y -Fu(\(apropos)20 b FB(symb)n(ol)t Fu(\))1242 b FD(pro)q(cedure)75 -1536 y Fu(Apropos)15 b FD(returns)j(a)e(list)g(of)f(sym)o(b)q(ol)g -(whose)i(prin)o(t)f(name)f(con)o(tains)h(the)h(c)o(haracters)h(of)e -FB(symb)n(ol)t FD(.)25 b(Sym)o(b)q(ols)75 1582 y(are)14 -b(searc)o(hed)i(for)d(in)h(the)g(curren)o(t)i(en)o(vironmen)o(t.)153 -1661 y Ft(\(apropos)h('cadd\))350 1706 y Fs(=)-6 b Fn(\))19 -b Ft(\(caddar)e(caddr)h(cadddr\))75 1890 y Fu(\(inspect)i -FB(obj)6 b Fu(\))1307 b FD(pro)q(cedure)75 1964 y Fu(Inspect)15 -b FD(p)q(ermits)g(to)h(graphically)f(insp)q(ect)i(an)f(ob)r(ject.)25 -b(The)17 b(\014rst)g(call)e(of)h(this)g(pro)q(cedure)i(creates)g(a)e -(top)75 2013 y(lev)o(el)g(windo)o(w)g(con)o(taining)g(the)h(ob)r(ject)h -(to)e(insp)q(ect)i(and)f(its)f(curren)o(t)i(v)n(alue.)26 -b(If)17 b(the)g(insp)q(ector)h(windo)o(w)e(is)75 2063 -y(already)g(on)g(screen,)j FB(obj)j FD(will)15 b(b)q(e)i(app)q(ended)h -(to)e(the)h(list)f(of)g(insp)q(ected)i(ob)r(jects.)27 -b(The)17 b(insp)q(ector)g(windo)o(w)75 2113 y(con)o(tains)i(men)o(us)f -(whic)o(h)g(p)q(ermit)g(to)g(call)g(the)i(view)o(er)f(or)f(detailer)h -(on)g(eac)o(h)g(insp)q(ected)h(ob)r(ject.)33 b(See)20 -b(the)75 2163 y(on-line)13 b(do)q(cumen)o(tation)g(for)g(further)i -(details.)j(A)c(view)g(of)f(the)h(general)g(insp)q(ector)h(is)f(giv)o -(en)g(in)f(\014gure)h(1.)75 2213 y Fl(Note:)32 b Fs(Tk)13 -b(m)o(ust)g(b)q(e)h(initialize)q(d)i(to)d(use)g Ft(inspect)p -Fs(.)75 2318 y Fu(\(view)21 b FB(obj)6 b Fu(\))1372 b -FD(pro)q(cedure)75 2391 y Fu(View)14 b FD(p)q(ermits)g(to)h(obtain)f(a) -h(graphical)f(represen)o(tation)i(of)e(an)h Fz(STk)g -FD(ob)r(ject.)22 b(The)15 b(t)o(yp)q(e)h(of)e(represen)o(tation)75 -2441 y(dep)q(ends)21 b(on)f(the)g(t)o(yp)q(e)g(of)g(the)g(view)o(ed)g -(ob)r(ject.)36 b(Here)21 b(again,)f(men)o(us)f(are)h(pro)o(vided)g(to)f -(switc)o(h)h(to)g(the)75 2491 y(insp)q(ector)d(or)f(to)g(the)h -(detailer.)24 b(See)17 b(the)g(on-line)e(do)q(cumen)o(tation)g(for)h -(more)f(details.)24 b(A)16 b(snapshot)g(of)g(the)75 2541 -y(view)o(er)e(is)g(giv)o(en)f(in)h(\014gure)g(2.)75 2591 -y Fl(Note:)32 b Fs(Tk)13 b(m)o(ust)g(b)q(e)h(initialize)q(d)i(to)d(use) -g Ft(view)p Fs(.)75 2696 y Fu(\(detail)20 b FB(obj)6 -b Fu(\))1329 b FD(pro)q(cedure)75 2769 y Fu(detail)9 -b FD(p)q(ermits)h(to)h(displa)o(y)e(the)j(\014elds)f(of)f(a)g(comp)q -(osite)g(Sc)o(heme)g(ob)r(ject.)18 b(The)11 b(t)o(yp)q(e)g(of)f -(detailer)g(dep)q(ends)j(on)75 2819 y(the)i(t)o(yp)q(e)f(of)g(the)g -(comp)q(osite)g(ob)r(ject)g(detailed.)19 b(Here)c(again,)e(men)o(us)g -(are)h(pro)o(vided)g(to)g(go)g(to)g(the)g(insp)q(ector)p +41 40 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(41)p 37 64 1838 2 v 168 190 a Fv(\(add-signal-handler)o(!)19 +b(|SIGHADGC|)h(handler1\))168 240 y(\(add-signal-handler)o(!)f +(|SIGHADGC|)h(handler2\))168 290 y(\(gc\))168 340 y(x\))343 +390 y Fu(=)-7 b Fp(\))21 b Fv(\(2\))37 613 y Fw(\(get-signal-handlers)n +(\))1140 b FF(pro)q(cedure)37 669 y Fw(\(get-signal-handlers)22 +b FD(sig)t Fw(\))1058 b FF(pro)q(cedure)37 750 y(Returns)18 +b(the)f(handlers,)h(or)f(the)g(list)h(of)f(handlers,)h(asso)q(ciated)f +(to)g(the)g(signal)h FD(sig)s FF(.)26 b(If)17 b FD(sig)k +FF(is)c(omitted,)37 807 y Fw(get-signal-handlers)c FF(returns)i(a)g(v)o +(ector)f(of)h(all)h(the)g(signal)g(handlers)g(curren)o(tly)g(in)g +(e\013ect.)37 934 y FI(6.19)56 b(Hash)19 b(tables)37 +1021 y FF(A)g(hash)g(table)g(consists)f(of)g(zero)h(or)f(more)g(en)o +(tries,)h(eac)o(h)g(consisting)g(of)f(a)g(k)o(ey)h(and)f(a)h(v)m(alue.) +31 b(Giv)o(en)37 1077 y(the)18 b(k)o(ey)f(for)g(an)h(en)o(try)l(,)f +(the)h(hashing)g(function)g(can)g(v)o(ery)f(quic)o(kly)i(lo)q(cate)f +(the)f(en)o(try)l(,)h(and)f(hence)i(the)37 1134 y(corresp)q(onding)e(v) +m(alue.)23 b(There)16 b(ma)o(y)g(b)q(e)g(at)f(most)g(one)h(en)o(try)g +(in)g(a)g(hash)g(table)g(with)g(a)g(particular)g(k)o(ey)l(,)37 +1190 y(but)g(man)o(y)f(en)o(tries)g(ma)o(y)g(ha)o(v)o(e)f(the)i(same)f +(v)m(alue.)37 1247 y FB(STk)g FF(hash)g(tables)h(gro)o(w)e(gracefully)i +(as)e(the)h(n)o(um)o(b)q(er)h(of)f(en)o(tries)g(increases,)h(so)e(that) +h(there)g(are)g(alw)o(a)o(ys)37 1304 y(less)g(than)g(three)f(en)o +(tries)h(p)q(er)g(hash)f(buc)o(k)o(et,)g(on)h(a)o(v)o(erage.)j(This)d +(allo)o(ws)g(for)e(fast)h(lo)q(okups)h(regardless)f(of)37 +1360 y(the)i(n)o(um)o(b)q(er)f(of)g(en)o(tries)h(in)g(a)f(table.)37 +1453 y Fn(Note:)37 b Fu(Hash)14 b(table)g(manipulation)d(pro)q(cedures) +16 b(are)e(built)f(up)q(on)h(the)h(e\016cien)o(t)f(Tcl)g(hash)g(table)g +(pac)o(k)n(age.)37 1572 y Fw(\(make-hash-table)n(\))1236 +b FF(pro)q(cedure)37 1628 y Fw(\(make-hash-table)22 b +FD(c)n(omp)n(arison)s Fw(\))985 b FF(pro)q(cedure)37 +1684 y Fw(\(make-hash-table)22 b FD(c)n(omp)n(arison)i(hash)s +Fw(\))873 b FF(pro)q(cedure)37 1765 y Fw(Make-hash-table)11 +b FF(admits)h(three)h(di\013eren)o(t)g(forms.)18 b(The)12 +b(most)g(general)h(form)f(admit)g(t)o(w)o(o)f(argumen)o(ts.)37 +1821 y(The)20 b(\014rst)e(argumen)o(t)g(is)h(a)g(comparison)g(function) +h(whic)o(h)f(determine)h(ho)o(w)e(k)o(eys)h(are)g(compared;)h(the)37 +1878 y(second)h(argumen)o(t)d(is)i(a)g(function)g(whic)o(h)h(computes)e +(a)g(hash)h(co)q(de)g(for)f(an)h(ob)s(ject)f(and)g(returns)h(the)37 +1934 y(hash)c(co)q(de)g(as)f(a)g(non)h(negativ)o(e)f(in)o(teger.)21 +b(Ob)s(jets)15 b(with)g(the)h(same)f(hash)g(co)q(de)h(are)f(stored)g +(in)i(an)e(A-list)37 1991 y(registered)h(in)g(the)f(buc)o(k)o(et)h +(corresp)q(onding)g(to)e(the)i(k)o(ey)l(.)37 2048 y(If)g(omitted,)106 +2144 y Fo(\017)22 b Fw(hash)15 b FF(defaults)g(to)g(the)g +Fw(hash-table-hash)e FF(pro)q(cedure.)106 2240 y Fo(\017)22 +b Fw(comparison)38 b FF(defaults)15 b(to)g(the)g Fw(eq?)g +FF(pro)q(cedure)37 2329 y(Consequen)o(tly)l(,)125 2419 +y Fv(\(define)20 b(h)i(\(make-hash-tabl)o(e\)\))37 2558 +y FF(is)16 b(equiv)m(alen)o(t)h(to)125 2648 y Fv(\(define)j(h)i +(\(make-hash-tabl)o(e)d(eq?)i(hash-table-hash\)\))37 +2787 y FF(Another)16 b(in)o(teresting)g(example)g(is)p eop +%%Page: 42 42 +42 41 bop 37 45 a FE(42)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(define)j(h)i(\(make-hash-tabl)o(e)d +(string-ci=?)h(string-length\)\))37 327 y FF(whic)o(h)f(de\014nes)f(a)f +(new)g(hash)h(table)f(whic)o(h)i(uses)e Fw(string-ci=?)25 +b FF(for)17 b(comparing)g(k)o(eys.)26 b(Here,)18 b(w)o(e)f(use)37 +377 y(the)j(string-length)f(as)g(a)g(\(v)o(ery)f(simple\))i(hashing)g +(function.)32 b(Of)19 b(course,)h(a)e(function)i(whic)o(h)g(giv)o(es)f +(a)37 426 y(k)o(ey)f(dep)q(ending)i(of)d(the)g(c)o(haracters)g(comp)q +(osing)h(the)g(string)f(giv)o(es)h(a)f(b)q(etter)g(repartition)h(and)g +(should)37 476 y(probably)e(enhance)f(p)q(erformances.)20 +b(F)l(or)14 b(instance,)h(the)g(follo)o(wing)g(call)h(to)e +Fw(make-hash-table)e FF(should)37 526 y(return)k(a)f(more)f(e\016cien)o +(t,)i(ev)o(en)f(if)h(not)f(p)q(erfect,)g(hash)g(table:)125 +613 y Fv(\(make-hash-table)212 662 y(string-ci=?)212 +712 y(\(lambda)20 b(\(s\))255 762 y(\(let)h(\(\(len)g(\(string-length)e +(s\)\)\))299 812 y(\(do)i(\(\(h)g(0\))44 b(\(i)21 b(0)g(\(+)h(i)f +(1\)\)\))386 862 y(\(\(=)g(i)h(len\))f(h\))343 911 y(\(set!)f(h)i(\(+)f +(h)h(\(char->integer)669 961 y(\(char-downcase)d(\(string-ref)h(s)h +(i\)\)\)\)\)\)\)\)\))37 1104 y Fn(Note:)49 b Fu(Hash)17 +b(tables)g(with)f(a)h(comparison)e(function)i(equal)f(to)h +Fv(eq?)f Fu(or)h Fv(string=?)25 b Fu(are)17 b(handled)g(in)f(an)h(more) +37 1161 y(e\016cien)o(t)c(w)o(a)o(y)f(\(in)g(fact,)g(they)h(don't)e +(use)i(the)g Fv(hash-table-hash)c Fu(fucn)o(tion)j(to)g(sp)q(eed)i(up)e +(hash)h(table)f(retriev)n(als\).)37 1334 y Fw(\(hash-table?)23 +b FD(obj)7 b Fw(\))1242 b FF(pro)q(cedure)37 1414 y(Returns)16 +b Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 b(a)g(hash)g(table,)h(returns)f +Fw(#f)g FF(otherwise.)37 1530 y Fw(\(hash-table-hash)22 +b FD(obj)7 b Fw(\))1147 b FF(pro)q(cedure)37 1610 y Fw(hash-table-hash) +16 b FF(computes)i(a)g(hash)g(co)q(de)h(for)e(an)h(ob)s(ject)f(and)h +(returns)g(the)g(hash)g(co)q(de)h(as)e(a)h(non)37 1667 +y(negativ)o(e)e(in)o(teger.)k(A)15 b(prop)q(ert)o(y)g(of)g +Fw(hash-table-hash)e FF(is)j(that)151 1760 y Fw(\(equal?)47 +b(x)24 b(y\))9 b FF(implies)k Fw(\(equal?)46 b(\(hash-table-hash)22 +b(x\))i(\(hash-table-hash)d(y\))37 1853 y FF(as)15 b(the)h(the)f +(Common)f(Lisp)j Fw(sxhash)d FF(function)i(from)e(whic)o(h)j(this)e +(pro)q(cedure)h(is)g(mo)q(deled.)37 1969 y Fw(\(hash-table-put!)22 +b FD(hash)i(key)g(value)s Fw(\))908 b FF(pro)q(cedure)37 +2049 y Fw(Hash-table-put!)14 b FF(en)o(ters)h(an)h(asso)q(ciation)g(b)q +(et)o(w)o(een)f FD(key)20 b FF(and)15 b FD(value)k FF(in)e(the)e +FD(hash)20 b FF(table.)h(The)16 b(v)m(alue)37 2106 y(returned)g(b)o(y)f +Fw(hash-table-put!)e FF(is)j(unde\014ned.)37 2222 y Fw +(\(hash-table-get)22 b FD(hash)i(key)t Fw(\))1056 b FF(pro)q(cedure)37 +2279 y Fw(\(hash-table-get)22 b FD(hash)i(key)g(default)t +Fw(\))900 b FF(pro)q(cedure)37 2352 y Fw(Hash-table-get)16 +b FF(returns)h(the)g(v)m(alue)i(asso)q(ciated)e(with)h +FD(key)j FF(in)d(the)g(giv)o(en)f FD(hash)k FF(table.)27 +b(If)18 b(no)f(v)m(alue)37 2402 y(has)f(b)q(een)h(asso)q(ciated)f(with) +f FD(key)20 b FF(in)c FD(hash)t FF(,)f(the)h(sp)q(eci\014ed)i +FD(default)i FF(is)c(returned)g(if)g(giv)o(en;)g(otherwise)g(an)37 +2452 y(error)f(is)h(raised.)125 2538 y Fv(\(define)k(h1)h +(\(make-hash-table\)\))125 2588 y(\(hash-table-put!)d(h1)k('foo)e +(\(list)h(1)h(2)f(3\)\))125 2638 y(\(hash-table-get)40 +b(h1)22 b('foo\))343 2688 y Fu(=)-7 b Fp(\))21 b Fv(\(1)h(2)f(3\))125 +2738 y(\(hash-table-get)40 b(h1)22 b('bar)e('absent\))343 +2787 y Fu(=)-7 b Fp(\))21 b Fv(absent)p eop +%%Page: 43 43 +43 42 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(43)p 37 64 1838 2 v 125 190 a Fv(\(hash-table-get)40 +b(h1)22 b('bar\))343 240 y Fu(=)-7 b Fp(\))21 b Fi(error)125 +290 y Fv(\(hash-table-put!)d(h1)k('\(a)f(b)g(c\))h('present\))125 +340 y(\(hash-table-get)40 b(h1)22 b('\(a)f(b)g(c\))h('absent\))343 +390 y Fu(=)-7 b Fp(\))21 b Fv('absent)125 489 y(\(define)f(h2)h +(\(make-hash-table)e(equal?\)\))125 539 y(\(hash-table-put!)f(h2)k +('\(a)f(b)g(c\))h('present\))125 589 y(\(hash-table-get)40 +b(h2)22 b('\(a)f(b)g(c\)\))343 639 y Fu(=)-7 b Fp(\))21 +b Fv('present)37 842 y Fw(\(hash-table-remove!)h FD(hash)i(key)t +Fw(\))960 b FF(pro)q(cedure)37 922 y FD(hash)24 b FF(m)o(ust)19 +b(b)q(e)i(a)e(hash)h(table)g(con)o(taining)g(an)g(en)o(try)f(for)h +FD(key)s FF(.)34 b Fw(Hash-table-remove!)17 b FF(deletes)k(the)37 +979 y(en)o(try)15 b(for)g FD(key)k FF(in)d FD(hash)t +FF(,)f(if)g(it)h(exists.)k(Result)c(of)f Fw(Hash-table-remove!)j +FF(is)d(unsp)q(eci\014ed.)125 1078 y Fv(\(define)20 b(h)i +(\(make-hash-tabl)o(e\)\))125 1127 y(\(hash-table-put!)c(h)k('foo)f +(\(list)f(1)i(2)g(3\)\))125 1177 y(\(hash-table-get)c(h)k('foo\))343 +1227 y Fu(=)-7 b Fp(\))21 b Fv(\(1)h(2)f(3\))125 1277 +y(\(hash-table-remo)o(ve!)e(h)i('foo\))125 1327 y(\(hash-table-get)d(h) +k('foo)f('absent\))343 1377 y Fu(=)-7 b Fp(\))21 b Fv(absent)37 +1592 y Fw(\(hash-table-for-each)h FD(hash)i(pr)n(o)n(c)s +Fw(\))919 b FF(pro)q(cedure)37 1672 y FD(Pr)n(o)n(c)19 +b FF(m)o(ust)d(b)q(e)i(a)e(pro)q(cedure)i(taking)f(t)o(w)o(o)e(argumen) +o(ts.)24 b Fw(Hash-table-for-each)14 b FF(calls)k FD(pr)n(o)n(c)h +FF(on)e(eac)o(h)37 1729 y(k)o(ey/v)m(alue)e(asso)q(ciation)e(in)h +FD(hash)t FF(,)f(with)h(the)f(k)o(ey)g(as)g(the)g(\014rst)g(argumen)o +(t)g(and)g(the)g(v)m(alue)i(as)e(the)g(second.)37 1785 +y(The)j(v)m(alue)g(returned)g(b)o(y)f Fw(hash-table-for-each)e +FF(is)i(unde\014ned.)37 1870 y Fn(Note:)37 b Fu(The)14 +b(order)h(of)e(application)g(of)g Fn(pr)n(o)n(c)j Fu(is)e(unsp)q +(eci\014ed.)125 1957 y Fv(\(let)21 b(\(\(h)64 b(\(make-hash-table\)\)) +255 2007 y(\(sum)21 b(0\)\))168 2057 y(\(hash-table-put!)e(h)i('foo)g +(2\))168 2107 y(\(hash-table-put!)e(h)i('bar)g(3\))168 +2156 y(\(hash-table-for-eac)o(h)e(h)i(\(lambda)g(\(key)g(value\))713 +2206 y(\(set!)g(sum)g(\(+)g(sum)h(value\)\)\)\))168 2256 +y(sum\))343 2306 y Fu(=)-7 b Fp(\))21 b Fv(5)37 2509 +y Fw(\(hash-table-map)h FD(hash)i(pr)n(o)n(c)s Fw(\))1039 +b FF(pro)q(cedure)37 2589 y FD(Pr)n(o)n(c)19 b FF(m)o(ust)d(b)q(e)i(a)e +(pro)q(cedure)i(taking)e(t)o(w)o(o)g(argumen)o(ts.)23 +b Fw(Hash-table-map)15 b FF(calls)j FD(pr)n(o)n(c)h FF(on)e(eac)o(h)f +(en)o(try)37 2646 y(in)h FD(hash)t FF(,)e(with)h(the)g(en)o(try's)f(k)o +(ey)h(as)f(the)h(\014rst)f(argumen)o(t)g(and)h(the)g(en)o(try's)f(v)m +(alue)i(as)e(the)h(second.)22 b(The)37 2702 y(result)16 +b(of)f Fw(hash-table-map)e FF(is)j(a)f(list)h(of)f(the)g(v)m(alues)h +(returned)g(b)o(y)f FD(pr)n(o)n(c)r FF(,)g(in)h(unsp)q(eci\014ed)i +(order.)37 2787 y Fn(Note:)37 b Fu(The)14 b(order)h(of)e(application)g +(of)g Fn(pr)n(o)n(c)j Fu(is)e(unsp)q(eci\014ed.)p eop +%%Page: 44 44 +44 43 bop 37 45 a FE(44)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(let)k(\(\(h)g(\(make-hash-table)o(\)\)\)) +168 240 y(\(dotimes)f(\(i)i(5\))212 290 y(\(hash-table-put!)c(h)k(i)f +(\(number->string)e(i\)\)\))168 340 y(\(hash-table-map)g(h)j(\(lambda)e +(\(key)h(value\))626 390 y(\(cons)g(key)g(value\)\)\)\))343 +439 y Fu(=)-7 b Fp(\))21 b Fv(\(\(0)g(.)h("0"\))f(\(3)g(.)h("3"\))f +(\(2)g(.)h("2"\))f(\(1)g(.)h("1"\))f(\(4)g(.)h("4"\)\))37 +633 y Fw(\(hash-table->list)g FD(hash)s Fw(\))1097 b +FF(pro)q(cedure)37 707 y Fw(hash-table->list)16 b FF(returns)h(an)h +(\\asso)q(ciation)f(list")i(built)f(from)f(the)h(en)o(tries)g(in)g +FD(hash)t FF(.)27 b(Eac)o(h)17 b(en)o(try)37 756 y(in)g +FD(hash)i FF(will)e(b)q(e)f(represen)o(ted)g(as)f(a)g(pair)g(whose)h +FD(c)n(ar)k FF(is)c(the)f(en)o(try's)g(k)o(ey)g(and)g(whose)h +FD(c)n(dr)k FF(is)c(its)f(v)m(alue.)37 806 y Fn(Note:)37 +b Fu(The)14 b(order)h(of)e(pairs)h(in)g(the)g(resulting)g(list)f(is)h +(unsp)q(eci\014ed.)125 889 y Fv(\(let)21 b(\(\(h)g(\(make-hash-table)o +(\)\)\))168 938 y(\(dotimes)f(\(i)i(5\))212 988 y(\(hash-table-put!)c +(h)k(i)f(\(number->string)e(i\)\)\))168 1038 y(\(hash-table->list)g +(h\)\))343 1088 y Fu(=)-7 b Fp(\))21 b Fv(\(\(0)g(.)h("0"\))f(\(3)g(.)h +("3"\))f(\(2)g(.)h("2"\))f(\(1)g(.)h("1"\))f(\(4)g(.)h("4"\)\))37 +1282 y Fw(\(hash-table-stats)g FD(hash)s Fw(\))1097 b +FF(pro)q(cedure)37 1362 y Fw(Hash-table-stats)12 b FF(returns)i(a)g +(string)f(with)i(o)o(v)o(erall)f(information)g(ab)q(out)f +FD(hash)t FF(,)h(suc)o(h)g(as)g(the)g(n)o(um)o(b)q(er)37 +1418 y(of)21 b(en)o(tries)g(it)h(con)o(tains,)g(the)f(n)o(um)o(b)q(er)g +(of)g(buc)o(k)o(ets)g(in)h(its)f(hash)g(arra)o(y)l(,)g(and)g(the)g +(utilization)i(of)e(the)37 1475 y(buc)o(k)o(ets.)37 1591 +y FI(6.20)56 b(Regular)18 b(expressions)37 1677 y FF(Regular)j +(expressions)f(are)f(\014rst)g(class)h(ob)s(jects)e(in)i +FB(STk)p FF(.)32 b(A)20 b(regular)f(expression)h(is)g(created)g(b)o(y)f +(the)37 1733 y Fw(string->regexp)e FF(pro)q(cedure.)29 +b(Matc)o(hing)18 b(a)g(regular)g(expression)h(against)f(a)g(string)g +(is)g(simply)i(done)37 1790 y(b)o(y)f(applying)g(a)f(previously)i +(created)e(regular)g(expression)h(to)f(this)g(string.)29 +b(Regular)19 b(expressions)g(are)37 1846 y(implemen)o(ted)24 +b(using)e(co)q(de)g(in)h(the)f(Henry)g(Sp)q(encer's)g(pac)o(k)m(age,)h +(and)f(m)o(uc)o(h)f(of)h(the)f(description)i(of)37 1903 +y(regular)16 b(expressions)g(b)q(elo)o(w)g(is)f(copied)i(from)d(his)i +(man)o(ual.)37 2018 y Fw(\(string->regexp)22 b FD(string)t +Fw(\))1118 b FF(pro)q(cedure)37 2098 y Fw(String->regexp)14 +b FF(compiles)i(the)g FD(string)i FF(and)d(returns)h(the)f(corresp)q +(onding)h(regular)f(expression.)37 2166 y(Matc)o(hing)10 +b(a)g(regular)h(expression)g(against)e(a)h(string)g(is)h(done)f(b)o(y)h +(applying)g(the)f(result)h(of)f Fw(string->regexp)37 +2223 y FF(to)k(this)h(string.)k(This)c(application)h(yields)g(a)e(list) +h(of)f(in)o(teger)h(couples)g(if)g(a)f(matc)o(hing)g(o)q(ccurs;)h(it)f +(returns)37 2279 y Fw(#f)19 b FF(otherwise.)32 b(Those)19 +b(in)o(tegers)g(corresp)q(ond)h(to)e(indexes)j(in)f(the)f(string)g +(whic)o(h)h(matc)o(h)f(the)g(regular)37 2336 y(expression.)37 +2392 y(A)f(regular)g(expression)g(is)g(zero)g(or)f(more)g +FD(br)n(anches)p FF(,)f(separated)i(b)o(y)f(\\)p Fw(|)p +FF(".)26 b(It)18 b(matc)o(hes)f(an)o(ything)h(that)37 +2449 y(matc)o(hes)d(one)h(of)e(the)i(branc)o(hes.)37 +2505 y(A)g(branc)o(h)h(is)f(zero)g(or)f(more)h FD(pie)n(c)n(es)p +FF(,)e(concatenated.)23 b(It)16 b(matc)o(hes)f(a)h(matc)o(h)f(for)g +(the)h(\014rst,)g(follo)o(w)o(ed)g(b)o(y)37 2562 y(a)f(matc)o(h)g(for)g +(the)g(second,)g(etc.)37 2618 y(A)h(piece)i(is)e(an)g +FD(atom)g FF(p)q(ossibly)i(follo)o(w)o(ed)e(b)o(y)f(\\)p +Fw(*)p FF(",)g(\\)p Fw(+)p FF(",)g(or)h(\\)p Fw(?)p FF(".)21 +b(An)16 b(atom)e(follo)o(w)o(ed)j(b)o(y)e(\\)p Fw(*)p +FF(")g(matc)o(hes)37 2674 y(a)h(sequence)h(of)e(0)h(or)f(more)h(matc)o +(hes)f(of)g(the)h(atom.)21 b(An)16 b(atom)f(follo)o(w)o(ed)h(b)o(y)g +(\\)p Fw(+)p FF(")f(matc)o(hes)g(a)h(sequence)37 2731 +y(of)g(1)g(or)g(more)g(matc)o(hes)g(of)g(the)g(atom.)23 +b(An)16 b(atom)g(follo)o(w)o(ed)g(b)o(y)g(\\)p Fw(?)p +FF(")23 b(matc)o(hes)16 b(a)g(matc)o(h)g(of)g(the)g(atom,)37 +2787 y(or)f(the)g(n)o(ull)i(string.)p eop +%%Page: 45 45 +45 44 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(45)p 37 64 1838 2 v 37 190 a FF(An)13 b(atom)f(is)h(a)g(regular)f +(expression)i(in)g(paren)o(theses)e(\(matc)o(hing)h(a)f(matc)o(h)g(for) +g(the)h(regular)g(expression\),)37 247 y(a)g FD(r)n(ange)f +FF(\(see)g(b)q(elo)o(w\),)h(\\)p Fw(.)p FF(")19 b(\(matc)o(hing)12 +b(an)o(y)h(single)h(c)o(haracter\),)d(\\)p Fw(^)p FF(")h(\(matc)o(hing) +h(the)f(n)o(ull)i(string)f(at)f(the)37 303 y(b)q(eginning)18 +b(of)d(the)h(input)g(string\),)f(\\)p Fw($)p FF(")g(\(matc)o(hing)g +(the)h(n)o(ull)h(string)f(at)f(the)g(end)h(of)f(the)h(input)h +(string\),)37 360 y(a)e(\\)p Fw(\\)p FF(")g(follo)o(w)o(ed)g(b)o(y)h(a) +e(single)j(c)o(haracter)e(\(matc)o(hing)f(that)h(c)o(haracter\),)f(or)h +(a)f(single)j(c)o(haracter)d(with)i(no)37 416 y(other)f(signi\014cance) +i(\(matc)o(hing)e(that)g(c)o(haracter\).)37 473 y(A)e +FD(r)n(ange)e FF(is)i(a)e(sequence)j(of)d(c)o(haracters)h(enclosed)h +(in)g(\\)p Fw([])p FF(".)18 b(It)12 b(normally)h(matc)o(hes)f(an)o(y)f +(single)j(c)o(haracter)37 529 y(from)g(the)h(sequence.)21 +b(If)14 b(the)h(sequence)g(b)q(egins)h(with)f(\\)p Fw(^)p +FF(",)e(it)i(matc)o(hes)f(an)o(y)g(single)i(c)o(haracter)d +FD(not)i FF(from)37 586 y(the)22 b(rest)e(of)h(the)g(sequence.)39 +b(If)21 b(t)o(w)o(o)f(c)o(haracters)g(in)i(the)f(sequence)h(are)f +(separated)g(b)o(y)g(\\)p Fw(-)p FF(",)g(this)g(is)37 +642 y(shorthand)g(for)f(the)h(full)i(list)e(of)g(ASCI)q(I)h(c)o +(haracters)e(b)q(et)o(w)o(een)h(them)g(\(e.g.)36 b(\\)p +Fw([0-9])p FF(")20 b(matc)o(hes)g(an)o(y)37 699 y(decimal)d(digit\).)j +(T)l(o)14 b(include)j(a)d(literal)i(\\)p Fw(])p FF(")e(in)h(the)g +(sequence,)g(mak)o(e)f(it)h(the)g(\014rst)f(c)o(haracter)g(\(follo)o +(wing)37 755 y(a)h(p)q(ossible)i(\\)p Fw(^)p FF("\).)i(T)l(o)c(include) +j(a)d(literal)h(\\)p Fw(-)p FF(",)e(mak)o(e)h(it)g(the)g(\014rst)g(or)g +(last)g(c)o(haracter.)37 811 y(In)g(general)g(there)f(ma)o(y)f(b)q(e)i +(more)f(than)g(one)g(w)o(a)o(y)f(to)g(matc)o(h)h(a)g(regular)g +(expression)h(to)e(an)h(input)h(string.)37 868 y(Considering)e(only)f +(the)g(rules)g(giv)o(en)g(so)f(far)g(could)h(lead)g(to)f(am)o +(biguities.)20 b(T)l(o)11 b(resolv)o(e)h(those)f(am)o(biguities,)37 +924 y(the)g(generated)f(regular)h(expression)g(c)o(ho)q(oses)f(among)g +(alternativ)o(es)g(using)h(the)g(rule)g(\\\014rst)f(then)h(longest".)37 +981 y(In)j(other)e(w)o(ords,)g(it)h(considers)g(the)g(p)q(ossible)h +(matc)o(hes)f(in)g(order)f(w)o(orking)h(from)f(left)h(to)f(righ)o(t)g +(across)g(the)37 1037 y(input)i(string)e(and)h(the)g(pattern,)f(and)h +(it)f(attempts)g(to)g(matc)o(h)f(longer)i(pieces)h(of)e(the)h(input)g +(string)g(b)q(efore)37 1094 y(shorter)i(ones.)20 b(More)15 +b(sp)q(eci\014cally)l(,)i(the)f(follo)o(wing)g(rules)g(apply)g(in)g +(decreasing)g(order)f(of)f(priorit)o(y:)93 1173 y(1.)22 +b(If)c(a)g(regular)g(expression)h(could)g(matc)o(h)e(t)o(w)o(o)g +(di\013eren)o(t)h(parts)f(of)h(an)g(input)h(string)f(then)g(it)g(will) +151 1229 y(matc)o(h)d(the)g(one)g(that)g(b)q(egins)h(earliest.)93 +1317 y(2.)22 b(If)12 b(a)f(regular)h(expression)g(con)o(tains)g(\\)p +Fw(|)p FF(")f(op)q(erators)f(then)i(the)g(leftmost)f(matc)o(hing)g +(sub-expression)151 1374 y(is)16 b(c)o(hosen.)93 1462 +y(3.)22 b(In)e(\\)p Fw(*)p FF(",)g(\\)p Fw(+)p FF(",)f(and)h(\\)p +Fw(?)p FF(")32 b(constructs,)20 b(longer)f(matc)o(hes)g(are)g(c)o +(hosen)h(in)g(preference)h(to)e(shorter)151 1518 y(ones.)93 +1606 y(4.)j(In)13 b(sequences)g(of)f(expression)h(comp)q(onen)o(ts)f +(the)g(comp)q(onen)o(ts)g(are)g(considered)h(from)f(left)g(to)g(righ)o +(t.)125 1688 y Fv(\(define)20 b(r1)h(\(string->regexp)e("abc"\)\))125 +1738 y(\(r1)i("xyz"\))391 b Fu(=)-7 b Fp(\))22 b Fv(#f)125 +1788 y(\(r1)f("12abc345"\))281 b Fu(=)-7 b Fp(\))22 b +Fv(\(\(2)f(5\)\))125 1837 y(\(define)f(r2)h(\(string->regexp)e +("[a-z]+"\)\))125 1887 y(\(r2)i("12abc345"\))281 b Fu(=)-7 +b Fp(\))22 b Fv(\(\(2)f(5\)\))37 2026 y FF(If)16 b(the)f(regular)g +(expression)g(con)o(tains)g(paren)o(thesis,)g(and)g(if)h(there)f(is)g +(a)g(matc)o(h,)f(the)g(result)i(returned)f(b)o(y)37 2082 +y(the)f(application)i(will)f(con)o(tain)f(sev)o(eral)g(couples)g(of)g +(in)o(tegers.)19 b(First)13 b(couple)i(will)h(b)q(e)e(the)g(indexes)h +(of)e(the)37 2139 y(\014rst)18 b(longest)f(substring)h(whic)o(h)g(matc) +o(h)f(the)h(regular)f(expression.)28 b(Subsequen)o(t)18 +b(couples,)h(will)g(b)q(e)f(the)37 2195 y(indexes)f(of)e(all)h(the)f +(sub-parts)g(of)g(this)h(regular)f(expression,)h(in)g(sequence.)125 +2277 y Fv(\(define)k(r3)h(\(string->regexp)e("\(a*\)\(b*\)c"\)\))125 +2327 y(\(r3)i("abc"\))391 b Fu(=)-7 b Fp(\))22 b Fv(\(\(0)f(3\))g(\(0)g +(1\))h(\(1)f(2\)\))125 2377 y(\(r3)g("c"\))435 b Fu(=)-7 +b Fp(\))22 b Fv(\(\(0)f(1\))g(\(0)g(0\))h(\(0)f(0\)\))125 +2427 y(\(\(string->regexp)d("\([a-z]+\),\([a-z]+\))o("\))h +("XXabcd,eXX"\))735 2476 y Fu(=)-7 b Fp(\))22 b Fv(\(\(2)f(8\))g(\(2)g +(6\))h(\(7)f(8\)\))37 2707 y Fw(\(regexp?)i FD(obj)7 +b Fw(\))1338 b FF(pro)q(cedure)37 2787 y(Returns)16 b +Fw(#t)f FF(if)h FD(obj)22 b FF(is)15 b(a)g(regular)g(expression)i +(created)e(b)o(y)g Fw(string->regexp)p FF(;)e(otherwise)i(returns)g +Fw(#f)p FF(.)p eop +%%Page: 46 46 +46 45 bop 37 45 a FE(46)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(regexp?)j(\(string->regexp)e +("[a-zA-Z][a-zA-Z0-9])o(*"\)\))735 240 y Fu(=)-7 b Fp(\))43 +b Fv(#t)37 466 y Fw(\(regexp-replace)22 b FD(p)n(attern)i(string)f +(substitution)s Fw(\))703 b FF(pro)q(cedure)37 523 y +Fw(\(regexp-replace-all)22 b FD(p)n(attern)i(string)f(substitution)s +Fw(\))607 b FF(pro)q(cedure)37 597 y Fw(Regexp-replace)15 +b FF(matc)o(hes)h(the)g(regular)g(expression)h FD(p)n(attern)j +FF(against)c FD(string)s FF(.)23 b(If)17 b(there)f(is)h(a)f(matc)o(h,) +37 647 y(the)i(p)q(ortion)f(of)g FD(string)k FF(whic)o(h)d(matc)o(h)f +FD(p)n(attern)j FF(is)e(replaced)g(b)o(y)g(the)f FD(substitution)k +FF(string.)26 b(If)17 b(there)g(is)37 697 y(no)f(matc)o(h,)e +Fw(regexp-replace)f FF(returns)i FD(string)k FF(unmo)q(di\014ed.)i +(Note)15 b(that)g(the)g(giv)o(en)h FD(p)n(attern)i FF(could)e(b)q(e)37 +747 y(here)d(either)g(a)f(string)g(or)g(a)f(regular)i(expression.)19 +b(If)13 b FD(p)n(attern)i FF(con)o(tains)e(strings)f(of)g(the)g(form)f +(\\)p Fw(\\n)p FF(",)h(where)37 810 y FD(n)j FF(is)g(a)f(digit)h(b)q +(et)o(w)o(een)g(1)g(and)f(9,)g(then)h(it)g(is)g(replaced)h(in)f(the)g +(substitution)g(with)g(the)g(p)q(ortion)g(of)f(string)37 +859 y(that)j(matc)o(hed)h(the)g FD(n)p FF(-th)f(paren)o(thesized)i(sub) +q(expression)g(of)e FD(p)n(attern)p FF(.)27 b(If)18 b +FD(n)f FF(is)h(equal)g(to)f(0,)h(then)g(it)f(is)37 909 +y(replaced)g(in)f FD(substitution)i FF(with)e(the)f(p)q(ortion)h(of)e +FD(string)19 b FF(that)14 b(matc)o(hed)h FD(p)n(attern)t +FF(.)125 1000 y Fv(\(regexp-replace)j("a*b")j("aaabbcccc")f("X"\))735 +1050 y Fu(=)-7 b Fp(\))22 b Fv("Xbcccc")125 1100 y(\(regexp-replace)c +(\(string->regexp)h("a*b"\))i("aaabbcccc")e("X"\))735 +1150 y Fu(=)-7 b Fp(\))22 b Fv("Xbcccc")125 1200 y(\(regexp-replace)c +("\(a*\)b")j("aaabbcccc")e("X\\\\1Y"\))735 1249 y Fu(=)-7 +b Fp(\))22 b Fv("XaaaYbcccc")125 1299 y(\(regexp-replace)c("\(a*\)b")j +("aaabbcccc")e("X\\\\0Y"\))735 1349 y Fu(=)-7 b Fp(\))22 +b Fv("XaaabYbcccc")125 1399 y(\(regexp-replace)c("\([a-z]*\))i +(\([a-z]*\)")g("john)h(brown")g("\\\\2)f(\\\\1"\))735 +1449 y Fu(=)-7 b Fp(\))22 b Fv("brown)e(john")37 1595 +y Fw(Regexp-replace)9 b FF(replaces)j(the)f(\014rst)g(o)q(ccurence)h +(of)f FD(p)n(attern)j FF(in)e FD(string)s FF(.)18 b(T)l(o)11 +b(replace)h FD(al)r(l)f FF(the)g(o)q(ccurences)37 1652 +y(of)k(the)h FD(p)n(attern)p FF(,)e(use)i Fw(regexp-replace-all)125 +1756 y Fv(\(regexp-replace)i("a*b")j("aaabbcccc")f("X"\))735 +1806 y Fu(=)-7 b Fp(\))22 b Fv("Xbcccc")125 1856 y(\(regexp-replace-)o +(all)d("a*b")h("aaabbcccc")g("X"\))735 1906 y Fu(=)-7 +b Fp(\))22 b Fv("XXcccc")37 2138 y FI(6.21)56 b(P)n(attern)19 +b(matc)n(hing)37 2225 y FF(P)o(attern)e(matc)o(hing)h(is)g(a)f(k)o(ey)g +(feature)h(of)f(most)g(mo)q(dern)g(functional)i(programming)e +(languages)h(since)37 2282 y(it)h(allo)o(ws)f(clean)h(and)f(secure)g +(co)q(de)h(to)e(b)q(e)i(written.)28 b(In)o(ternally)l(,)20 +b(\\pattern-matc)o(hing)d(forms")g(should)37 2338 y(b)q(e)g(translated) +f(\(compiled\))h(in)o(to)f(cascades)g(of)g(\\elemen)o(tary)g(tests")f +(where)h(co)q(de)h(is)g(made)f(as)f(e\016cien)o(t)37 +2395 y(as)i(p)q(ossible,)h(a)o(v)o(oiding)g(redundan)o(t)f(tests;)f +(the)h FB(STk)f FF(\\pattern)g(matc)o(hing)h(compiler")h(pro)o(vides)f +(this)1842 2378 y FA(7)1862 2395 y FF(.)37 2451 y(The)h(tec)o(hnique)h +(used)e(is)h(describ)q(ed)h(in)g(details)f(in)g([9)o(],)f(and)h(the)f +(co)q(de)h(generated)f(can)h(b)q(e)g(considered)37 2508 +y(optimal)e(due)g(to)f(the)g(w)o(a)o(y)f(this)i(\\pattern)e(compiler")i +(w)o(as)f(obtained.)37 2565 y(The)h(\\pattern)e(language")i(allo)o(ws)f +(the)g(expression)h(of)f(a)g(wide)h(v)m(ariet)o(y)f(of)g(patterns,)f +(including:)p 37 2608 735 2 v 89 2634 a Ft(7)107 2650 +y Fs(The)k(\\pattern)h(matc)o(hing)g(compiler")i(has)d(b)q(een)h +(written)g(b)o(y)f(Jean-Marie)i(Ge\013ro)o(y)f(and)g(is)f(part)h(of)f +(the)g(Man)o(uel)37 2696 y(Serrano's)g(Biglo)q(o)g(compiler[8)r(])e +(since)h(sev)o(eral)g(y)o(ears.)28 b(The)16 b(co)q(de)h(\(and)g(do)q +(cumen)o(tation\))h(included)h(in)e Fh(STk)f Fs(has)h(b)q(een)37 +2742 y(stolen)i(from)e(the)g(Biglo)q(o)i(pac)o(k)n(age)f(v1.9)f(\(the)g +(only)i(di\013erence)g(b)q(et)o(w)o(een)e(b)q(oth)h(pac)o(k)n(age)g(is) +g(the)f(pattern)h(matc)o(hing)g(of)37 2787 y(structures)c(whisc)o(h)g +(is)g(absen)o(t)g(in)f Fh(STk)p Fs(\).)p eop +%%Page: 47 47 +47 46 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(47)p 37 64 1838 2 v 106 190 a Fo(\017)22 b FF(Non-linear)15 +b(patterns:)j(pattern)12 b(v)m(ariables)j(can)e(app)q(ear)g(more)g +(than)g(once,)g(allo)o(wing)h(comparison)151 247 y(of)h(subparts)g(of)g +(the)g(datum)g(\(through)f Fw(eq?)p FF(\))106 353 y Fo(\017)22 +b FF(Recursiv)o(e)e(patterns)e(on)g(lists:)27 b(for)18 +b(example,)h(c)o(hec)o(king)h(that)d(the)i(datum)f(is)h(a)f(list)h(of)f +(zero)g(or)151 409 y(more)d Fw(a)p FF(s)g(follo)o(w)o(ed)g(b)o(y)g +(zero)h(or)e(more)h Fw(b)p FF(s.)106 515 y Fo(\017)22 +b FF(P)o(attern)14 b(matc)o(hing)i(on)f(lists)h(as)e(w)o(ell)j(as)d(on) +i(v)o(ectors.)37 653 y FE(P)o(attern)i(Matc)o(hing)g(F)l(acilities)37 +745 y FF(Only)f(t)o(w)o(o)d(sp)q(ecial)j(forms)e(are)g(pro)o(vided)h +(for)f(this:)21 b Fw(match-case)14 b FF(and)h Fw(match-lambda)f +FF(and)h(these)h(also)37 801 y(exist,)g(for)e(example,)i(in)g(Andrew)g +(W)l(righ)o(t)e(and)i(Bruce)g(Duba's)e([10)o(])h(pattern)g(matc)o(hing) +g(pac)o(k)m(age.)37 929 y Fw(\(match-case)23 b Fo(h)p +FF(k)o(ey)p Fo(i)g(h)p FF(clause)586 936 y FA(1)606 929 +y Fo(i)h(h)p FF(clause)784 936 y FA(2)804 929 y Fo(i)p +Fz(:)8 b(:)g(:)d Fw(\))839 b FF(syn)o(tax)37 1005 y(In)16 +b(this)g(form,)e Fo(h)p FF(k)o(ey)p Fo(i)g FF(ma)o(y)h(b)q(e)h(an)o(y)f +(expression)h(and)f(eac)o(h)g Fo(h)p FF(clause)p Fo(i)h +FF(has)f(the)g(form)125 1108 y Fv(\()p Fl(<)p Fv(pat)p +Fl(>)21 b(<)p Fv(expression)550 1114 y Fm(1)567 1108 +y Fl(>)h(<)p Fv(expression)873 1114 y Fm(2)890 1108 y +Fl(>)g Fv(...\))37 1263 y FF(A)16 b Fw(match-case)e FF(expression)j(is) +f(ev)m(aluated)h(as)e(follo)o(ws.)21 b Fz(<)p FF(k)o(ey)p +Fz(>)16 b FF(is)h(ev)m(aluated)f(and)g(the)g(result)g(is)g(com-)37 +1320 y(pared)i(with)g(eac)o(h)f(successiv)o(e)i(patterns.)26 +b(If)18 b(the)f(pattern)g(in)h(some)f Fz(<)p FF(clause)p +Fz(>)i FF(yields)g(a)f(matc)o(h,)f(then)37 1376 y(the)c(expressions)h +(in)f(that)f Fz(<)p FF(clause)p Fz(>)i FF(are)f(ev)m(aluated)h(from)d +(left)i(to)f(righ)o(t)h(in)g(an)g(en)o(vironmen)o(t)g(where)g(the)37 +1433 y(pattern)g(v)m(ariables)h(are)f(b)q(ound)g(to)g(the)g(corresp)q +(onding)g(subparts)g(of)g(the)f(datum,)h(and)g(the)g(result)g(of)g(the) +37 1489 y(last)h(expression)g(in)g(that)e Fz(<)p FF(clause)p +Fz(>)j FF(is)f(returned)f(as)g(the)g(result)h(of)f(the)g +Fw(match-case)f FF(expression.)20 b(If)13 b(no)37 1546 +y Fz(<)p FF(pat)p Fz(>)j FF(in)h(an)o(y)e Fz(<)p FF(clause)p +Fz(>)i FF(matc)o(hes)e(the)h(datum,)f(then,)h(if)g(there)g(is)g(an)f +Fw(else)g FF(clause,)h(its)g(expressions)37 1602 y(are)k(ev)m(aluated)h +(and)f(the)g(result)g(of)f(the)h(last)g(is)g(the)g(result)g(of)g(the)g +(whole)g Fw(match-case)e FF(expression;)37 1659 y(otherwise)e(the)f +(result)h(of)f(the)g Fw(match-case)f FF(expression)i(is)f(unsp)q +(eci\014ed.)37 1718 y(The)h(equalit)o(y)g(predicate)g(used)g(is)g +Fw(eq?)p FF(.)125 1836 y Fv(\(match-case)j('\(a)i(b)h(a\))168 +1886 y(\(\(?x)f(?x\))g('foo\))168 1936 y(\(\(?x)g(?-)h(?x\))f('bar\)\)) +343 1985 y Fu(=)-7 b Fp(\))21 b Fv(bar)37 2239 y Fw(\(match-lambda)i +Fo(h)p FF(clause)508 2246 y FA(1)528 2239 y Fo(i)g(h)p +FF(clause)705 2246 y FA(2)726 2239 y Fo(i)o Fz(:)8 b(:)g(:)e +Fw(\))917 b FF(syn)o(tax)37 2322 y(The)12 b(form)f Fw(match-lambda)p +FF(expands)f(in)o(to)h(a)g(lam)o(b)q(da-expression)i(exp)q(ecting)f(an) +g(argumen)o(t)e(whic)o(h,)j(once)37 2379 y(applied)18 +b(to)c(an)h(expression,)h(b)q(eha)o(v)o(es)f(exactly)h(lik)o(e)g(a)f +Fw(match-case)f FF(expression.)125 2497 y Fv(\(\(match-lambda)212 +2547 y(\(\(?x)21 b(?x\))g('foo\))212 2596 y(\(\(?x)g(?-)g(?x\))g +('bar\)\))g('bar\))343 2646 y Fu(=)-7 b Fp(\))21 b Fv(bar)p +eop +%%Page: 48 48 +48 47 bop 37 45 a FE(48)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 62 180 a Fl(<)p Fn(p)n(attern)p Fl(>)f +Fp(\000)-7 b(!)333 b Fn(Matches:)62 229 y Fl(<)p Fu(atom)p +Fl(>)13 b Fp(k)h Fv(\(kwote)42 b Fl(<)p Fu(atom)p Fl(>)p +Fv(\))48 b Fu(an)o(y)14 b(expression)h Fv(eq?)j Fu(to)13 +b Fl(<)p Fu(atom)p Fl(>)62 279 y Fp(k)h Fv(\(and)f Fl(<)p +Fu(pat)290 285 y Fm(1)320 279 y Fl(>)i Fu(.)6 b(.)g(.)h +Fl(<)p Fu(pat)514 285 y Fg(n)548 279 y Fl(>)p Fv(\))68 +b Fu(if)13 b(all)g(of)g Fl(<)p Fu(pat)905 285 y Fg(i)931 +279 y Fl(>)h Fu(matc)o(h)62 329 y Fp(k)g Fv(\(or)f Fl(<)p +Fu(pat)p Fl(>)i Fu(.)6 b(.)g(.)h Fl(<)p Fu(pat)462 335 +y Fg(n)496 329 y Fl(>)p Fv(\))120 b Fu(if)13 b(an)o(y)h(of)f +Fl(<)p Fu(pat)926 335 y Fm(1)957 329 y Fl(>)h Fu(through)g +Fl(<)p Fu(pat)1252 335 y Fg(n)1286 329 y Fl(>)p Fu(matc)o(h)62 +379 y Fp(k)g Fv(\(not)f Fl(<)p Fu(pat)p Fl(>)p Fv(\))326 +b Fu(if)13 b Fl(<)p Fu(pat)p Fl(>)i Fu(do)q(esn't)f(matc)o(h)62 +429 y Fp(k)g Fv(\(?)k Fl(<)p Fu(predicate)p Fl(>)p Fv(\))260 +b Fu(if)13 b Fl(<)p Fu(predicate)p Fl(>)j Fu(is)e(true)62 +479 y Fp(k)g Fv(\()p Fl(<)p Fv(pat)217 485 y Fm(1)247 +479 y Fl(>)22 b Fv(...)367 463 y Fm(8)428 479 y Fl(<)p +Fv(pat)526 485 y Fg(n)560 479 y Fl(>)p Fv(\))56 b Fu(a)14 +b(list)f(of)h Fl(n)f Fu(elemen)o(ts)62 528 y Fp(k)h Fl(<)p +Fu(pat)p Fl(>)g Fv(...)p 235 535 66 2 v 315 513 a Fm(9)670 +528 y Fu(a)g(\(p)q(ossibly)g(empt)o(y\))f(rep)q(etition)h(of)f +Fl(<)p Fu(pat)p Fl(>)i Fu(in)e(a)h(list.)62 578 y Fp(k)g +Fv(#\()p Fl(<)p Fv(pat)p Fl(>)21 b Fv(...)p Fl(<)p Fv(pat)456 +584 y Fg(n)490 578 y Fl(>)p Fv(\))126 b Fu(a)14 b(v)o(ector)h(of)e(n)h +(elemen)o(ts)62 628 y Fp(k)g Fv(?)p Fl(<)p Fu(iden)o(ti\014er)p +Fl(>)327 b Fu(an)o(ything,)13 b(and)h(binds)g Fl(identif)t(ier)i +Fu(as)e(a)g(v)n(ariable)62 678 y Fp(k)g Fv(?-)529 b Fu(an)o(ything)62 +728 y Fp(k)14 b Fv(??-)507 b Fu(an)o(y)14 b(\(p)q(ossibly)g(empt)o(y\)) +f(rep)q(etition)h(of)f(an)o(ything)g(in)h(a)f(list)62 +777 y Fp(k)h Fv(???-)485 b Fu(an)o(y)14 b(end)g(of)g(list)714 +870 y FF(T)l(able)i(3:)k(P)o(attern)14 b(Syn)o(tax)p +40 926 14 2 v 54 926 1805 2 v 1862 926 14 2 v 37 1042 +a FE(The)k(pattern)g(language)37 1128 y FF(The)e(syn)o(tax)e(is)h +(presen)o(ted)g(in)h(T)l(able)g(3.)j(It)c(is)g(describ)q(ed)i(b)q(elo)o +(w)e(in)h(the)f(same)f(w)o(a)o(y)g(\(and)h(nearly)g(in)h(the)37 +1185 y(same)f(w)o(ords\))f(as)h(in)h([10)o(].)37 1241 +y Fn(Note:)35 b Fv(and,)21 b(or,)g(not,)g(check)11 b +Fu(and)h Fv(kwote)f Fu(m)o(ust)g(b)q(e)h(quoted)g(in)g(order)g(to)g(b)q +(e)h(treated)g(as)f(literals.)17 b(This)12 b(is)f(the)37 +1298 y(only)i(justi\014cation)f(for)h(ha)o(ving)f(the)h +Fv(kwote)f Fu(pattern)i(since,)g(b)o(y)e(con)o(v)o(en)o(tion,)h(an)o(y) +f(atom)g(whic)o(h)g(is)h(not)g(a)g(k)o(eyw)o(ord)37 1354 +y(is)h(quoted.)37 1471 y FE(Explanations)20 b(through)e(examples)106 +1550 y Fo(\017)k Fw(?-)15 b FF(matc)o(hes)g(an)o(y)g(s-expr)106 +1637 y Fo(\017)22 b Fw(a)15 b FF(matc)o(hes)g(the)g(atom)f +Fw('a)p FF(.)106 1725 y Fo(\017)22 b Fw(?a)15 b FF(matc)o(hes)g(an)o(y) +g(expression,)g(and)h(binds)g(the)f(v)m(ariable)i Fw(a)e +FF(to)g(this)g(expression.)106 1813 y Fo(\017)22 b Fw(\(?)48 +b(integer?\))19 b FF(matc)o(hes)14 b(an)o(y)h(in)o(teger)106 +1900 y Fo(\017)22 b Fw(\(a)i(\(a)f(b\)\))15 b FF(matc)o(hes)g(the)g +(only)h(list)g Fw('\(a)23 b(\(a)h(b\)\))p FF(.)106 1988 +y Fo(\017)e Fw(???-)14 b FF(can)g(only)h(app)q(ear)f(at)g(the)g(end)h +(of)f(a)f(list,)i(and)g(alw)o(a)o(ys)e(succeeds.)21 b(F)l(or)13 +b(instance,)i Fw(\(a)24 b(???-\))151 2045 y FF(is)16 +b(equiv)m(alen)o(t)h(to)d Fw(\(a)24 b(.)47 b(?-\))p FF(.)106 +2132 y Fo(\017)22 b FF(when)d(o)q(ccurring)g(in)g(a)e(list,)j +Fw(??-)d FF(matc)o(hes)h(an)o(y)g(sequence)h(of)f(an)o(ything:)26 +b Fw(\(a)d(??-)h(b\))17 b FF(matc)o(hes)151 2189 y(an)o(y)e(list)h +(whose)f Fw(car)g FF(is)h Fw(a)f FF(and)g(last)g Fw(car)g +FF(is)h Fw(b)p FF(.)106 2276 y Fo(\017)22 b Fw(\(a)i(...\))14 +b FF(matc)o(hes)h(an)o(y)g(list)h(of)f Fw(a)p FF('s,)f(p)q(ossibly)j +(empt)o(y)l(.)106 2364 y Fo(\017)22 b Fw(\(?x)i(?x\))14 +b FF(matc)o(hes)h(an)o(y)g(list)h(of)f(length)h(2)e(whose)i +Fw(car)e FF(is)i FD(e)n(q)f FF(to)f(its)i Fw(cadr)106 +2452 y Fo(\017)22 b Fw(\(\(and)h(\(not)h(a\))f(?x\))h(?x\))15 +b FF(matc)o(hes)g(an)o(y)g(list)i(of)e(length)i(2)e(whose)g +Fw(car)h FF(is)g(not)f FD(e)n(q)g FF(to)g Fw('a)h FF(but)f(is)151 +2508 y FD(e)n(q)g FF(to)f(its)i Fw(cadr)106 2596 y Fo(\017)22 +b Fw(#\(?-)h(?-)h(???-\))15 b FF(matc)o(hes)f(an)o(y)h(v)o(ector)g +(whose)g(length)h(is)f(at)g(least)g(2.)37 2674 y Fn(Note:)36 +b Fv(??-)12 b Fu(and)h Fv(...)f Fu(patterns)j(can)e(not)g(app)q(ear)g +(inside)g(a)g(v)o(ector,)g(where)h(y)o(ou)f(should)f(use)i(???-:)i(F)m +(or)d(example,)37 2731 y Fv(#\(a)22 b(??-)f(b\))d Fu(or)g +Fv(#\(a...\))30 b Fu(are)18 b(in)o(v)n(alid)e(patterns,)k(whereas)g +Fv(#\(a)h(???-\))c Fu(is)h(v)n(alid)f(and)h(matc)o(hes)f(an)o(y)h(v)o +(ector)37 2787 y(whose)d(\014rst)g(elemen)o(t)e(is)h(the)g(atom)e +Fv(a)p Fu(.)p eop +%%Page: 49 49 +49 48 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(49)p 37 64 1838 2 v 37 190 a FI(6.22)56 b(Pro)r(cesses)37 +276 y FB(STk)13 b FF(pro)o(vides)g(access)g(to)f(Unix)h(pro)q(cesses)g +(as)g(\014rst)f(class)h(ob)s(jects.)19 b(Basically)l(,)14 +b(a)f(pro)q(cess)g(con)o(tains)f(four)37 333 y(informations:)20 +b(the)13 b(standard)g(Unix)i(pro)q(cess)e(iden)o(ti\014cation)j(\(ak)m +(a)d(PID\))g(and)h(the)f(three)h(standard)f(\014les)37 +389 y(of)i(the)h(pro)q(cess.)37 506 y Fw(\(run-process)23 +b FD(c)n(ommand)h Fz(p)583 513 y FA(1)626 506 y Fz(p)649 +513 y FA(2)693 506 y Fz(p)716 513 y FA(3)759 506 y Fz(:)8 +b(:)g(:)e Fw(\))835 b FF(pro)q(cedure)37 586 y Fw(run-process)18 +b FF(creates)h(a)h(new)f(pro)q(cess)h(and)f(run)h(the)g(executable)g +(sp)q(eci\014ed)i(in)e FD(c)n(ommand)5 b FF(.)32 b(The)20 +b FD(p)37 642 y FF(corresp)q(ond)13 b(to)e(the)h(command)g(line)i +(argumen)o(ts.)j(The)c(follo)o(wing)f(v)m(alues)h(of)f +FD(p)j FF(ha)o(v)o(e)c(a)h(sp)q(ecial)i(meaning:)106 +734 y Fo(\017)22 b Fw(:input)13 b FF(p)q(ermits)h(to)f(redirect)i(the)e +(standard)h(input)g(\014le)h(of)e(the)h(pro)q(cess.)20 +b(Redirection)15 b(can)f(come)151 791 y(from)20 b(a)f(\014le)j(or)d +(from)h(a)g(pip)q(e.)36 b(T)l(o)20 b(redirect)h(the)f(standard)g(input) +h(from)f(a)g(\014le,)i(the)e(name)g(of)151 847 y(this)c(\014le)h(m)o +(ust)e(b)q(e)h(sp)q(eci\014ed)i(after)d Fw(:input)p FF(.)21 +b(Use)15 b(the)h(sp)q(ecial)i(k)o(eyw)o(ord)d Fw(:pipe)f +FF(to)h(redirect)i(the)151 904 y(standard)e(input)h(from)f(a)f(pip)q +(e.)106 997 y Fo(\017)22 b Fw(:output)c FF(p)q(ermits)h(to)e(redirect)j +(the)e(standard)g(output)g(\014le)i(of)e(the)g(pro)q(cess.)30 +b(Redirection)21 b(can)151 1053 y(go)d(to)g(a)h(\014le)h(or)e(to)g(a)g +(pip)q(e.)32 b(T)l(o)19 b(redirect)g(the)g(standard)f(output)h(to)f(a)g +(\014le,)j(the)d(name)h(of)g(this)151 1110 y(\014le)i(m)o(ust)f(b)q(e)g +(sp)q(eci\014ed)i(after)e Fw(:output)p FF(.)33 b(Use)20 +b(the)g(sp)q(ecial)i(k)o(eyw)o(ord)d Fw(:pipe)h FF(to)f(redirect)i(the) +151 1166 y(standard)15 b(output)g(to)f(a)h(pip)q(e.)106 +1259 y Fo(\017)22 b Fw(:error)14 b FF(p)q(ermits)h(to)f(redirect)h(the) +g(standard)f(error)f(\014le)j(of)e(the)h(pro)q(cess.)20 +b(Redirection)c(can)f(go)f(to)151 1316 y(a)g(\014le)h(or)f(to)g(a)f +(pip)q(e.)22 b(T)l(o)13 b(redirect)i(the)g(standard)e(error)h(to)g(a)f +(\014le,)i(the)g(name)f(of)g(this)g(\014le)i(m)o(ust)d(b)q(e)151 +1372 y(sp)q(eci\014ed)j(after)e Fw(:error)p FF(.)k(Use)d(the)f(sp)q +(ecial)i(k)o(eyw)o(ord)d Fw(:pipe)h FF(to)f(redirect)i(the)f(standard)g +(error)g(to)151 1428 y(a)h(pip)q(e.)106 1522 y Fo(\017)22 +b Fw(:wait)15 b FF(m)o(ust)f(b)q(e)i(follo)o(w)o(ed)f(b)o(y)g(a)g(b)q +(o)q(olean)h(v)m(alue.)21 b(This)16 b(v)m(alue)h(sp)q(eci\014es)f(if)g +(the)f(pro)q(cess)h(m)o(ust)e(b)q(e)151 1578 y(run)h(async)o(hronously) +f(or)g(not.)19 b(By)14 b(default,)g(the)h(pro)q(cess)f(is)h(run)f +(async)o(hronously)g(\(i.e.)20 b Fw(:wait)13 b FF(is)151 +1634 y Fw(#f)p FF(\).)106 1728 y Fo(\017)22 b Fw(:host)c +FF(m)o(ust)g(b)q(e)h(follo)o(w)o(ed)g(b)o(y)f(a)g(string.)30 +b(This)19 b(string)f(represen)o(ts)h(the)f(name)h(of)f(the)g(mac)o +(hine)151 1784 y(on)j(whic)o(h)g(the)g(command)g(m)o(ust)f(b)q(e)h +(executed.)38 b(This)21 b(option)g(uses)g(the)g(external)g(command)151 +1840 y Fw(rsh)p FF(.)26 b(The)18 b(shell)g(v)m(ariable)h +Fw(PATH)e FF(m)o(ust)g(b)q(e)h(correctly)f(set)g(for)g(accessing)h(it)g +(without)f(sp)q(ecifying)151 1897 y(its)f(ab)q(olute)f(path.)37 +1982 y(The)22 b(follo)o(wing)f(example)h(launc)o(hes)g(a)f(pro)q(cess)g +(whic)o(h)h(execute)g(the)f(Unix)h(command)f Fw(ls)g +FF(with)g(the)37 2032 y(argumen)o(ts)15 b Fw(-l)g FF(and)g +Fw(/bin)p FF(.)k(The)d(lines)h(prin)o(ted)f(b)o(y)f(this)g(command)g +(are)g(stored)g(in)h(the)f(\014le)i Fw(/tmp/X)125 2117 +y Fv(\(run-process)i("ls")i("-l")g("/bin")f(:output)h("/tmp/X")f(:wait) +h(#f\))37 2317 y Fw(\(process?)i FD(pr)n(o)n(c)n(ess)t +Fw(\))1236 b FF(pro)q(cedure)37 2398 y(Returns)16 b Fw(#t)f +FF(if)h FD(pr)n(o)n(c)n(ess)h FF(is)f(a)f(pro)q(cess,)g(otherwise)g +(returns)g Fw(#f)p FF(.)37 2512 y Fw(\(process-alive?)22 +b FD(pr)n(o)n(c)n(ess)t Fw(\))1093 b FF(pro)q(cedure)37 +2592 y(Returns)16 b Fw(#t)f FF(if)h FD(pr)n(o)n(c)n(ess)h +FF(if)f(the)f(pro)q(cess)h(is)f(curren)o(tly)h(running,)g(otherwise)f +(returns)h Fw(#f)p FF(.)37 2707 y Fw(\(process-pid)23 +b FD(pr)n(o)n(c)n(ess)t Fw(\))1164 b FF(pro)q(cedure)37 +2787 y(Returns)16 b(an)f(in)o(teger)h(v)m(alue)g(whic)o(h)g(represen)o +(ts)f(the)h(Unix)g(iden)o(ti\014cation)h(\(PID\))d(of)h +FD(pr)n(o)n(c)n(ess)r FF(.)p eop +%%Page: 50 50 +50 49 bop 37 45 a FE(50)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(process-input)22 b FD(pr)n(o)n(c)n(ess)t +Fw(\))1117 b FF(pro)q(cedure)37 247 y Fw(\(process-output)22 +b FD(pr)n(o)n(c)n(ess)t Fw(\))1093 b FF(pro)q(cedure)37 +303 y Fw(\(process-error)22 b FD(pr)n(o)n(c)n(ess)t Fw(\))1117 +b FF(pro)q(cedure)37 387 y(Returns)21 b(the)g(\014le)g(p)q(ort)f(asso)q +(ciated)h(to)e(the)i(standard)f(input,)i(output)e(or)g(error)g(of)f +FD(pr)n(o)n(c)n(ess)s FF(,)i(if)g(it)f(is)37 443 y(redirected)h(in)g +(\(or)e(to\))f(a)i(pip)q(e;)j(otherwise)d(returns)f Fw(#f)p +FF(.)33 b(Note)20 b(that)e(the)i(returned)g(p)q(ort)g(is)g(op)q(ened)37 +500 y(for)d(reading)h(when)f(calling)i Fw(process-output)c +FF(or)i Fw(process-error)p FF(;)f(it)h(is)h(op)q(ened)g(for)f(writing)g +(when)37 556 y(calling)g Fw(process-input)p FF(.)37 702 +y Fw(\(process-wait)23 b FD(pr)n(o)n(c)n(ess)t Fw(\))1140 +b FF(pro)q(cedure)37 786 y Fw(Process-wait)14 b FF(stops)h(the)h +(curren)o(t)f(pro)q(cess)h(un)o(til)h FD(pr)n(o)n(c)n(ess)h +FF(completion.)k Fw(Process-wait)14 b FF(returns)h Fw(#f)37 +843 y FF(when)h FD(pr)n(o)n(c)n(ess)i FF(is)d(already)h(terminated;)f +(it)g(returns)h Fw(#t)e FF(otherwise.)37 989 y Fw +(\(process-exit-status)22 b FD(pr)n(o)n(c)n(ess)t Fw(\))973 +b FF(pro)q(cedure)37 1072 y Fw(Process-exit-status)9 +b FF(returns)h(the)h(exit)h(status)e(of)g FD(pr)n(o)n(c)n(ess)j +FF(if)f(it)f(has)f(\014nished)j(its)e(execution;)i(returns)37 +1129 y Fw(#f)i FF(otherwise.)37 1275 y Fw(\(process-send-signal)22 +b FD(pr)n(o)n(c)n(ess)g(n)s Fw(\))926 b FF(pro)q(cedure)37 +1358 y(Send)16 b(the)e(signal)i(whose)e(in)o(teger)h(v)m(alue)g(is)g +FD(n)j FF(to)c FD(pr)n(o)n(c)n(ess)r FF(.)20 b(V)l(alue)15 +b(of)f FD(n)k FF(is)d(system)f(dep)q(endan)o(t.)20 b(Use)15 +b(the)37 1415 y(de\014ned)i(signal)f(constan)o(ts)e(to)g(mak)o(e)h(y)o +(our)g(program)e(indp)q(endan)o(t)k(of)e(the)g(running)h(system)f +(\(see)g(6.18\).)37 1471 y(The)h(result)g(of)e FD(pr)n(o)n(c)n +(ess-send-signal)j FF(is)f(unde\014ned.)37 1617 y Fw(\(process-kill)23 +b FD(pr)n(o)n(c)n(ess)t Fw(\))1140 b FF(pro)q(cedure)37 +1694 y Fw(Process-kill)16 b FF(brutally)h(kills)i FD(pr)n(o)n(c)n(ess)r +FF(.)25 b(The)17 b(result)g(of)f Fw(process-kill)f FF(is)j +(unde\014ned.)26 b(This)17 b(pro)q(ce-)37 1744 y(dure)f(is)g(equiv)m +(alen)o(t)h(to)125 1849 y Fv(\(process-send-si)o(gnal)h(process)j +(|SIGTERM|\))37 2093 y Fw(\(process-stop)i FD(pr)n(o)n(c)n(ess)t +Fw(\))1140 b FF(pro)q(cedure)37 2150 y Fw(\(process-continue)22 +b FD(pr)n(o)n(c)n(ess)t Fw(\))1045 b FF(pro)q(cedure)37 +2227 y(Those)13 b(pro)q(cedures)h(are)e(only)i(a)o(v)m(ailable)g(on)f +(systems)f(whic)o(h)i(supp)q(ort)f(job)f(con)o(trol.)19 +b FD(Pr)n(o)n(c)n(ess-stop)14 b FF(stops)37 2277 y(the)f(execution)g +(of)f FD(pr)n(o)n(c)n(ess)i FF(and)e FD(pr)n(o)n(c)n(ess-c)n(ontinue)i +FF(resumes)e(its)g(execution.)20 b(They)13 b(are)f(equiv)m(alen)o(t)h +(to)125 2382 y Fv(\(process-send-si)o(gnal)18 b(process)j(|SIGSTOP|\)) +125 2431 y(\(process-send-si)o(gnal)d(process)j(|SIGCONT|\))37 +2675 y Fw(\(process-list)o(\))1307 b FF(pro)q(cedure)37 +2759 y Fw(process-list)14 b FF(returns)h(the)g(list)h(of)f(pro)q +(cesses)h(whic)o(h)g(are)f(curren)o(tly)g(running)i(\(i.e.)j(aliv)o +(e\).)p eop +%%Page: 51 51 +51 50 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(51)p 37 64 1838 2 v 37 190 a FI(6.23)56 b(So)r(c)n(k)n(ets)37 +276 y FB(STk)16 b FF(de\014nes)h(so)q(c)o(k)o(ets,)e(on)h(systems)g +(whic)o(h)g(supp)q(ort)h(them,)e(as)h(\014rst)g(class)g(ob)s(jects.)22 +b(So)q(c)o(k)o(ets)15 b(p)q(ermits)37 333 y(pro)q(cesses)23 +b(to)f(comm)o(unicate)h(ev)o(en)f(if)h(they)f(are)g(on)h(di\013eren)o +(t)f(mac)o(hines.)42 b(So)q(c)o(k)o(ets)22 b(are)g(useful)i(for)37 +389 y(creating)16 b(clien)o(t-serv)o(er)g(applications.)37 +504 y Fw(\(make-client-socket)22 b FD(hostname)i(p)n(ort-numb)n(er)5 +b Fw(\))684 b FF(pro)q(cedure)37 584 y Fw(make-client-socket)11 +b FF(returns)j(a)f(new)h(so)q(c)o(k)o(et)f(ob)s(ject.)18 +b(This)c(so)q(c)o(k)o(et)f(establishes)i(a)e(link)i(b)q(et)o(w)o(een)f +(the)37 641 y(running)j(application)g(listening)g(on)e(p)q(ort)g +FD(p)n(ort-numb)n(er)20 b FF(of)15 b FD(hostname)s FF(.)37 +748 y Fw(\(socket?)23 b FD(so)n(cket)t Fw(\))1281 b FF(pro)q(cedure)37 +828 y(Returns)16 b Fw(#t)f FF(if)h FD(so)n(cket)j FF(is)c(a)g(so)q(c)o +(k)o(et,)f(otherwise)i(returns)f Fw(#f)p FF(.)37 935 +y Fw(\(socket-host-name)22 b FD(so)n(cket)t Fw(\))1066 +b FF(pro)q(cedure)37 1015 y(Returns)19 b(a)e(string)h(whic)o(h)h(con)o +(tains)f(the)g(name)g(of)f(the)h(distan)o(t)g(host)f(attac)o(hed)h(to)f +FD(so)n(cket)s FF(.)28 b(If)18 b FD(so)n(cket)37 1071 +y FF(has)g(b)q(een)g(created)g(with)f Fw(make-client-socket)e +FF(this)j(pro)q(cedure)h(returns)e(the)g(o\016cial)h(name)g(of)f(the)37 +1128 y(distan)o(t)f(mac)o(hine)h(used)g(for)f(connection.)24 +b(If)16 b FD(so)n(cket)k FF(has)c(b)q(een)h(created)f(with)h +Fw(make-server-socket)p FF(,)37 1184 y(this)g(function)g(returns)g(the) +f(o\016cial)h(name)g(of)e(the)i(clien)o(t)g(connected)h(to)d(the)i(so)q +(c)o(k)o(et.)23 b(If)16 b(no)g(clien)o(t)i(has)37 1241 +y(used)e(y)o(et)f(the)g(so)q(c)o(k)o(et,)g(this)g(function)h(returns)f +Fw(#f)p FF(.)37 1348 y Fw(\(socket-host-address)22 b +FD(so)n(cket)t Fw(\))994 b FF(pro)q(cedure)37 1428 y(Returns)12 +b(a)f(string)g(whic)o(h)h(con)o(tains)g(the)f(IP)g(n)o(um)o(b)q(er)h +(of)f(the)g(distan)o(t)g(host)g(attac)o(hed)f(to)h FD(so)n(cket)s +FF(.)19 b(If)11 b FD(so)n(cket)37 1484 y FF(has)21 b(b)q(een)g(created) +g(with)g Fw(make-client-socket)d FF(this)j(pro)q(cedure)g(returns)g +(the)f(IP)h(n)o(um)o(b)q(er)g(of)f(the)37 1541 y(distan)o(t)c(mac)o +(hine)h(used)g(for)f(connection.)24 b(If)16 b FD(so)n(cket)k +FF(has)c(b)q(een)h(created)f(with)h Fw(make-server-socket)p +FF(,)37 1597 y(this)g(function)g(returns)g(the)f(address)g(of)g(the)g +(clien)o(t)i(connected)f(to)f(the)g(so)q(c)o(k)o(et.)23 +b(If)16 b(no)h(clien)o(t)g(has)f(used)37 1654 y(y)o(et)f(the)h(so)q(c)o +(k)o(et,)e(this)h(function)h(returns)g Fw(#f)p FF(.)37 +1761 y Fw(\(socket-local-address)21 b FD(so)n(cket)t +Fw(\))971 b FF(pro)q(cedure)37 1841 y(Returns)16 b(a)f(string)g(whic)o +(h)h(con)o(tains)g(the)f(IP)g(n)o(um)o(b)q(er)h(of)f(the)g(lo)q(cal)h +(host)f(attac)o(hed)g(to)f FD(so)n(cket)t FF(.)37 1948 +y Fw(\(socket-port-number)22 b FD(so)n(cket)t Fw(\))1018 +b FF(pro)q(cedure)37 2028 y(Returns)16 b(the)g(in)o(teger)f(n)o(um)o(b) +q(er)g(of)g(the)g(p)q(ort)g(used)h(for)f FD(so)n(cket)s +FF(.)37 2135 y Fw(\(socket-input)23 b FD(so)n(cket)t +Fw(\))1161 b FF(pro)q(cedure)37 2192 y Fw(\(socket-output)22 +b FD(so)n(cket)t Fw(\))1138 b FF(pro)q(cedure)37 2272 +y(Returns)12 b(the)f(\014le)h(p)q(ort)e(asso)q(ciated)h(for)g(reading)g +(or)f(writing)i(with)f(the)g(program)f(connected)i(with)f +FD(so)n(cket)s FF(.)37 2328 y(If)16 b(no)f(connection)h(has)f(already)h +(b)q(een)g(established,)h(these)e(functions)h(return)f +Fw(#f)p FF(.)37 2378 y(The)j(follo)o(wing)f(example)h(sho)o(ws)e(ho)o +(w)g(to)g(mak)o(e)h(a)f(clien)o(t)i(so)q(c)o(k)o(et.)25 +b(Here)17 b(w)o(e)f(create)h(a)f(so)q(c)o(k)o(et)h(on)f(p)q(ort)37 +2428 y(13)f(of)g(the)g(mac)o(hine)h(\\)p Fw(kaolin.unice.fr)p +FF(")812 2412 y FA(10)847 2428 y FF(:)125 2507 y Fv(\(let)21 +b(\(\(s)g(\(make-client-soc)o(ket)e("kaolin.unice.fr)o(")g(13\)\)\))168 +2557 y(\(format)i(#t)43 b("Time)21 b(is:)g(~A\\n")f(\(read-line)g +(\(socket-input)f(s\)\)\))168 2607 y(\(socket-shutdown)41 +b(s\)\))p 37 2699 735 2 v 74 2726 a Ft(10)107 2742 y +Fs(P)o(ort)12 b(13)h(is)g(generally)i(used)e(for)f(testing:)18 +b(making)c(a)f(connection)h(to)f(it)g(p)q(ermits)g(to)g(kno)o(w)g(the)f +(distan)o(t)i(system's)f(idea)37 2787 y(of)g(the)g(time)h(of)f(da)o(y)m +(.)p eop +%%Page: 52 52 +52 51 bop 37 45 a FE(52)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(make-server-socket)n(\))1164 +b FF(pro)q(cedure)37 247 y Fw(\(make-server-socket)22 +b FD(p)n(ort-numb)n(er)5 b Fw(\))895 b FF(pro)q(cedure)37 +327 y Fw(make-server-socket)15 b FF(returns)h(a)g(new)h(so)q(c)o(k)o +(et)f(ob)s(ject.)23 b(If)17 b FD(p)n(ort-numb)n(er)22 +b FF(is)17 b(sp)q(eci\014ed,)i(the)d(so)q(c)o(k)o(et)g(is)37 +383 y(listening)i(on)d(the)g(sp)q(eci\014ed)i(p)q(ort;)e(otherwise,)g +(the)g(comm)o(unication)h(p)q(ort)f(is)h(c)o(hosen)f(b)o(y)g(the)g +(system.)37 491 y Fw(\(socket-accept-connection)21 b +FD(so)n(cket)t Fw(\))875 b FF(pro)q(cedure)37 571 y Fw +(socket-accept-connection)16 b FF(w)o(aits)h(for)h(a)g(clien)o(t)i +(connection)f(on)g(the)f(giv)o(en)h FD(so)n(cket)s FF(.)30 +b(If)18 b(no)h(clien)o(t)37 628 y(is)e(already)g(w)o(aiting)g(for)e(a)i +(connection,)g(this)g(pro)q(cedure)g(blo)q(c)o(ks)g(its)g(caller;)h +(otherwise,)e(the)h(\014rst)f(con-)37 684 y(nection)22 +b(request)f(on)g(the)g(queue)g(of)g(p)q(ending)h(connections)g(is)g +(connected)f(to)g FD(so)n(cket)s FF(.)37 b(This)21 b(pro)q(ce-)37 +740 y(dure)g(m)o(ust)f(b)q(e)i(called)g(on)e(a)g(serv)o(er)g(so)q(c)o +(k)o(et)g(created)h(with)g Fw(make-server-socket)p FF(.)33 +b(The)20 b(result)h(of)37 797 y Fw(socket-accept-connection)12 +b FF(is)k(unde\014ned.)37 847 y(The)j(follo)o(wing)h(example)f(is)h(a)e +(simple)i(serv)o(er)e(whic)o(h)i(w)o(aits)e(for)g(a)h(connection)g(on)g +(the)g(p)q(ort)f(1234)1826 830 y FA(11)1862 847 y FF(.)37 +897 y(Once)d(the)e(connection)h(with)g(the)f(distan)o(t)g(program)f(is) +i(established,)h(w)o(e)e(read)g(a)g(line)i(on)e(the)g(input)h(p)q(ort) +37 946 y(asso)q(ciated)i(to)e(the)i(so)q(c)o(k)o(et)e(and)i(w)o(e)f +(write)g(the)g(length)h(of)f(this)h(line)g(on)g(its)f(output)g(p)q +(ort.)125 1026 y Fv(\(let)21 b(\(\(s)g(\(make-server-soc)o(ket)e +(1234\)\)\))168 1076 y(\(socket-accept-conn)o(ecti)o(on)g(s\))168 +1125 y(\(let)i(\(\(l)g(\(read-line)f(\(socket-input)f(s\)\)\)\))212 +1175 y(\(format)h(\(socket-output)f(s\))i("Length)g(is:)g(~A\\n")g +(\(string-length)e(l\)\))212 1225 y(\(flush)h(\(socket-output)f +(s\)\)\))168 1275 y(\(socket-shutdown)g(s\)\))37 1462 +y Fw(\(socket-shutdown)j FD(so)n(cket)t Fw(\))1090 b +FF(pro)q(cedure)37 1518 y Fw(\(socket-shutdown)22 b FD(so)n(cket)h +(close)s Fw(\))972 b FF(pro)q(cedure)37 1598 y Fw(Socket-shutdown)12 +b FF(sh)o(utdo)o(wns)h(the)h(connection)h(asso)q(ciated)e(to)g +FD(so)n(cket)t FF(.)19 b FD(Close)d FF(is)e(a)f(b)q(o)q(olean;)i(it)f +(indi-)37 1655 y(cates)f(if)f(the)h(so)q(c)o(k)o(et)e(m)o(ust)h(b)q(e)h +(closed)g(or)f(not,)g(when)h(the)g(connection)g(is)g(destro)o(y)o(ed.) +18 b(Closing)13 b(the)g(so)q(c)o(k)o(et)37 1711 y(forbids)f(further)e +(connections)i(on)f(the)f(same)h(p)q(ort)f(with)h(the)g +Fw(socket-accept-connection)c FF(pro)q(cedure.)37 1768 +y(Omitting)19 b(a)e(v)m(alue)i(for)e FD(close)j FF(implies)g(the)e +(closing)g(of)f(so)q(c)o(k)o(et.)27 b(The)18 b(result)g(of)f +Fw(socket-shutdown)e FF(is)37 1824 y(unde\014ned.)37 +1874 y(The)k(follo)o(wing)g(example)g(sho)o(ws)f(a)g(simple)h(serv)o +(er:)26 b(when)19 b(there)f(is)h(a)f(new)g(connection)i(on)e(the)g(p)q +(ort)37 1924 y(n)o(um)o(b)q(er)d(1234,)d(the)i(serv)o(er)g(displa)o(ys) +h(the)e(\014rst)h(line)h(sen)o(t)f(to)f(it)h(b)o(y)g(the)g(clien)o(t,)h +(discards)f(the)g(others)g(and)37 1974 y(go)h(bac)o(k)g(w)o(aiting)h +(for)e(further)h(clien)o(t)i(connections.)125 2053 y +Fv(\(let)k(\(\(s)g(\(make-server-soc)o(ket)e(1234\)\)\))168 +2103 y(\(let)i(loop)g(\(\))212 2153 y(\(socket-accept-co)o(nnec)o(tion) +d(s\))212 2202 y(\(format)i(#t)i("I've)e(read:)h(~A\\n")g(\(read-line)f +(\(socket-input)f(s\)\)\))212 2252 y(\(socket-shutdown)f(s)k(#f\))212 +2302 y(\(loop\)\)\))37 2489 y Fw(\(socket-down?)h FD(so)n(cket)t +Fw(\))1161 b FF(pro)q(cedure)37 2569 y(Returns)16 b Fw(#t)f +FF(if)h FD(so)n(cket)j FF(has)c(b)q(een)h(previously)h(closed)f(with)g +Fw(socket-shutdown)p FF(.)i(It)d(returns)g Fw(#f)g FF(other-)37 +2626 y(wise.)p 37 2653 735 2 v 74 2680 a Ft(11)107 2696 +y Fs(Under)k(Unix,)h(y)o(ou)f(can)h(simply)g(connect)g(to)e(listening)k +(so)q(c)o(k)o(et)d(with)g(the)g Fq(telnet)d Fs(command.)35 +b(With)20 b(the)f(giv)o(en)37 2742 y(example,)c(this)e(can)h(b)q(e)f +(ac)o(hiev)o(ed)i(b)o(y)e(t)o(yping)i(the)e(follo)o(wing)i(command)f +(in)g(a)f(windo)o(w)g(shell:)37 2787 y Fq($)20 b(telnet)d(localhost)f +(1234)p eop +%%Page: 53 53 +53 52 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(53)p 37 64 1838 2 v 37 190 a Fw(\(socket-dup)23 b FD(so)n(cket)t +Fw(\))1209 b FF(pro)q(cedure)37 264 y(Returns)21 b(a)f(cop)o(y)g(of)f +FD(so)n(cket)t FF(.)34 b(The)21 b(original)g(and)f(the)g(cop)o(y)g(so)q +(c)o(k)o(et)g(can)g(b)q(e)h(used)f(in)o(terc)o(hangeably)l(.)37 +314 y(Ho)o(w)o(ev)o(er,)g(if)g(a)f(new)h(connection)g(is)g(accepted)g +(on)g(one)f(so)q(c)o(k)o(et,)h(the)f(c)o(haracters)g(exc)o(hanged)h(on) +g(this)37 363 y(so)q(c)o(k)o(et)15 b(are)h(not)f(visible)j(on)d(the)h +(other)f(so)q(c)o(k)o(et.)20 b(Duplicating)d(a)e(so)q(c)o(k)o(et)g(is)h +(useful)h(when)f(a)f(serv)o(er)h(m)o(ust)37 413 y(accept)j(m)o(ultiple) +g(sim)o(ultaneous)g(connections.)28 b(The)18 b(follo)o(wing)h(example)g +(creates)e(a)h(serv)o(er)f(listening)37 463 y(on)g(p)q(ort)g(1234.)24 +b(This)17 b(serv)o(er)g(is)g(duplicated)i(and,)e(once)h(t)o(w)o(o)d +(clien)o(ts)j(are)f(presen)o(t,)g(a)f(message)h(is)g(sen)o(t)37 +513 y(on)f(b)q(oth)f(connections.)125 599 y Fv(\(define)20 +b(s1)h(\(make-server-socket)d(1234\)\))125 649 y(\(define)i(s2)h +(\(socket-dup)f(s1\)\))125 699 y(\(socket-accept-c)o(onnec)o(tion)e +(s1\))125 749 y(\(socket-accept-c)o(onnec)o(tion)g(s2\))125 +798 y(;;)j(blocks)g(until)f(two)i(clients)e(are)h(present)125 +848 y(\(display)f("Hello,\\n")g(\(socket-output)e(s1\)\))125 +898 y(\(display)i("world\\n")42 b(\(socket-output)18 +b(s2\)\))125 948 y(\(flush)i(\(socket-output)f(s1\)\))125 +998 y(\(flush)h(\(socket-output)f(s2\)\))37 1200 y Fw +(\(when-socket-ready)j FD(so)n(cket)h(hand)r(ler)5 b +Fw(\))869 b FF(pro)q(cedure)37 1256 y Fw(\(when-socket-ready)22 +b FD(so)n(cket)t Fw(\))1042 b FF(pro)q(cedure)37 1336 +y(De\014nes)19 b(a)f(handler)h(for)e FD(so)n(cket)t FF(.)28 +b(The)18 b(handler)h(is)g(a)e(th)o(unk)h(whic)o(h)h(is)g(executed)g +(when)f(a)g(connection)37 1393 y(is)j(a)o(v)m(ailable)g(on)f +FD(so)n(cket)t FF(.)33 b(If)20 b(the)g(sp)q(ecial)i(v)m(alue)f +Fw(#f)e FF(is)i(pro)o(vided)f(as)g FD(hand)r(ler)5 b +FF(,)20 b(the)g(curren)o(t)g(handler)37 1449 y(for)d +FD(so)n(cket)j FF(is)d(deleted.)25 b(If)17 b(a)g(handler)g(is)h(pro)o +(vided,)f(the)g(v)m(alue)h(returned)f(b)o(y)f Fw(when-socket-ready)e +FF(is)37 1506 y(unde\014ned.)22 b(Otherwise,)16 b(it)f(returns)g(the)h +(handler)g(curren)o(tly)g(asso)q(ciated)f(to)g FD(so)n(cket)s +FF(.)37 1555 y(This)22 b(pro)q(cedure,)i(in)e(conjunction)g(with)g +Fw(socket-dup)e FF(p)q(ermits)i(to)f(build)i(m)o(ultiple-clie)q(n)o(ts) +g(serv)o(ers)37 1605 y(whic)o(h)17 b(w)o(ork)d(async)o(hronously)l(.)20 +b(Suc)o(h)c(a)f(serv)o(er)g(is)g(sho)o(wn)g(b)q(elo)o(w.)125 +1691 y Fv(\(define)20 b(p)i(\(make-server-so)o(cket)c(1234\)\))125 +1741 y(\(when-socket-rea)o(dy)h(p)517 1791 y(\(let)i(\(\(count)f(0\)\)) +561 1841 y(\(lambda)g(\(\))604 1891 y(\(set!)h(count)g(\(+)g(count)g +(1\)\))604 1941 y(\(register-connecti)o(on)e(\(socket-dup)g(p\))j +(count\)\)\)\))125 2040 y(\(define)e(register-connecti)o(on)168 +2090 y(\(let)h(\(\(sockets)f('\(\)\)\))212 2140 y(\(lambda)g(\(s)i +(cnt\))255 2190 y(;;)g(Accept)e(connection)255 2239 y +(\(socket-accept-conn)o(ectio)o(n)f(s\))255 2289 y(;;)j(Save)f(socket)f +(somewhere)g(to)i(avoid)e(GC)i(problems)255 2339 y(\(set!)f(sockets)g +(\(cons)f(s)i(sockets\)\))255 2389 y(;;)g(Create)e(a)i(handler)e(for)h +(reading)g(inputs)f(from)h(this)g(new)g(connection)255 +2439 y(\(let)g(\(\(in)43 b(\(socket-input)19 b(s\)\))386 +2488 y(\(out)i(\(socket-output)e(s\)\)\))299 2538 y(\(when-port-readab) +o(le)g(in)408 2588 y(\(lambda)h(\(\))452 2638 y(\(let)h(\(\(l)g +(\(read-line)e(in\)\)\))495 2688 y(\(if)i(\(eof-object?)f(l\))582 +2738 y(;;)i(delete)e(current)h(handler)582 2787 y(\(when-port-readable) +d(in)k(#f\))p eop %%Page: 54 54 -54 53 bop 75 47 a FC(54)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 169 754 a @beginspecial 37 @llx 367 @lly +54 53 bop 37 45 a FE(54)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 114 146 1685 2 v 113 259 2 113 v 139 186 +a(Name)p 517 259 V 270 w(Corresp)q(onding)g(C)g(t)o(yp)q(e)p +1157 259 V 131 w(Corresp)q(onding)83 b(Sc)o(heme)1183 +242 y(T)o(yp)q(e)p 1798 259 V 114 261 1685 2 v 114 269 +V 113 326 2 57 v 139 309 a Fw(:void)p 517 326 V 284 w(void)p +1157 326 V 544 w FD(None)p 1798 326 V 114 327 1685 2 +v 113 440 2 113 v 139 367 a Fw(:char)p 517 440 V 284 +w(char)p 1157 440 V 544 w FF(Sc)o(heme)25 b(c)o(haracter)e(or)g(Sc)o +(heme)1183 423 y(in)o(teger)p 1798 440 V 114 442 1685 +2 v 113 498 2 57 v 139 482 a Fw(:short)p 517 498 V 260 +w(short)g(int)p 1157 498 V 425 w FF(Sc)o(heme)16 b(in)o(teger)p +1798 498 V 114 500 1685 2 v 113 557 2 57 v 139 540 a +Fw(:ushort)p 517 557 V 236 w(unsigned)23 b(short)g(int)p +1157 557 V 210 w FF(Sc)o(heme)16 b(in)o(teger)p 1798 +557 V 114 558 1685 2 v 113 615 2 57 v 139 598 a Fw(:int)p +517 615 V 308 w(int)p 1157 615 V 568 w FF(Sc)o(heme)g(in)o(teger)p +1798 615 V 114 616 1685 2 v 113 673 2 57 v 139 656 a +Fw(:uint)p 517 673 V 284 w(unsigned)23 b(integer)p 1157 +673 V 257 w FF(Sc)o(heme)16 b(in)o(teger)p 1798 673 V +114 674 1685 2 v 113 731 2 57 v 139 714 a Fw(:long)p +517 731 V 284 w(long)23 b(integer)p 1157 731 V 353 w +FF(Sc)o(heme)16 b(in)o(teger)p 1798 731 V 114 733 1685 +2 v 113 789 2 57 v 139 772 a Fw(:ulong)p 517 789 V 260 +w(unsigned)23 b(long)g(integer)p 1157 789 V 138 w FF(Sc)o(heme)16 +b(in)o(teger)p 1798 789 V 114 791 1685 2 v 113 847 2 +57 v 139 830 a Fw(:float)p 517 847 V 260 w(float)p 1157 +847 V 520 w FF(Sc)o(heme)g(Real)p 1798 847 V 114 849 +1685 2 v 113 905 2 57 v 139 888 a Fw(:double)p 517 905 +V 236 w(double)p 1157 905 V 496 w FF(Sc)o(heme)g(Real)p +1798 905 V 114 907 1685 2 v 113 1020 2 113 v 139 946 +a Fw(:static-ptr)p 517 1020 V 140 w FF(p)q(oin)o(ter)g(on)f(a)g(static) +g(area)p 1157 1020 V 174 w(Sc)o(heme)31 b(C-p)q(oin)o(ter)g(ob)s(ject)e +(or)1183 1003 y(Sc)o(heme)16 b(String)p 1798 1020 V 114 +1021 1685 2 v 113 1134 2 113 v 139 1061 a Fw(:dynamic-ptr)24 +b FD(or)139 1117 y Fw(\(:void)f(*\))p 517 1134 V 543 +1061 a FF(p)q(oin)o(ter)32 b(on)g(a)f(dynamic)i(area)543 +1117 y(\()p Fw(malloc)p FF(ated\))p 1157 1134 V 1183 +1061 a(Sc)o(heme)e(C-p)q(oin)o(ter)g(ob)s(ject)e(or)1183 +1117 y(Sc)o(heme)16 b(String)p 1798 1134 V 114 1136 1685 +2 v 113 1249 2 113 v 139 1176 a Fw(:string)144 b FD(or)139 +1232 y Fw(\(:char)23 b(*\))p 517 1249 V 543 1176 a(char)g(*)12 +b FF(\(p)q(oin)o(ter)h(on)f(a)g(dynamic)543 1232 y(string\))p +1157 1249 V 1183 1176 a(Sc)o(heme)31 b(C-p)q(oin)o(ter)g(ob)s(ject)e +(or)1183 1232 y(Sc)o(heme)16 b(String)p 1798 1249 V 114 +1251 1685 2 v 113 1307 2 57 v 139 1290 a Fw(:boolean)p +517 1307 V 212 w(int)p 1157 1307 V 568 w FF(Sc)o(heme)g(b)q(o)q(olean)p +1798 1307 V 114 1309 1685 2 v 658 1386 a(T)l(able)g(4:)k(FFI)15 +b(prede\014ned)h(t)o(yp)q(es)582 1581 y Fv(;;)22 b(Just)f(write)f(the)i +(line)f(read)g(on)g(the)g(socket)582 1631 y(\(begin)626 +1681 y(\(format)f(out)h("On)h(#~A)f(-->)g(~A\\n")g(cnt)g(l\))626 +1730 y(\(flush)f(out\)\)\)\)\)\)\)\)\)\))37 1991 y FI(6.24)56 +b(F)-5 b(oreign)19 b(F)-5 b(unction)19 b(In)n(terface)37 +2084 y FF(The)c FB(STk)e FF(F)l(oreign)i(F)l(unction)f(In)o(terface)h +(\(FFI)e(for)g(short\))h(has)g(b)q(een)h(de\014ned)g(to)f(allo)o(w)g +(an)g(easy)g(access)37 2141 y(to)k(functions)i(written)e(in)h(C)g +(without)f(needing)i(to)e(build)i(C-wrapp)q(ers)f(and,)g(consequen)o +(tly)l(,)h(without)37 2197 y(an)o(y)d(need)h(to)f(write)g(C)g(co)q(de.) +26 b(Note)17 b(that)f(the)h(FFI)g(is)h(v)o(ery)e(mac)o(hine)i(dep)q +(enden)o(t)h(and)e(that)g(it)g(w)o(orks)37 2254 y(only)h(on)e(a)g +(limited)i(set)f(of)f(arc)o(hitectures)777 2237 y FA(12)814 +2254 y FF(.)24 b(Moreo)o(v)o(er,)15 b(since)j(FFI)e(allo)o(ws)h(v)o +(ery)f(lo)o(w)g(lev)o(el)i(access,)f(it)37 2310 y(is)f(easy)f(to)g +(crash)g(the)g(in)o(terpreter)h(when)f(using)h(an)f(external)h(C)f +(function.)37 2371 y(The)h(de\014nition)i(of)d(an)g(external)h +(function)h(is)f(done)g(with)f(the)h(syn)o(tax)f Fw(define-external)p +FF(.)k(This)d(form)37 2427 y(tak)o(es)e(as)g(argumen)o(ts)g(a)g(t)o(yp) +q(ed)g(list)i(of)e(parameters)f(and)i(accepts)f(sev)o(eral)h(options)f +(to)g(de\014ne)h(the)g(name)37 2483 y(of)i(the)g(function)h(in)g(the)f +(C)g(w)o(orld,)g(the)g(library)h(whic)o(h)g(de\014nes)g(this)g +(function,)f(.)8 b(.)f(.)33 b(The)17 b(t)o(yp)q(e)g(of)g(the)37 +2540 y(function)j(result)g(and)f(the)g(t)o(yp)q(es)g(of)g(its)g +(argumen)o(ts)f(are)h(de\014ned)h(in)g(T)l(able)g(4.)31 +b(This)20 b(table)f(lists)h(the)37 2596 y(v)m(arious)f(k)o(eyw)o(ords)f +(reserv)o(ed)g(for)g(denoting)h(t)o(yp)q(es)f(and)h(their)f(equiv)m +(alence)j(b)q(et)o(w)o(een)e(the)f(C)g(and)h(the)37 2653 +y(Sc)o(heme)d(w)o(orlds.)p 37 2699 735 2 v 74 2726 a +Ft(12)107 2742 y Fs(In)f(release)h(3.99,)f(FFI)g(is)h(kno)o(wn)g(to)f +(w)o(ork)g(on)g(the)h(follo)o(wing)h(arc)o(hitectures)g(:)k(ix86)16 +b(\(but)g(not)f(y)o(et)g(MS)h(Windo)o(ws\),)37 2787 y(Sun)e(Sparc,)g +(HP)e(9000,)i(SGI.)p eop +%%Page: 55 55 +55 54 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(55)p 37 64 1838 2 v 37 190 a Fw(\(define-external)22 +b Fo(h)p FF(name)p Fo(i)h(h)p FF(parameters)p Fo(i)g(h)p +FF(options)p Fo(i)o Fw(\))654 b FF(syn)o(tax)37 271 y(The)11 +b(form)f Fw(define-external)f FF(binds)i(a)g(new)f(pro)q(cedure)i(to)e +Fo(h)p FF(name)p Fo(i)o FF(.)18 b(The)11 b(arit)o(y)f(of)g(this)h(new)g +(pro)q(cedure)37 327 y(is)19 b(de\014ned)h(b)o(y)e(the)g(t)o(yp)q(ed)g +(list)h(of)f(parameters)f(giv)o(en)i(b)o(y)f Fo(h)p FF(parameters)p +Fo(i)n FF(.)29 b(This)18 b(parameters)g(list)h(is)f(a)37 +383 y(list)h(of)d(couples)j(whose)e(\014rst)g(elemen)o(t)h(is)g(the)f +(name)h(of)e(the)i(parameter,)f(and)g(the)g(second)h(one)g(is)f(is)h(a) +37 440 y(k)o(eyw)o(ord)g(represen)o(ting)g(its)g(t)o(yp)q(e)g(\(see)g +(table)g(for)g(equiv)m(alence\).)30 b(All)19 b(the)f(t)o(yp)q(es)g +(de\014ned)h(in)g(T)l(able)g(4,)37 496 y(except)14 b +Fw(:void)p FF(,)e(are)h(allo)o(w)o(ed)g(for)f(the)h(parameters)f(of)h +(a)f(foreign)h(function.)20 b Fw(Define-external)11 b +FF(accepts)37 553 y(sev)o(eral)16 b(options:)106 637 +y Fo(\017)22 b Fw(:return-type)14 b FF(is)i(used)g(to)f(de\014ne)i(the) +f(t)o(yp)q(e)g(of)f(the)h(v)m(alue)g(returned)g(b)o(y)g(the)g(foreign)f +(function.)151 687 y(The)g(t)o(yp)q(e)f(returned)h(m)o(ust)f(b)q(e)h(c) +o(hosen)g(in)h(the)e(t)o(yp)q(es)h(sp)q(eci\014ed)h(in)g(the)e(table.) +20 b(F)l(or)14 b(instance:)325 789 y Fv(\(define-external)19 +b(maximum\(\(a)h(:int\))g(\(b)i(:int\)\))369 838 y(:return-type)d +(:int\))151 997 y FF(de\014nes)14 b(the)e(foreign)h(function)g(maxim)o +(um)f(whic)o(h)h(tak)o(es)f(t)o(w)o(o)f(C)h(in)o(tegers)h(and)f +(returns)g(an)h(in)o(teger)151 1053 y(result.)24 b(Omitting)18 +b(this)f(option)f(default)h(to)f(a)h(result)g(t)o(yp)q(e)f(equal)h(to)f +Fw(:void)g FF(\(i.e.)24 b(the)17 b(returned)151 1110 +y(v)m(alue)g(is)e FD(unde\014ne)n(d)5 b FF(\).)106 1196 +y Fo(\017)22 b Fw(:entry-name)13 b FF(is)i(used)h(to)e(sp)q(ecify)i +(the)e(name)h(of)f(the)h(foreign)g(function)g(in)h(the)f(C)f(w)o(orld.) +20 b(If)15 b(this)151 1245 y(option)h(is)f(omitted,)g(the)g(en)o +(try-name)g(is)h(supp)q(osed)g(to)f(b)q(e)h Fo(h)p FF(name)p +Fo(i)o FF(.)k(F)l(or)15 b(instance:)325 1347 y Fv(\(define-external)k +(minimum\(\(a)h(:int\))g(\(b)i(:int\)\))369 1397 y(:return-type)d(:int) +369 1447 y(:entry-name)41 b("min"\))151 1606 y FF(de\014nes)17 +b(the)f(Sc)o(heme)g(function)h Fw(minimum)d FF(whose)i(application)h +(executes)g(the)e(C)h(function)g(called)151 1662 y Fw(min)p +FF(.)106 1748 y Fo(\017)22 b Fw(:library-name)c FF(is)h(used)h(to)f(sp) +q(ecify)i(the)e(library)h(whic)o(h)g(con)o(tains)g(the)f +(foreign-function.)34 b(If)151 1798 y(necessary)l(,)15 +b(the)h(library)g(is)f(loaded)h(b)q(efore)g(calling)h(the)e(C)g +(function.)21 b(So,)325 1900 y Fv(\(define-external)e(minimum\(\(a)h +(:int\))g(\(b)i(:int\)\))369 1950 y(:return-type)41 b(:int)369 +1999 y(:entry-name)63 b("min")369 2049 y(:library-name)19 +b("libminmax"\))151 2208 y FF(de\014nes)11 b(a)f(function)h(whic)o(h)g +(will)h(execute)f(the)f(function)h Fw(min)f FF(lo)q(cated)g(in)h(the)g +(library)g Fw(libminmax.xx)151 2264 y FF(\(where)k Fw(xx)g +FF(is)h(the)f(su\016x)g(used)h(for)e(shared)h(libraries)i(on)e(the)g +(running)h(system)f(\(generally)i Fw(so)d FF(or)151 2321 +y Fw(sl)p FF(\).)37 2405 y(Hereafter,)h(there)g(are)g(some)g(commen)o +(ted)g(de\014nitions)i(of)e(external)g(functions:)168 +2488 y Fv(\(define-external)k(isatty)h(\(\(fd)h(:int\)\))234 +2538 y(:return-type)e(:boolean\))168 2638 y(\(define-external)g(system) +h(\(\(cmd)h(\(:char)g(*\)\)\))g Fi(;;)g(or)g(\(\(cmd)g(:string\)\))234 +2688 y Fv(:return-type)e(:int\))168 2787 y(\(define-external)g(malloc)h +(\(\(size)h(:ulong\)\))p eop +%%Page: 56 56 +56 55 bop 37 45 a FE(56)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 234 190 a Fv(:return-type)i(\(void)i(*\)\))168 +290 y(\(define-external)e(free)i(\()g(\(p)h(\(:void)e(*\))i(\)\))f(\)) +37 433 y FF(All)c(these)f(functions)g(are)f(de\014ned)h(in)h(the)e(C)g +(standard)g(library)l(,)h(hence)g(it)g(is)g(not)e(necessary)i(to)f(sp)q +(ecify)37 489 y(the)h Fw(:library-name)d FF(option.)106 +582 y Fo(\017)22 b Fw(istty)16 b FF(is)i(declared)g(here)f(as)g(a)f +(function)i(whic)o(h)g(tak)o(es)e(an)h(in)o(teger)g(and)g(returns)g(a)g +(b)q(o)q(olean)g(\(in)151 638 y(fact,)c(the)h(v)m(alue)g(returned)g(b)o +(y)f(the)h(C)f(function)h Fw(isatty)f FF(is)h(an)f Fw(int)p +FF(,)g(but)h(w)o(e)f(ask)g(here)h(to)f(the)g(FFI)151 +695 y(system)i(to)f(translate)h(this)h(result)g(as)e(a)h(b)q(o)q(olean) +h(v)m(alue)h(in)f(the)f(Sc)o(heme)h(w)o(orld\).)106 788 +y Fo(\017)22 b Fw(system)15 b FF(is)h(a)g(function)h(whic)o(h)f(tak)o +(es)f(a)h(string)g(as)f(parameter)g(and)h(returns)g(an)g +Fw(int)p FF(.)21 b(Note)16 b(that)151 844 y(the)f(t)o(yp)q(e)f(of)g +(the)h(parameter,)e(can)i(b)q(e)g(sp)q(eci\014ed)i(as)d(a)g +Fw(\(:char)23 b(*\))14 b FF(or)g Fw(:string)p FF(,)g(as)g(indicated)i +(in)151 901 y(T)l(able)g(4.)106 994 y Fo(\017)22 b Fw(malloc)d +FF(is)i(a)e(function)i(whic)o(h)g(tak)o(es)e(one)h(parameter)f(\(an)g +Fw(unsigned)k(long)h(int)19 b FF(and)h(whic)o(h)151 1051 +y(returns)12 b(a)f Fw(\(:void)23 b(*\))11 b FF(\(or)g +Fw(:dynamic-ptr)p FF(\).)16 b(Sp)q(ecifying)e(that)d(the)h(result)g(is) +g(a)f(dynamic)h(p)q(oin)o(ter)151 1107 y(\(instead)19 +b(of)g(a)g(static)f(one\))h(means)g(that)f(w)o(e)h(w)o(an)o(t)f(that)g +(the)h(Garbage)f(Collector)39 b(tak)o(es)18 b(in)o(to)151 +1163 y(accoun)o(t)d(the)f(area)g(allo)q(cated)i(b)o(y)f(the)f(C)h +(function)g Fw(malloc)f FF(\(i.e.)20 b(if)15 b(this)g(area)f(b)q +(ecomes)i(no)e(more)151 1220 y(accessible,)j(the)e(GC)g(disp)q(oses)h +(it)f(with)h(the)f Fw(free)g FF(function)1207 1203 y +FA(13)1245 1220 y FF(.)106 1313 y Fo(\017)22 b Fw(free)c +FF(is)i(a)e(function)i(whic)o(h)g(tak)o(es)e(a)g(dynamic)i(p)q(oin)o +(ter)g(and)f(deallo)q(cates)h(the)f(area)f(it)h(p)q(oin)o(ts.)151 +1370 y(Since)14 b(the)e(de\014nition)h(of)f(this)g(function)h(sp)q +(eci\014es)h(no)e(result)g(t)o(yp)q(e,)g(it)g(is)h(supp)q(osed)g(to)e +(b)q(e)i Fw(:void)1826 1353 y FA(14)1862 1370 y FF(.)37 +1456 y(External)22 b(functions)g(can)g(also)f(ha)o(v)o(e)g(a)g(v)m +(ariable)i(n)o(um)o(b)q(er)e(of)g(parameters)g(b)o(y)g(using)h(the)f +(standard)37 1506 y(Sc)o(heme)16 b FD(dot)k FF(notation.)g(F)l(or)14 +b(instance,)125 1592 y Fv(\(define-external)k(printf)j(\(\(format)f +(:string\))g(.)i(l\))168 1641 y(:return-type)41 b(:int\))37 +1777 y FF(de\014nes)21 b(a)e(Sc)o(heme)h(function)g(with)g(one)f(or)g +(more)g(parameters)g(\(the)g(\014rst)g(one)g(b)q(eing)i(a)e(string\).) +32 b(Of)37 1827 y(course,)15 b(the)g(parameters)f(whic)o(h)i +(constitute)f(the)g(v)m(ariable)i(parameters)d(list)i(m)o(ust)e(ha)o(v) +o(e)g(a)h(t)o(yp)q(e)g(whic)o(h)37 1877 y(app)q(ears)h(in)g(the)f +(third)h(column)g(of)f(T)l(able)h(4.)j(Some)d(examples)f(using)h(the)g +Fw(printf)e FF(function:)168 1963 y Fv(\(printf)21 b("This)f(is)i(a)f +(\045s)h(test")e("good"\))343 2062 y Fu(=)-7 b Fp(\))21 +b Fi(displays)71 b Fv(This)21 b(is)h(a)f(good)g(test)168 +2112 y(\(printf)g("char:)f('\045c')h(Dec:)g('\04504d')g(Hex)g +('\04504x'")f(#\\space)g(100)i(100\))343 2212 y Fu(=)-7 +b Fp(\))21 b Fi(displays)71 b Fv(char:)21 b(')h(')f(Dec:)g('0100')g +(Hex)g('0064')37 2354 y Fn(Note:)50 b Fu(The)17 b(t)o(yp)q(es)h +Fv(:dynamic-ptr)p Fu(,)d Fv(:static-ptr)g Fu(and)i Fv(:string)e +Fu(are)j(compatible)d(when)j(used)g(for)f(foreign)37 +2411 y(function)f(parameter.)22 b(This)15 b(giv)o(es)g(a)h(seman)o(tic) +e(whic)o(h)h(is)h(similar)d(to)i(the)h(one)g(of)e(C,)h(where)i +Fv(void)k(*)15 b Fu(is)g(a)g(com-)37 2467 y(patible)g(with)g(all)e +(other)j(p)q(oin)o(ter)f(t)o(yp)q(es.)22 b(Ho)o(w)o(ev)o(er,)15 +b(di\013erenciating)g(those)h(t)o(yp)q(es)g(is)f(useful)g(for)f(con)o +(v)o(erting)h(the)37 2524 y(function)f(return)h(v)n(alue)e(to)h(a)g +(prop)q(er)h(Sc)o(heme)e(t)o(yp)q(e.)p 37 2562 735 2 +v 74 2589 a Ft(13)107 2605 y Fs(P)o(oin)o(ters)f(de\014ned)h(with)f +Fq(:dynamic-)o(pt)o(r)c Fs(are)k(alw)o(a)o(ys)g(unallo)q(cated)i(with)e +Fq(free)p Fs(.)j(Consequen)o(tly)m(,)e(areas)f(allo)q(cated)h(with)37 +2650 y(another)h(allo)q(cator)h(than)f(the)f(standard)h(one)g(m)o(ust)f +(b)q(e)g(declared)i(as)e Fq(:static-p)o(tr)d Fs(and)j(freed)g(b)o(y)h +(hand)74 2680 y Ft(14)107 2696 y Fs(Usage)g(of)f(mallo)q(c)j(and)f +(free)e(are)h(for)g(illustratio)q(n)j(purp)q(ose)e(here.)20 +b(Their)15 b(usage)f(in)h(a)f(program)h(m)o(ust)f(b)q(e)g(a)o(v)o +(oided,)i(if)37 2742 y(p)q(ossible,)h(b)q(ecause)e(it)f(can)g(ha)o(v)o +(e)g(in)o(teract)h(badly)h(with)e(the)g(w)o(a)o(y)f(the)h(in)o +(terpreter)i(manages)e(memory)g(or)g(it)h(can)f(conduct)37 +2787 y(to)f Fr(cr)n(ashing)h Fs(programs)g(if)f(y)o(ou)h(don't)f(tak)o +(e)g(care.)p eop +%%Page: 57 57 +57 56 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(57)p 37 64 1838 2 v 37 190 a Fn(Note:)38 b Fu(When)14 +b(a)g(function)g(has)g(a)g Fv(:return-type)e Fu(whic)o(h)i(is)g +Fv(:string)p Fu(,)e Fv(:dynamic-ptr)g Fu(or)i Fv(:static-ptr)p +Fu(,)d(and)37 240 y(the)16 b(return)g(v)n(alue)e(is)g(the)i(C)f +Fv(NULL)e Fu(p)q(oin)o(ter,)i(the)g(Sc)o(heme)g(v)n(alue)f(returned)j +(b)o(y)d(the)h(function)g(is,)f(b)o(y)h(con)o(v)o(en)o(tion,)37 +290 y(equal)h(to)g Fv(#f)p Fu(.)23 b(F)m(or)16 b(instance,)h(the)f(GNU) +g Fv(readline)e Fu(function)i(allo)o(ws)e(line)i(editing)f +Fn(\022)-21 b(a)17 b(la)i Fu(Emacs)c(returns)j Fv(NULL)37 +340 y Fu(when)h(the)g(user)h(has)e(t)o(yp)q(ed)h(an)f(end)h(of)e +(\014le.)32 b(The)18 b(follo)o(wing)e(lines)i(sho)o(w)g(ho)o(w)g(to)g +(mak)o(e)f(a)h(simple)f(shell-lik)o(e)37 390 y(toplev)o(el)d(using)g +(FFIs.)125 501 y Fv(\(define-external)k(system)j(\(\(var)f(\(:char)h +(*\)\)\))168 551 y(:return-type)f(:int\))125 650 y(\(define-external)e +(readline)i(\(\(prompt)g(:string\)\))168 700 y(:library-name)f +("libreadline")168 750 y(:return-type)41 b(:string\))125 +850 y(;;)21 b(A)h(Shell-like)d(toplevel)125 900 y(\(do)i(\(\(l)g +(\(readline)f("?>)h("\))g(\(readline)f("?>)i("\)\)\))212 +949 y(\(\(not)f(l\)\))168 999 y(\(system)g(l\)\))37 1257 +y Fw(\(external-exists?)h FD(entry)t Fw(\))1081 b FF(pro)q(cedure)37 +1313 y Fw(\(external-exists?)22 b FD(entry)i(libr)n(ary)t +Fw(\))929 b FF(pro)q(cedure)37 1392 y(Returns)16 b Fw(#t)f +FF(if)h FD(entry)j FF(is)c(de\014ned)i(as)d(an)i(external)f(sym)o(b)q +(ol)h(in)g FD(libr)n(ary)s FF(.)k(If)c FD(libr)n(ary)j +FF(is)c(not)g(pro)o(vided)h(the)37 1442 y(sym)o(b)q(ol)i(is)g(searc)o +(hed)f(in)h(the)f FB(STk)f FF(in)o(terpreter)i(or)e(in)i(libraries)h +(that)d(it)i(uses.)25 b(This)18 b(function)g(can)f(b)q(e)37 +1491 y(useful)g(to)d(de\014ne)j(external)e(functions)h(conditionally:) +168 1603 y Fv(\(when)21 b(\(external-exists?)d("dup2"\))234 +1653 y(\(define-external)g(dup2)j(\(\(oldfd)f(:int\))h(\(newfd)g +(:int\)\))299 1702 y(:return-type)e(:int\)\))37 1960 +y Fw(\(c-string->string)j FD(str)5 b Fw(\))1130 b FF(pro)q(cedure)37 +2038 y(STk)11 b(strings)f(are)g(more)f(general)i(than)f(C)g(strings)g +(since)h(they)f(accept)h(n)o(ull)g(c)o(haracter.)18 b +Fw(c-string->string)37 2088 y FF(tak)o(es)c(an)g(area)f(of)h(c)o +(haracters)f(built)i(b)o(y)f(a)g(call)h(to)f(a)f(foreign)h(function)h +(\(t)o(ypically)g(the)f(result)h(of)f(a)f(func-)37 2138 +y(tion)h(returning)g(a)f Fw(:static-ptr)p FF(,)f Fw(:dynamic-ptr)g +FF(or)h Fw(:string)p FF(\))f(and)i(con)o(v)o(ert)f(it)h(to)e(a)i(prop)q +(er)f(Sc)o(heme)37 2188 y(string.)125 2299 y Fv(\(define-external)18 +b(sprintf)i(\(\(str)h(:string\))f(\(format)h(:string\))f(.)h(l\))190 +2349 y(:return-type)41 b(:int\))125 2449 y(\(let)21 b(\(\(str)f +(\(make-string)g(5)h(#\\?\)\)\))168 2498 y(\(sprintf)f(str)i("\045x")f +(100\))168 2548 y(\(cons)g(str)g(\(C-string->string)d(str\)\)\))343 +2648 y Fu(=)-7 b Fp(\))21 b Fv(\("64\\0??")f(.)i("64"\))p +eop +%%Page: 58 58 +58 57 bop 37 45 a FE(58)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FI(6.25)56 b(Miscellaneous)37 +277 y FF(This)16 b(section)g(lists)g(the)f(primitiv)o(es)i(de\014ned)f +(in)g FB(STk)f FF(that)f(did)j(not)e(\014t)g(an)o(ywhere)g(else.)37 +396 y Fw(\(eval)24 b Fo(h)p FF(expr)p Fo(i)o Fw(\))1418 +b FF(syn)o(tax)37 452 y Fw(\(eval)24 b Fo(h)p FF(expr)p +Fo(i)f(h)p FF(en)o(vironmen)o(t)p Fo(i)p Fw(\))1112 b +FF(syn)o(tax)37 526 y(Ev)m(aluates)16 b Fo(h)p FF(expr)p +Fo(i)g FF(in)g(the)f(giv)o(en)h(en)o(vironmen)o(t.)21 +b Fo(h)p FF(En)o(vironmen)o(t)p Fo(i)15 b FF(ma)o(y)g(b)q(e)h(omitted,) +g(in)g(whic)o(h)g(case)g(it)37 576 y(defaults)g(to)f(the)g(global)h(en) +o(vironmen)o(t.)125 665 y Fv(\(define)k(foo)h(\(let)g(\(\(a)g(1\)\))g +(\(lambda)g(\(\))g(a\)\)\))125 715 y(\(foo\))500 b Fu(=)-7 +b Fp(\))22 b Fv(1)125 765 y(\(eval)e('\(set!)h(a)h(2\))f +(\(procedure-enviro)o(nment)d(foo\)\))125 815 y(\(foo\))500 +b Fu(=)-7 b Fp(\))22 b Fv(2)37 1024 y Fw(\(version)o(\))1427 +b FF(pro)q(cedure)37 1105 y(returns)16 b(a)e(string)i(iden)o(tifying)h +(the)e(curren)o(t)g(v)o(ersion)g(of)g FB(STk)p FF(.)37 +1225 y Fw(\(machine-type)o(\))1307 b FF(pro)q(cedure)37 +1306 y(returns)17 b(a)f(string)h(iden)o(tifying)i(the)d(kind)i(of)e +(mac)o(hine)i(whic)o(h)f(is)h(running)f(the)g(in)o(terpreter.)25 +b(The)17 b(form)37 1362 y(of)e(the)h(result)f(is)h Fw +([os-name]-[os-version]-[p)o(rocessor)o(-type])p FF(.)37 +1483 y Fw(\(random)23 b FD(n)s Fw(\))1398 b FF(pro)q(cedure)37 +1564 y(returns)16 b(an)f(in)o(teger)g(in)h(the)f(range)g(0,)g +FD(n)e Fo(\000)d FF(1)15 b(inclusiv)o(e.)37 1685 y Fw +(\(set-random-seed!)22 b FD(se)n(e)n(d)5 b Fw(\))1103 +b FF(pro)q(cedure)37 1765 y(Set)18 b(the)f(random)g(seed)h(to)f(the)g +(sp)q(eci\014ed)j FD(se)n(e)n(d)s FF(.)27 b Fw(Seed)16 +b FF(m)o(ust)h(b)q(e)h(an)f(in)o(teger)h(whic)o(h)g(\014ts)f(in)h(a)f +(C)h Fw(long)37 1822 y(int)p FF(.)37 1942 y Fw(\(eval-string)23 +b FD(string)g(envir)n(onment)t Fw(\))919 b FF(pro)q(cedure)37 +2016 y(Ev)m(aluates)16 b(the)f(con)o(ten)o(ts)f(of)g(the)h(giv)o(en)g +FD(string)j FF(in)d(the)g(giv)o(en)g FD(envir)n(onment)j +FF(and)d(returns)g(its)g(result.)20 b(If)37 2066 y FD(envir)n(onment)e +FF(is)d(omitted)f(it)h(defaults)g(to)e(the)i(global)g(en)o(vironmen)o +(t.)20 b(If)14 b(ev)m(aluation)i(leads)f(to)f(an)g(error,)37 +2116 y(the)i(result)f(of)g Fw(eval-string)f FF(is)i(unde\014ned.)125 +2205 y Fv(\(define)k(x)i(1\))125 2255 y(\(eval-string)d("\(+)i(x)h +(1\)"\))343 2305 y Fu(=)-7 b Fp(\))21 b Fv(2)125 2355 +y(\(eval-string)e("x")i(\(let)g(\(\(x)g(2\)\))g +(\(the-environment\)\)\))343 2405 y Fu(=)-7 b Fp(\))21 +b Fv(2)37 2614 y Fw(\(read-from-string)h Fo(h)p FF(string)p +Fo(i)o Fw(\))1039 b FF(pro)q(cedure)37 2688 y(P)o(erforms)18 +b(a)h(read)g(from)f(the)h(giv)o(en)g FD(string)t FF(.)31 +b(If)19 b FD(string)j FF(is)d(the)h(empt)o(y)e(string,)i(an)e(end)i(of) +f(\014le)h(ob)s(ject)37 2738 y(is)j(returned.)39 b(If)22 +b(an)f(error)g(o)q(ccurs)h(during)g(string)g(reading,)h(the)f(result)g +(of)f Fw(read-from-string)e FF(is)37 2787 y(unde\014ned.)p +eop +%%Page: 59 59 +59 58 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(59)p 37 64 1838 2 v 125 190 a Fv(\(read-from-strin)o(g)19 +b("123)i(456"\))343 240 y Fu(=)-7 b Fp(\))21 b Fv(123)125 +290 y(\(read-from-strin)o(g)e(""\))343 340 y Fu(=)-7 +b Fp(\))21 b Fv(an)h(eof)f(object)37 537 y Fw(\(dump)j +FD(string)t Fw(\))1356 b FF(pro)q(cedure)37 617 y Fw(Dump)15 +b FF(grabs)f(the)h(curren)o(t)g(con)o(tin)o(uation)30 +b(and)16 b(creates)e(an)h(image)g(of)g(the)g(curren)o(t)g +FB(STk)f FF(in)o(terpreter)h(in)37 673 y(the)h(\014le)h(whose)e(name)h +(is)g FD(string)609 657 y FA(15)647 673 y FF(.)21 b(This)16 +b(image)g(can)g(b)q(e)g(used)g(later)g(to)f(restart)f(the)i(in)o +(terpreter)g(from)37 730 y(the)g(sa)o(v)o(ed)f(state.)k(See)c(the)h +FB(STk)e FF(man)h(page)g(ab)q(out)g(the)h Fw(-image)e +FF(option)h(for)g(more)g(details.)37 786 y Fn(Note:)37 +b Fu(Image)12 b(creation)j(cannot)f(b)q(e)g(done)g(if)f(Tk)h(is)g +(initialized.)37 899 y Fw(\(trace-var)23 b FD(symb)n(ol)g(thunk)5 +b Fw(\))1086 b FF(pro)q(cedure)37 973 y Fw(Trace-var)13 +b FF(call)i(the)f(giv)o(en)g FD(thunk)19 b FF(when)14 +b(the)g(v)m(alue)h(of)e(the)h(v)m(ariable)h(denoted)f(b)o(y)g +FD(symb)n(ol)k FF(is)c(c)o(hanged.)125 1106 y Fv(\(define)20 +b(x)i(1\))125 1156 y(\(define)e(y)i(0\))125 1206 y(\(trace-var)d('x)j +(\(lambda)e(\(\))h(\(set!)g(y)h(1\)\)\))125 1256 y(\(set!)e(x)i(2\))125 +1305 y(\(cons)e(x)i(y\))343 1355 y Fu(=)-7 b Fp(\))21 +b Fv(\(2)h(.)f(1\))37 1489 y Fn(Note:)42 b Fu(Sev)o(eral)15 +b(traces)i(can)e(b)q(e)h(asso)q(ciated)g(with)e(a)h(single)g(sym)o(b)q +(ol.)20 b(They)15 b(are)h(executed)h(in)d(rev)o(erse)j(order)f(to)37 +1539 y(their)f(de\014nition.)i(F)m(or)d(instance,)g(the)h(execution)f +(of)125 1622 y Fv(\(begin)168 1672 y(\(trace-var)20 b('z)h(\(lambda)g +(\(\))g(\(display)f("One"\)\)\))168 1722 y(\(trace-var)g('z)h(\(lambda) +g(\(\))g(\(display)f("Two"\)\)\))168 1772 y(\(set!)h(z)h(10\)\))37 +1912 y Fu(will)13 b(displa)o(y)g(the)h(string)g Fv("Two")f +Fu(b)q(efore)i(the)f(string)g Fv("One")f Fu(on)h(the)g(curren)o(t)h +(output)g(p)q(ort.)37 2025 y Fw(\(untrace-var)23 b FD(symb)n(ol)5 +b Fw(\))1170 b FF(pro)q(cedure)37 2105 y(Deletes)16 b(all)g(the)g +(traces)e(asso)q(ciated)i(to)e(the)i(v)m(ariable)g(denoted)g(b)o(y)f +FD(symb)n(ol)t FF(.)37 2218 y Fw(\(error)24 b FD(string)f +Fz(str)q(ing)466 2225 y FA(1)509 2218 y Fz(obj)570 2225 +y FA(2)613 2218 y Fz(:)8 b(:)g(:)e Fw(\))981 b FF(pro)q(cedure)37 +2298 y Fw(error)22 b FF(prin)o(ts)h(the)f FD(obj)7 b +FF(s)22 b(according)g(to)g(the)g(sp)q(eci\014cation)j(giv)o(en)d(in)h +FD(string)j FF(on)c(the)h(curren)o(t)f(error)37 2355 +y(p)q(ort)c(\(or)f(in)i(an)f(error)f(windo)o(w)h(if)h(Tk)e(is)i +(initialized\).)31 b(The)18 b(sp)q(eci\014cation)i(string)e(follo)o(ws) +g(the)g(\\tilde)37 2411 y(con)o(v)o(en)o(tions")c(of)f +Fw(format)p FF(\(see)g(6.10\).)18 b(Once)d(the)f(message)f(is)h(prin)o +(ted,)h(execution)g(returns)e(to)g(toplev)o(el.)37 2581 +y Fw(\(gc\))1546 b FF(pro)q(cedure)37 2661 y(Runs)17 +b(the)e(garbage)f(collector.)21 b(See)16 b(6.18)e(for)g(the)h(signals)h +(asso)q(ciated)g(to)e(garbage)h(collection.)p 37 2699 +735 2 v 74 2726 a Ft(15)107 2742 y Fs(Image)f(creation)h(is)g(not)f(y)o +(et)g(implemen)o(ted)j(on)d(all)h(systems.)21 b(The)14 +b(curren)o(t)h(v)o(ersion)g(\(3.99\))f(allo)o(ws)i(image)f(dumping)37 +2787 y(only)g(on)e(some)g(platforms:)18 b(SunOs)c(4.1.x,)f(Lin)o(ux)h +(1,)f(F)m(reeBsd)p eop +%%Page: 60 60 +60 59 bop 37 45 a FE(60)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(gc-stats)o(\))1403 b FF(pro)q(cedure)37 +271 y(Pro)o(vides)14 b(some)f(statistics)h(ab)q(out)f(curren)o(t)g +(memory)g(usage.)19 b(This)14 b(pro)q(cedure)h(is)f(primarily)g(for)f +(debug-)37 327 y(ging)j(the)f FB(STk)g FF(in)o(terpreter,)g(hence)h +(its)f(w)o(eird)h(prin)o(ting)g(format.)37 440 y Fw(\(expand-heap)23 +b FD(n)s Fw(\))1278 b FF(pro)q(cedure)37 521 y(Expand)18 +b(the)f(heap)g(so)f(that)h(it)g(will)h(con)o(tains)f(at)f(least)h +FD(n)j FF(cells.)27 b(Normally)l(,)17 b(the)g(heap)h(automatically)37 +577 y(gro)o(ws)e(when)h(more)f(memory)f(is)i(needed.)25 +b(Ho)o(w)o(ev)o(er,)16 b(using)h(only)g(automatic)f(heap)g(gro)o(wing)g +(is)h(some-)37 633 y(times)h(v)o(ery)e(p)q(enalizin)q(g.)28 +b(This)17 b(is)h(particularly)g(true)f(for)f(programs)g(whic)o(h)i +(uses)f(a)g(lot)g(of)g(temp)q(orary)37 690 y(data)11 +b(\(whic)o(h)h(are)f(not)g(p)q(oin)o(ted)h(b)o(y)g(an)o(y)f(a)g(v)m +(ariable\))h(and)g(a)f(small)h(amoun)o(t)f(of)g(global)h(data.)18 +b(In)12 b(this)f(case,)37 746 y(the)18 b(garbage)g(collector)g(will)i +(b)q(e)e(often)g(called)h(and)g(the)f(heap)g(will)h(not)f(b)q(e)h +(automatically)f(expanded)37 803 y(\(since)k(most)d(of)h(the)g +(consumed)h(heap)f(will)i(b)q(e)f(reclaimed)h(b)o(y)e(the)g(GC\).)f +(This)i(could)g(b)q(e)g(anno)o(ying)37 859 y(sp)q(ecially)d(for)d +(program)f(where)h(resp)q(onse)h(time)f(is)h(critical.)21 +b(Using)16 b Fw(expand-heap)d FF(p)q(ermits)j(to)e(enlarge)37 +916 y(the)g(heap)f(size)h(\(whic)o(h)g(is)g(set)e(to)h(20000)f(cells)i +(b)o(y)f(default\),)h(to)e(a)o(v)o(oid)h(those)g(con)o(tin)o(ual)h +(calls)g(to)f(the)g(GC.)37 1086 y Fw(\(get-internal-info)n(\))1188 +b FF(pro)q(cedure)37 1166 y(Returns)16 b(a)f(7-length)h(v)o(ector)e +(whic)o(h)i(con)o(tains)g(the)f(follo)o(wing)h(informations:)106 +1257 y(0)22 b(total)15 b(cpu)h(used)f(in)h(milli-second)q(s)106 +1349 y(1)22 b(n)o(um)o(b)q(er)16 b(of)e(cells)j(curren)o(tly)f(in)g +(use.)106 1442 y(2)22 b(total)15 b(n)o(um)o(b)q(er)g(of)g(allo)q(cated) +h(cells)106 1534 y(3)22 b(n)o(um)o(b)q(er)16 b(of)e(cells)j(used)f +(since)g(the)g(last)f(call)h(to)f Fw(get-internal-info)106 +1627 y FF(4)22 b(n)o(um)o(b)q(er)16 b(of)e(gc)i(runs)106 +1720 y(5)22 b(total)15 b(time)g(used)h(in)g(the)f(gc)106 +1812 y(6)22 b(a)15 b(b)q(o)q(olean)h(indicating)h(if)f(Tk)f(is)h +(initialized)37 1960 y Fw(\(sort)24 b FD(obj)g(pr)n(e)n(dic)n(ate)s +Fw(\))1215 b FF(pro)q(cedure)37 2034 y FD(Obj)26 b FF(m)o(ust)19 +b(b)q(e)h(a)f(list)h(or)f(a)g(v)o(ector.)32 b Fw(Sort)19 +b FF(returns)g(a)g(cop)o(y)h(of)f FD(obj)26 b FF(sorted)19 +b(according)h(to)e FD(pr)n(e)n(dic)n(ate)s FF(.)37 2083 +y FD(Pr)n(e)n(dic)n(ate)e FF(m)o(ust)d(b)q(e)g(a)g(pro)q(cedure)h(whic) +o(h)g(tak)o(es)e(t)o(w)o(o)g(argumen)o(ts)g(and)h(returns)g(a)g(true)g +(v)m(alue)h(if)f(the)g(\014rst)37 2133 y(argumen)o(t)i(is)h(strictly)f +(\\b)q(efore")g(the)h(second.)125 2217 y Fv(\(sort)k('\(1)i(2)f(-4)h +(12)f(9)h(-1)f(2)g(3\))h(<\))735 2267 y Fu(=)-7 b Fp(\))22 +b Fv(\(-4)f(-1)g(1)h(2)f(2)h(3)f(9)h(12\))125 2317 y(\(sort)e(#\("one") +h("two")g("three")f("four"\))255 2367 y(\(lambda)h(\(x)g(y\))h(\(>)f +(\(string-length)e(x\))i(\(string-length)e(y\)\)\)\))735 +2417 y Fu(=)-7 b Fp(\))22 b Fv(#\("three")d("four")i("one")g("two"\))53 +2614 y Fw(\(uncode)i FD(form)s Fw(\))1315 b FF(pro)q(cedure)37 +2688 y(When)14 b FB(STk)f FF(ev)m(aluates)h(an)f(expression)h(it)f +(enco)q(des)h(it)g(so)f(that)f(further)h(ev)m(aluations)i(of)d(this)i +(expression)37 2738 y(will)h(b)q(e)f(more)f(e\016cien)o(t.)20 +b(Since)15 b(enco)q(ded)g(forms)d(are)h(generally)i(di\016cult)g(to)d +(read,)h Fw(uncode)g FF(can)g(b)q(e)h(used)37 2787 y(to)h +(\(re-\)obtain)g(the)g(original)i(form.)p eop +%%Page: 61 61 +61 60 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(61)p 37 64 1838 2 v 125 190 a Fv(\(define)20 b(\(foo)h(a)h(b\))190 +240 y(\(let)f(\(\(x)g(a\))h(\(y)f(\(+)g(b)h(1\)\)\))f(\(cons)g(x)g +(y\)\)\))125 340 y(\(procedure-body)d(foo\))735 390 y +Fu(=)-7 b Fp(\))22 b Fv(\(lambda)e(\(a)h(b\))626 439 +y(\(let)g(\(\(x)g(a\))g(\(y)h(\(+)f(b)h(1\)\)\))f(\(cons)f(x)i(y\)\)\)) +125 489 y(\(foo)f(1)g(2\))414 b Fu(=)-7 b Fp(\))22 b +Fv(\(1)f(.)h(3\))125 539 y(\(procedure-body)c(foo\))735 +589 y Fu(=)-7 b Fp(\))43 b Fv(\(lambda)21 b(\(a)g(b\))626 +639 y(\(#let)g(\(x)g(y\))757 689 y(\(#)778 +738 y(\(#)i(#)e(1\)\))669 +788 y(\(#)h(#)1018 +838 y(#\)\)\))125 938 y(\(uncode)f +(\(procedure-body)f(foo\)\))735 987 y Fu(=)-7 b Fp(\))22 +b Fv(\(lambda)e(\(a)h(b\))648 1037 y(\(let)g(\(\(x)g(a\))g(\(y)h(\(+)f +(b)h(1\)\)\))f(\(cons)f(x)i(y\)\)\))37 1184 y Fn(Note:)34 +b Fu(When)12 b(a)e(macro)g(has)h(b)q(een)i(directly)e(expanded)h(in)o +(to)e(the)i(macro)e(call)g(co)q(de,)i(it)f(is)f(not)h(p)q(ossible)h(to) +f(retriev)o(e)37 1241 y(the)k(original)d(macro)h(call.)k(Set)d +Fv(*debug*)f Fu(to)h Fv(#t)f Fu(to)h(a)o(v)o(oid)e(macro)h(expansion)h +(in-lining.)37 1365 y Fw(\(time)24 b Fo(h)p FF(expr)p +Fo(i)o Fw(\))1427 b FF(macro)37 1446 y(Ev)m(aluates)20 +b(the)f(expression)h Fo(h)p FF(expr)p Fo(i)e FF(in)i(the)f(curren)o(t)g +(en)o(vironmen)o(t.)31 b(Prin)o(ts)19 b(the)g(elapsed)h(CPU)f(time)37 +1502 y(and)d(the)f(n)o(um)o(b)q(er)h(of)e(conses)i(used)g(b)q(efore)f +(returning)h(the)f(result)h(of)f(this)g(ev)m(aluation.)37 +1626 y Fw(\(apropos)23 b FD(symb)n(ol)5 b Fw(\))1266 +b FF(pro)q(cedure)37 1701 y Fw(Apropos)11 b FF(returns)g(a)g(list)i(of) +e(sym)o(b)q(ol)g(whose)h(prin)o(t)g(name)f(con)o(tains)h(the)f(c)o +(haracters)g(of)g FD(symb)n(ol)t FF(.)18 b(Sym)o(b)q(ols)37 +1750 y(are)d(searc)o(hed)h(for)e(in)i(the)g(curren)o(t)f(en)o(vironmen) +o(t.)125 1842 y Fv(\(apropos)20 b('cadd\))343 1892 y +Fu(=)-7 b Fp(\))21 b Fv(\(caddar)g(caddr)f(cadddr\))37 +2105 y Fw(\(inspect)j FD(obj)7 b Fw(\))1338 b FF(pro)q(cedure)37 +2186 y Fw(Inspect)11 b FF(p)q(ermits)h(to)f(graphically)i(insp)q(ect)g +(an)f(ob)s(ject.)18 b(The)12 b(\014rst)f(call)i(of)e(this)h(pro)q +(cedure)h(creates)e(a)g(top)37 2243 y(lev)o(el)17 b(windo)o(w)f(con)o +(taining)g(the)g(ob)s(ject)f(to)g(insp)q(ect)i(and)f(its)f(curren)o(t)h +(v)m(alue.)22 b(If)16 b(the)f(insp)q(ector)i(windo)o(w)37 +2299 y(is)k(already)e(on)h(screen,)h FD(obj)26 b FF(will)21 +b(b)q(e)f(app)q(ended)i(to)c(the)i(list)g(of)g(insp)q(ected)h(ob)s +(jects.)32 b(The)20 b(insp)q(ector)37 2356 y(windo)o(w)c(con)o(tains)f +(men)o(us)g(whic)o(h)g(p)q(ermit)h(to)e(call)i(the)f(view)o(er)g(or)g +(detailer)g(on)g(eac)o(h)g(insp)q(ected)i(ob)s(ject.)37 +2412 y(See)f(the)f(on-line)i(do)q(cumen)o(tation)e(for)f(further)h +(details.)21 b(A)14 b(view)i(of)e(the)h(general)h(insp)q(ector)f(is)h +(giv)o(en)f(in)37 2469 y(\014gure)h(1.)37 2526 y Fn(Note:)37 +b Fu(Tk)14 b(m)o(ust)f(b)q(e)h(initialized)f(to)g(use)i +Fv(inspect)p Fu(.)37 2650 y Fw(\(view)24 b FD(obj)7 b +Fw(\))1409 b FF(pro)q(cedure)37 2731 y Fw(View)14 b FF(p)q(ermits)h(to) +f(obtain)g(a)g(graphical)h(represen)o(tation)g(of)e(an)i +FB(STk)e FF(ob)s(ject.)19 b(The)c(t)o(yp)q(e)f(of)g(represen)o(ta-)37 +2787 y(tion)i(dep)q(ends)i(on)d(the)h(t)o(yp)q(e)g(of)f(the)h(view)o +(ed)h(ob)s(ject.)j(Here)c(again,)g(men)o(us)g(are)f(pro)o(vided)i(to)e +(switc)o(h)h(to)p eop +%%Page: 62 62 +62 61 bop 37 45 a FE(62)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 169 748 a @beginspecial 37 @llx 367 @lly 415 @urx 467 @ury 3780 @rwi @setspecial %%BeginDocument: Inspector.ps @@ -8367,8 +8705,8 @@ end origstate restore %%EndDocument - @endspecial 651 845 a FD(Figure)g(1:)k(A)c(view)g(of)f(the)h(Insp)q -(ector)321 2520 y @beginspecial 37 @llx 171 @lly 342 + @endspecial 622 846 a FF(Figure)f(1:)j(A)d(view)f(of)g(the)g(Insp)q +(ector)321 2494 y @beginspecial 37 @llx 171 @lly 342 @urx 467 @ury 3050 @rwi @setspecial %%BeginDocument: View.ps @@ -12473,11 +12811,11 @@ end origstate restore %%EndDocument - @endspecial 673 2611 a(Figure)g(2:)k(A)c(view)g(of)f(the)i(View)o(er)p + @endspecial 646 2592 a(Figure)h(2:)j(A)d(view)f(of)g(the)h(View)o(er)p eop -%%Page: 55 55 -55 54 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(55)p 75 64 1763 2 v 379 2220 a @beginspecial 37 @llx +%%Page: 63 63 +63 62 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(63)p 37 64 1838 2 v 379 1728 a @beginspecial 37 @llx 87 @lly 314 @urx 467 @ury 2770 @rwi @setspecial %%BeginDocument: Detail.ps @@ -17262,404 +17600,528 @@ end origstate restore %%EndDocument - @endspecial 663 2311 a FD(Figure)14 b(3:)k(A)c(view)g(of)f(the)h -(Detailer)p eop -%%Page: 56 56 -56 55 bop 75 47 a FC(56)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FD(or)k(to)f(the)h(view)o(er.)30 -b(See)19 b(the)f(on-line)f(do)q(cumen)o(tation)f(for)h(more)g(details.) -29 b(Figure)18 b(3)f(sho)o(ws)h(the)g(detailer)75 229 -y(examining)11 b(a)j FB(tk-c)n(ommand)p FD(.)75 278 y -Fl(Note:)32 b Fs(Tk)13 b(m)o(ust)g(b)q(e)h(initialize)q(d)i(to)d(use)g -Ft(detail)p Fs(.)75 384 y Fu(\(quit)21 b FB(r)n(etc)n(o)n(de)s -Fu(\))1303 b FD(pro)q(cedure)75 433 y Fu(\(quit)o(\))1453 -b FD(pro)q(cedure)75 483 y Fu(\(exit)21 b FB(r)n(etc)n(o)n(de)s -Fu(\))1303 b FD(pro)q(cedure)75 533 y Fu(\(exit)o(\))1453 -b FD(pro)q(cedure)75 583 y Fu(\(bye)21 b FB(r)n(etc)n(o)n(de)s -Fu(\))1325 b FD(pro)q(cedure)75 633 y Fu(\(bye)o(\))1475 -b FD(pro)q(cedure)75 706 y(Exits)20 b(the)h Fz(STk)g -FD(in)o(terpreter)h(with)e(the)g(sp)q(eci\014ed)i(in)o(teger)f(return)g -(co)q(de.)38 b(If)20 b(omitted,)g(the)h(in)o(terpreter)75 -756 y(terminates)14 b(with)f(a)h(return)h(co)q(de)g(of)e(0.)p + @endspecial 635 1826 a FF(Figure)16 b(3:)j(A)d(view)f(of)g(the)g +(Detailer)37 1964 y(the)h(insp)q(ector)g(or)f(to)g(the)g(detailer.)22 +b(See)16 b(the)g(on-line)h(do)q(cumen)o(tation)f(for)e(more)h(details.) +22 b(A)15 b(snapshot)37 2020 y(of)g(the)h(view)o(er)f(is)h(giv)o(en)f +(in)i(\014gure)e(2.)37 2077 y Fn(Note:)37 b Fu(Tk)14 +b(m)o(ust)f(b)q(e)h(initialized)f(to)g(use)i Fv(view)p +Fu(.)37 2194 y Fw(\(detail)23 b FD(obj)7 b Fw(\))1362 +b FF(pro)q(cedure)37 2274 y Fw(detail)21 b FF(p)q(ermits)g(to)f(displa) +o(y)i(the)f(\014elds)h(of)f(a)f(comp)q(osite)i(Sc)o(heme)f(ob)s(ject.) +36 b(The)21 b(t)o(yp)q(e)g(of)g(detailer)37 2331 y(dep)q(ends)c(on)f +(the)f(t)o(yp)q(e)g(of)g(the)h(comp)q(osite)f(ob)s(ject)g(detailed.)22 +b(Here)15 b(again,)g(men)o(us)h(are)f(pro)o(vided)h(to)f(go)37 +2387 y(to)i(the)f(insp)q(ector)i(or)e(to)g(the)h(view)o(er.)25 +b(See)17 b(the)g(on-line)h(do)q(cumen)o(tation)g(for)e(more)g(details.) +25 b(Figure)17 b(3)37 2444 y(sho)o(ws)e(the)g(detailer)i(examining)f(a) +f FD(tk-c)n(ommand)p FF(.)37 2500 y Fn(Note:)37 b Fu(Tk)14 +b(m)o(ust)f(b)q(e)h(initialized)f(to)g(use)i Fv(detail)p +Fu(.)37 2618 y Fw(\(quit)24 b FD(r)n(etc)n(o)n(de)s Fw(\))1334 +b FF(pro)q(cedure)37 2674 y Fw(\(quit\))1498 b FF(pro)q(cedure)37 +2731 y Fw(\(exit)24 b FD(r)n(etc)n(o)n(de)s Fw(\))1334 +b FF(pro)q(cedure)37 2787 y Fw(\(exit\))1498 b FF(pro)q(cedure)p eop -%%Page: 57 57 -57 56 bop 809 1059 a FH(P)m(art)32 b(I)s(I)741 1266 y -FA(Annexes)935 2924 y FD(57)p eop -%%Page: 58 58 -58 57 bop eop -%%Page: 59 59 -59 58 bop 75 490 a FH(App)s(endix)33 b(A)75 698 y FA(Using)39 -b(the)f(Tk)h(to)s(olkit)75 914 y FD(When)13 b Fz(STk)g -FD(detects)i(that)e(a)f FB(tk-c)n(ommand)18 b FD(m)o(ust)12 -b(b)q(e)h(called,)f(parameters)h(are)g(pro)q(cessed)i(to)e(b)q(e)g -(recognized)75 964 y(b)o(y)18 b(the)g(corresp)q(onding)h(to)q(olkit)d -(function.)30 b(Since)18 b(the)h(Tk)e(to)q(olkit)g(is)h(left)f -(\(mostly\))g(unmo)q(di\014ed,)g(all)f(its)75 1014 y(primitiv)o(es)g -(\\think")h(there)j(is)d(a)h(running)g(Tcl)g(in)o(terpreter)h(b)q -(ehind)g(the)f(scene.)32 b(Consequen)o(tly)m(,)19 b(to)f(w)o(ork)75 -1064 y(with)h(the)h(Tk)f(to)q(olkit,)g(a)f(little)h(set)h(of)f -(rewriting)g(rules)g(m)o(ust)g(b)q(e)g(kno)o(wn.)34 b(These)20 -b(rules)g(are)g(describ)q(ed)75 1113 y(hereafter.)75 -1163 y Fl(Note:)36 b Fs(This)14 b(app)q(endix)i(is)f(placed)g(here)f -(to)g(p)q(ermit)h(an)f Fj(STk)f Fs(user)i(to)e(mak)o(e)h(programs)h -(with)f(the)g(original)j(Tcl/Tk)75 1213 y(do)q(cumen)o(tation)g(b)o(y)e -(hand.)23 b(In)15 b(no)g(case)g(will)i(it)e(substitute)h(to)f(the)g -(abundan)o(t)h(Tcl/Tk)g(man)o(ual)g(pages)f(nor)g(to)g(the)75 -1263 y(excellen)o(t)g(b)q(o)q(ok)f(b)o(y)f(J.)f(Ousterhout[11)r(])75 -1401 y Fw(1)67 b(Calling)24 b(a)e(Tk-command)75 1492 -y FD(Since)13 b(Tcl)f(uses)i(strings)f(to)f(comm)o(unicate)e(with)i -(the)h(Tk)f(to)q(olkit,)f(parameters)i(to)f(a)g FB(Tk-c)n(ommand)17 -b FD(m)o(ust)12 b(b)q(e)75 1542 y(translated)i(to)g(strings)h(b)q -(efore)f(calling)f(the)i(C)e(function)h(whic)o(h)g(implemen)o(t)d(it.) -18 b(The)c(follo)o(wing)e(con)o(v)o(ersions)75 1592 y(are)i(done,)g -(dep)q(ending)g(on)g(the)h(t)o(yp)q(e)f(of)f(the)i(parameter)e(that)h -Fz(STk)h FD(m)o(ust)d(giv)o(e)i(to)f(the)i(to)q(olkit:)179 -1676 y FC(sym)o(b)q(ol:)k FD(the)c(prin)o(t)e(name)g(of)g(the)i(sym)o -(b)q(ol;)179 1742 y FC(n)o(um)o(b)q(er:)j FD(the)d(external)f(represen) -o(tation)i(of)d(the)h(n)o(um)o(b)q(er)g(expressed)i(in)d(radix)h(10;) -179 1809 y FC(string:)k FD(no)c(con)o(v)o(ersion;)179 -1876 y FC(k)o(eyw)o(ord:)20 b FD(the)11 b(prin)o(t)f(name)f(of)h(the)g -(k)o(eyw)o(ord)h(where)g(the)g(initial)d(semicolon)h(has)h(b)q(een)i -(replaced)270 1926 y(b)o(y)i(a)f(dash)h(\(\\-"\);)179 -1993 y FC(b)q(o)q(olean:)20 b FD(the)14 b(string)g("0")f(if)g -Fu(#f)h FD(and)f("1")g(if)g Fu(#t)179 2059 y FC(tk-command:)19 -b FD(the)c(name)e(of)g(the)h FB(tk-c)n(ommand)179 2126 -y FC(closure:)19 b FD(the)c(address)g(of)e(the)h(closure)h(using)f(the) -g(represen)o(tation)i(sho)o(wn)e(in)f(6.17.)179 2193 -y FC(otherwise:)19 b FD(the)14 b(external)h(\\slashi\014ed")e(v)o -(ersion)h(of)f(the)i(ob)r(ject.)75 2272 y(As)c(an)g(example,)f(let)h -(us)h(mak)o(e)d(a)i(button)g(with)g(a)g(lab)q(el)f(con)o(taining)g(the) -i(string)f Fu("Hello,)20 b(word")p FD(.)c(According)75 -2318 y(the)e(original)f(Tk/Tcl)g(do)q(cumen)o(tation,)f(this)i(can)g(b) -q(e)h(done)f(in)f(Tcl)h(with)153 2398 y Ft(button)k(.hello)f(-text)h -("Hello,)f(world")75 2523 y FD(F)m(ollo)o(wing)11 b(the)k(rewriting)f -(rules)g(expressed)i(ab)q(o)o(v)o(e,)d(this)h(can)g(b)q(e)h(done)f(in)g -Fz(STk)g FD(with)153 2602 y Ft(\(button)j('.hello)g('-text)h("Hello,)e -(world"\))75 2728 y FD(This)c(call)g(de\014nes)h(a)f(new)h(widget)f(ob) -r(ject)h(whic)o(h)f(is)g(stored)i(in)d(the)i Fz(STk)g -FD(v)n(ariable)e Fu(.hello)p FD(.)16 b(This)c(ob)r(ject)h(can)75 -2773 y(b)q(e)j(used)g(as)f(a)g(pro)q(cedure)j(to)d(customize)g(our)g -(button.)23 b(F)m(or)14 b(instance,)i(setting)g(the)g(b)q(order)g(of)f -(this)g(button)75 2819 y(to)f(5)f(pixels)h(wide)g(and)g(its)f(bac)o -(kground)h(to)g(gra)o(y)f(w)o(ould)g(b)q(e)i(done)f(in)g(Tcl)f(with)935 -2924 y(59)p eop -%%Page: 60 60 -60 59 bop 75 47 a FC(60)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 153 179 a Ft(.hello)k(configure)e(-border)h(5)i -(-backgroun)o(d)d(gray)75 287 y FD(In)e Fz(STk)g FD(this)g(w)o(ould)f -(b)q(e)i(expressed)h(as)153 350 y Ft(\(.hello)h('configure)f('-border)h -(5)i('-backgro)o(und)d("gray"\))75 459 y FD(Since)d(k)o(eyw)o(ord)g -(colon)f(is)g(replaced)i(b)o(y)e(a)h(dash)g(when)g(a)f -Fu(Tk-command)f FD(is)h(called,)g(this)h(expression)h(could)e(also)75 -504 y(ha)o(v)o(e)i(b)q(een)h(written)f(as:)153 567 y -Ft(\(.hello)j('configure)i Ff(:b)q(order)h Ft(5)h Ff(:bac)o(kground)e -Ft("gray"\))75 747 y Fw(2)67 b(Asso)r(ciating)22 b(Callbac)n(ks)h(to)f -(Tk-commands)75 834 y FD(Starting)13 b(with)h(v)o(ersion)f(3.0,)f -Fz(STk)i FD(callbac)o(ks)g(are)g(Sc)o(heme)f(closures)1180 -819 y Fy(1)1200 834 y FD(.)18 b(Apart)c(scroll)f(commands,)e(callbac)o -(ks)75 879 y(are)18 b(Sc)o(hemes)f(pro)q(cedures)j(without)c -(parameter.)28 b(Supp)q(ose)18 b(for)f(example,)f(that)i(w)o(e)f(w)o -(an)o(t)g(to)g(asso)q(ciate)h(a)75 925 y(command)11 b(with)j(the)g -(previous)g Fu(.hello)f FD(button.)18 b(In)c(Tcl,)f(suc)o(h)i(a)f -(command)d(can)j(b)q(e)g(expressed)j(as)153 988 y Ft(.hello)h -(configure)e(-command)g Fn(f)p Ft(puts)j(stdout)e("Hello,)g(world";)g -(destroy)g(.)p Fn(g)75 1096 y FD(In)d Fz(STk)p FD(,)g(w)o(e)g(can)g -(write)153 1159 y Ft(\(.hello)j('configure)i Ff(:command)g -Ft(\(lambda)d(\(\))840 1205 y(\(display)g("Hello,)h(world\\n"\))840 -1251 y(\(destroy)f(*root*\)\)\))75 1363 y FD(When)c(the)h(user)g(will)d -(press)j(the)g(mouse)e(left)h(button,)g(the)g(closure)h(asso)q(ciated)f -(to)g(the)h Fu(:command)d FD(option)h(will)75 1413 y(b)q(e)k(ev)n -(aluated)g(in)f(the)h(global)e(en)o(vironmen)o(t.)19 -b(Ev)n(aluation)13 b(of)h(the)h(giv)o(en)f(closure)i(will)d(displa)o(y) -h(the)h(message)75 1463 y(and)f(call)f(the)h Fu(destroy)f -FB(Tk-c)n(ommand)p FD(.)75 1513 y Fl(Note:)75 b Fs(The)17 -b(ro)q(ot)h(widget)g(is)g(denoted)g(\\.")30 b(in)18 b(Tcl.)31 -b(This)18 b(con)o(v)o(en)o(tion)h(is)f(am)o(biguous)h(with)f(the)f -(dotted)h(pair)75 1563 y(con)o(v)o(en)o(tion)c(and)e(the)g(dot)f(m)o -(ust)h(b)q(e)g(quoted)h(to)e(a)o(v)o(oid)i(problems.)18 -b(Since)13 b(this)f(problem)h(arises)g(so)f(often,)f(the)h(v)n(ariable) -75 1612 y Ft(*root*)e Fs(has)k(b)q(een)g(in)o(tro)q(duced)h(in)f -Fj(STk)e Fs(to)h(denote)h(the)f(Tk)g(main)h(windo)o(w.)75 -1725 y FG(Managing)19 b(Widget)f(Scrollbars)75 1798 y -FD(When)h(using)f(scrollbars,)i(Tk)f(library)f(passes)i(parameters)f -(to)f(the)i(widget)e(asso)q(ciated)i(to)e(the)i(scrollbar)75 -1843 y(\(and)14 b FB(vic)n(e)g(versa)p FD(\).)k(Let)c(us)g(lo)q(ok)f -(at)g(a)h(text)g(widget)f(with)g(an)h(asso)q(ciated)g(scrollbar.)k -(When)c(the)g(scrollbar)g(is)75 1889 y(mo)o(v)o(ed,)g(the)i(command)d -(of)i(the)h(asso)q(ciated)g(widget)f(is)h(in)o(v)o(ok)o(ed)e(to)i(c)o -(hange)f(its)h(view.)23 b(On)15 b(the)h(other)h(side,)75 -1935 y(when)d(bro)o(wsing)f(the)h(con)o(ten)o(t)g(of)f(the)h(text)g -(widget)f(\(with)h(arro)o(ws)f(for)g(example\),)f(the)i(scrollbar)f(is) -h(up)q(dated)75 1980 y(b)o(y)k(calling)e(it's)i(asso)q(ciated)h -(closure.)31 b(Tk)18 b(library)f(passes)j(p)q(osition)d(informations)f -(to)h(scrolling)h(closures.)75 2026 y(This)13 b(informations)d(are)j -(the)h(parameters)f(of)f(the)h(closure.)19 b(Hereafter)14 -b(is)f(an)f(example)g(implemen)o(ting)d(a)k(text)75 2072 -y(widget)h(with)f(a)h(scrollbar)g(\(see)h(the)f(help)g(pages)h(for)e -(details\):)153 2135 y Ft(\(text)18 b('.txt)g(:yscrollc)o(omm)o(an)o(d) -36 b(\(lambda)17 b(l)i(\(apply)f(.scroll)f('set)h(l\)\)\))153 -2180 y(\(scrollbar)e('.scroll)h(:command)f(\(lambda)h(l)i(\(apply)f -(.txt)g('yview)f(l\)\)\))153 2272 y(\(pack)h(.txt)g(:side)g("left"\)) -153 2317 y(\(pack)g(.scroll)f(:fill)h("y")g(:expand)f(#t)i(:side)f -("left"\))75 2497 y Fw(3)67 b(Tk)23 b(bindings)75 2596 -y FG(Bindings)18 b(are)h(Sc)n(heme)e(closures)75 2668 -y FD(The)e(Tk)f Fu(bind)g FD(command)d(asso)q(ciates)16 -b(Sc)o(heme)e(scripts)i(with)e(X)h(ev)o(en)o(ts.)20 b(Starting)15 -b(with)f(v)o(ersion)g(3.0)g(those)75 2714 y(scripts)j(m)o(ust)d(b)q(e)i -(Sc)o(heme)f(closures)661 2699 y Fy(2)681 2714 y FD(.)23 -b(Binding)15 b(closures)i(can)e(ha)o(v)o(e)h(parameters.)22 -b(Those)17 b(parameters)e(are)p 75 2741 705 2 v 121 2768 -a Fr(1)139 2779 y Fq(Old)c(syn)o(tax)f(for)h(callbac)o(ks)e(\(i.e.)15 -b(strings\))9 b(is)j(alw)o(a)o(ys)f(supp)q(orted)e(but)h(its)i(use)f -(is)g(deprecated.)121 2807 y Fr(2)139 2819 y Fq(Old)g(syn)o(tax)f(for)h -(bindings)e(\(i.e.)15 b(strings\))10 b(is)h(no)g(more)f(supp)q(orted.)j -(Old)f(bindings)d(scripts)h(m)o(ust)g(hence)g(b)q(e)i(rewritten.)p -eop -%%Page: 61 61 -61 60 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(61)p 75 64 1763 2 v 75 179 a FD(one)17 b(c)o(har)h(sym)o(b)q(ols)e -(\(with)h(the)h(same)e(con)o(v)o(en)o(tions)h(than)g(the)h(Tcl)f(\045)g -(c)o(har,)h(see)g(the)g Fu(bind)e FD(help)i(page)f(for)75 -224 y(details\).)h(F)m(or)13 b(instance,)i(the)f(follo)o(wing)d(Tcl)j -(script)153 303 y Ft(bind)19 b(.w)f()e -Fn(f)p Ft(puts)i("Press)g(on)h(widget)e(\045W)i(at)g(position)d(\045x)j -(\045y")p Fn(g)75 428 y FD(can)14 b(b)q(e)h(translated)f(in)o(to)153 -507 y Ft(\(bind)k(.w)h("")330 -552 y(\(lambda)e(\(|W|)h(x)h(y\))389 598 y(\(format)e(#t)i("Press)e(on) -i(widget)e(~A)i(at)g(position)d(~A)j(~A\\n")f(|W|)g(x)h(y\)\)\))75 -727 y Fl(Note:)35 b Fs(Usage)14 b(of)f(v)o(erticals)i(bars)f(for)g(the) -f Ft(W)g Fs(sym)o(b)q(ol)i(is)f(necessary)h(here)f(b)q(ecause)h(the)f -(Tk)f(to)q(olkit)i(is)f(case)g(sensitiv)o(e)75 777 y(\()p -Fl(e.g.)9 b Ft(W)i Fs(in)g(bindings)j(is)e(the)f(path)g(name)h(of)e -(the)h(windo)o(w)h(to)f(whic)o(h)g(the)h(ev)o(en)o(t)f(w)o(as)f(rep)q -(orted,)i(whereas)g Ft(w)e Fs(is)h(the)h(width)75 826 -y(\014eld)i(from)f(the)g(ev)o(en)o(t.)75 943 y FG(Bindings)18 -b(are)h(c)n(hained)75 1015 y FD(In)12 b(Tk4.0)e(and)h(later,)h -(bindings)f(are)h(c)o(hained)g(since)g(it)f(is)g(p)q(ossible)h(for)f -(sev)o(eral)h(bindings)f(to)h(matc)o(h)e(a)h(giv)o(en)g(X)75 -1061 y(ev)o(en)o(t.)18 b(If)10 b(the)i(bindings)e(are)h(asso)q(ciated)h -(with)f(di\013eren)o(t)h(tags,)f(then)g(eac)o(h)h(of)e(the)i(bindings)e -(will)f(b)q(e)j(executed,)75 1106 y(in)i(order.)22 b(By)15 -b(default,)f(a)h(class)g(binding)f(will)f(b)q(e)j(executed)h(\014rst,)e -(follo)o(w)o(ed)e(b)o(y)i(a)f(binding)g(for)h(the)g(widget,)75 -1152 y(a)g(binding)g(for)g(its)g(toplev)o(el,)g(and)h(an)f -Fu(all)g FD(binding.)21 b(The)16 b Fu(bindtags)e FD(command)f(ma)o(y)g -(b)q(e)j(used)h(to)e(c)o(hange)75 1198 y(this)h(order)h(for)f(a)g -(particular)g(windo)o(w)g(or)g(to)g(asso)q(ciate)h(additional)d -(binding)i(tags)g(with)g(the)h(windo)o(w)e(\(see)75 1243 -y(corresp)q(onding)h(help)g(page)g(for)f(details\).)23 -b(If)15 b(the)h(result)g(of)f(closure)h(in)g(the)g(bindings)f(c)o(hain) -g(is)g(the)h(sym)o(b)q(ol)75 1289 y Fu(break)p FD(,)c(the)j(next)f -(closures)h(of)f(the)g(c)o(hain)g(are)g(not)g(executed.)20 -b(The)14 b(example)f(b)q(elo)o(w)g(illustrates)h(this:)153 -1368 y Ft(\(pack)k(\(entry)f('.e\)\))153 1414 y(\(bind)h(.e)h -("")d(\(lambda)h(\(|A|\))624 1459 y(\(unless)g -(\(string->n)o(um)o(ber)f(|A|\))i('break\)\)\))75 1588 -y FD(Bindings)e(for)f(the)i(en)o(try)g Fu(.e)e FD(are)i(executed)h(b)q -(efore)e(those)h(for)f(its)g(class)g(\(i.e.)24 b Fu(Entry)p -FD(\).)g(This)15 b(allo)o(ws)g(us)i(to)75 1638 y(\014lter)c(the)g(c)o -(haracters)i(whic)o(h)d(are)h(e\013ectiv)o(ely)h(passed)f(to)g(the)g -Fu(.e)f FD(widget.)17 b(The)d(test)f(in)f(this)h(binding)f(closure)75 -1688 y(breaks)g(the)g(c)o(hain)g(of)f(bindings)g(if)f(the)i(t)o(yp)q -(ed)h(c)o(haracter)f(is)g(not)f(a)h(digit.)k(Otherwise,)d(the)f(follo)o -(wing)d(binding,)75 1737 y(the)16 b(one)f(for)g(the)h -Fu(Entry)e FD(class,)h(is)g(executed)i(and)e(inserts)h(the)g(c)o -(haracter)g(t)o(yp)q(ed)g(\(a)f(digit\).)21 b(Consequen)o(tly)m(,)75 -1787 y(the)14 b(simple)f(previous)h(binding)f(mak)o(es)g -Fu(.e)g FD(a)h(con)o(trolled)f(en)o(try)i(whic)o(h)f(only)f(accepts)i -(in)o(teger)g(n)o(um)o(b)q(ers.)p eop -%%Page: 62 62 -62 61 bop 75 47 a FC(62)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v eop -%%Page: 63 63 -63 62 bop 75 492 a FH(App)s(endix)33 b(B)75 701 y FA(Di\013erences)38 -b(with)h(R4RS)75 918 y FD(This)12 b(app)q(endix)f(summarizes)f(the)i -(main)e(di\013erences)k(b)q(et)o(w)o(een)f(the)f Fz(STk)g -FD(Sc)o(heme)f(implemen)o(tation)d(and)k(the)75 968 y(language)h -(describ)q(ed)j(in)d FB(R)510 953 y Fy(4)522 968 y Fx(RS)r -FD(.)75 1114 y Fw(1)67 b(Sym)n(b)r(ols)75 1208 y Fz(STk)20 -b FD(sym)o(b)q(ol)d(syn)o(tax)j(has)f(b)q(een)i(augmen)o(ted)d(to)h -(allo)o(w)f(case)i(signi\014can)o(t)f(sym)o(b)q(ols.)33 -b(This)20 b(extension)g(is)75 1257 y(discussed)c(in)d(6.4.)75 -1309 y(The)h(follo)o(wing)e(sym)o(b)q(ols)g(are)i(de\014ned)h(in)f(the) -g(global)e(en)o(vironmen)o(t.)137 1407 y Fm(\017)21 b -Fu(*debug*)p FD(.)16 b(Setting)d Fu(*debug*)e FD(to)h -Fu(#t)h FD(prev)o(en)o(ts)h(macro)d(inlining)g(and)h(expression)i(reco) -q(ding)f(\(see)h(6.25\).)137 1496 y Fm(\017)21 b Fu(*gc-verbose*)p -FD(.)c(If)d Fu(*gc-verbose*)d FD(is)j Fu(#t)p FD(,)g(a)g(message)g -(will)f(b)q(e)i(prin)o(ted)f(b)q(efore)i(and)e(after)g(eac)o(h)h(run) -179 1546 y(of)e(garbage)h(collector.)k(The)c(message)g(is)g(prin)o(ted) -g(on)g(the)g(standard)g(error)h(stream.)137 1635 y Fm(\017)21 -b Fu(*load-verbose*)p FD(.)i(If)17 b Fu(*load-verbose*)c -FD(is)k Fu(#t)p FD(,)f(the)i(absolute)e(path)h(name)e(of)h(eac)o(h)i -(loaded)e(\014le)h(is)179 1685 y(prin)o(ted)d(b)q(efore)h(its)f -(e\013ectiv)o(e)h(reading.)j(File)13 b(names)g(are)i(prin)o(ted)f(on)f -(the)i(standard)f(error)h(stream.)137 1774 y Fm(\017)21 -b Fu(*load-path*)13 b FD(m)o(ust)h(con)o(tain)h(a)f(list)h(of)g -(strings.)22 b(Eac)o(h)16 b(string)f(is)g(tak)o(en)g(as)h(a)f -(directory)g(path)h(name)179 1824 y(in)d(whic)o(h)h(a)f(\014le)h(will)e -(b)q(e)i(searc)o(hed)i(for)d(loading.)j(This)e(v)n(ariable)e(can)i(b)q -(e)h(set)f(automatically)d(from)h(the)179 1874 y Fu(STK)p -248 1874 14 2 v 15 w(LOAD)p 351 1874 V 15 w(PATH)h FD(shell)h(v)n -(ariable.)i(See)f Fu(stk\(1\))e FD(for)g(more)g(details.)137 -1963 y Fm(\017)21 b Fu(*load-suffixes*)14 b FD(m)o(ust)i(con)o(tain)g -(a)h(list)g(of)f(strings.)28 b(When)17 b(the)h(system)f(try)g(to)g -(load)f(a)h(\014le)g(in)g(a)179 2013 y(giv)o(en)d(directory)i -(\(according)f(to)f Fu(*load-path*)f FD(v)n(alue\),)h(it)g(will)g -(\014rst)h(try)h(to)e(load)g(it)h(without)f(su\016x.)179 -2063 y(If)f(this)h(\014le)g(do)q(es)g(not)g(exist,)g(the)g(system)g -(will)e(sequen)o(tially)h(try)h(to)g(\014nd)g(the)g(\014le)g(b)o(y)f -(app)q(ending)h(eac)o(h)179 2113 y(su\016x)g(of)f(this)h(list.)j(A)d(t) -o(ypical)f(v)n(alue)h(for)f(this)h(v)n(ariable)f(ma)o(y)f(b)q(e)i -Fu(\("stk")21 b("stklos")f("scm")h("so"\))p FD(.)137 -2202 y Fm(\017)g Fu(*help-path*)13 b FD(m)o(ust)h(con)o(tain)h(a)f -(list)h(of)g(strings.)22 b(Eac)o(h)16 b(string)f(is)g(tak)o(en)g(as)h -(a)f(directory)g(path)h(name)179 2252 y(in)e(whic)o(h)g(do)q(cumen)o -(tation)f(\014les)i(are)f(searc)o(hed.)21 b(This)14 b(v)n(ariable)g -(can)g(b)q(e)h(set)g(automatically)c(from)i(the)179 2302 -y Fu(STK)p 248 2302 V 15 w(HELP)p 351 2302 V 15 w(PATH)g -FD(shell)h(v)n(ariable.)i(See)f Fu(stk\(1\))e FD(for)g(more)g(details.) -137 2391 y Fm(\017)21 b Fu(*argc*)11 b FD(con)o(tains)h(the)h(n)o(um)o -(b)q(er)f(of)g(argumen)o(ts)f(\(0)h(if)g(none\),)h(not)f(including)f -(in)o(terpreter)j(options.)k(See)179 2441 y Fu(stk\(1\))12 -b FD(for)i(more)f(details.)137 2530 y Fm(\017)21 b Fu(*argv*)14 -b FD(con)o(tains)i(a)f(Sc)o(heme)h(list)f(whose)h(elemen)o(ts)g(are)g -(the)h(argumen)o(ts)e(\(not)g(including)g(the)h(in)o(ter-)179 -2580 y(preter)h(options\),)e(in)g(order,)h(or)f(an)g(empt)o(y)g(list)g -(if)f(there)j(are)f(no)f(argumen)o(ts.)22 b(See)16 b -Fu(stk\(1\))e FD(for)h(more)179 2630 y(details.)137 2719 -y Fm(\017)21 b Fu(*program-name*)12 b FD(con)o(tains)i(the)i(\014le)e -(name)g(sp)q(eci\014ed)i(with)f(the)g Fu(-file)f FD(option,)f(if)h -(presen)o(t.)22 b(Other-)179 2769 y(wise,)13 b(it)h(con)o(tains)f(the)i -(name)d(through)i(whic)o(h)f(the)i(in)o(terpreter)g(w)o(as)f(in)o(v)o -(ok)o(ed.)j(See)e Fu(stk\(1\))d FD(for)h(more)179 2819 -y(details.)935 2924 y(63)p eop %%Page: 64 64 -64 63 bop 75 47 a FC(64)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 137 179 a Fm(\017)21 b Fu(*print-banner*)p -FD(.)f(If)c Fu(*print-verbose*)c FD(is)k Fu(#f)p FD(,)f(the)i(usual)e -(cop)o(yrigh)o(t)g(message)h(is)f(not)h(displa)o(y)o(ed)179 -229 y(when)e(the)h(in)o(terpreter)g(is)f(started.)137 -312 y Fm(\017)21 b Fu(*root*)12 b FD(designates)j(the)g(Tk)f(main)e -(windo)o(w)h(\(see)i(A-2\).)j(This)c(v)n(ariable)f(is)h(not)g(set)h(if) -e(the)i(Tk)f(to)q(olkit)179 362 y(is)g(not)f(initialized.)75 -499 y Fw(2)67 b(T)n(yp)r(es)75 590 y Fz(STk)17 b FD(implemen)o(ts)d -(all)i(the)h(t)o(yp)q(es)h(de\014ned)g(as)f(mandatory)e(in)h -FB(R)1142 575 y Fy(4)1154 590 y Fx(RS)r FD(.)27 b(Ho)o(w)o(ev)o(er,)18 -b(complex)d(n)o(um)o(b)q(ers)i(and)75 640 y(rational)12 -b(n)o(um)o(b)q(ers)h(\(whic)o(h)g(are)h(de\014ned)g(but)g(not)f -(required)h(in)f FB(R)1130 625 y Fy(4)1142 640 y Fx(RS)r -FD(\))h(are)g(not)f(implemen)o(ted.)j(The)d(lac)o(k)g(of)75 -690 y(these)i(t)o(yp)q(es)g(implies)d(that)i(some)f(functions)h(of)f -FB(R)882 675 y Fy(4)894 690 y Fx(RS)k FD(are)d(not)g(de\014ned.)75 -740 y(Some)d(t)o(yp)q(es)h(whic)o(h)g(are)g(not)g(de\014ned)h(in)e -FB(R)764 725 y Fy(4)776 740 y Fx(RS)j FD(are)f(implem)o(en)o(ted)d(in)h -Fz(STk)p FD(.)18 b(Those)12 b(t)o(yp)q(es)h(are)f(listed)g(b)q(elo)o -(w:)137 823 y Fm(\017)21 b FD(input)13 b(string)h(p)q(ort)h(t)o(yp)q(e) -f(\(6.10\))137 906 y Fm(\017)21 b FD(output)14 b(string)g(p)q(ort)g(t)o -(yp)q(e)g(\(6.10\))137 990 y Fm(\017)21 b FD(k)o(eyw)o(ord)14 -b(t)o(yp)q(e)g(\(6.11\))137 1073 y Fm(\017)21 b FD(Tk)14 -b(command)d(t)o(yp)q(e)j(\(6.12\))137 1156 y Fm(\017)21 -b FD(en)o(vironmen)o(t)13 b(t)o(yp)q(e)h(\(6.14\))137 -1239 y Fm(\017)21 b FD(macro)12 b(t)o(yp)q(e)j(\(6.15\))137 -1323 y Fm(\017)21 b FD(address)15 b(t)o(yp)q(e)f(\(6.17\))137 -1406 y Fm(\017)21 b FD(hash)14 b(table)g(t)o(yp)q(e)g(\(6.19\))137 -1489 y Fm(\017)21 b FD(Regular)13 b(expression)i(t)o(yp)q(e)f(\(6.20\)) -137 1573 y Fm(\017)21 b FD(pro)q(cess)15 b(t)o(yp)q(e)g(\(6.22\))137 -1656 y Fm(\017)21 b FD(so)q(c)o(k)o(et)15 b(t)o(yp)q(e)f(\(6.23\))75 -1794 y Fw(3)67 b(Pro)r(cedures)75 1885 y FD(The)14 b(follo)o(wing)d -(pro)q(cedures)16 b(are)e(required)g(b)o(y)g FB(R)863 -1870 y Fy(4)875 1885 y Fx(RS)i FD(and)d(are)h(not)g(implem)o(en)o(ted)e -(in)h(the)h Fz(STk)g FD(in)o(terpreter.)137 1968 y Fm(\017)21 -b FD(transcript-o\013)137 2051 y Fm(\017)g FD(transcript-on)75 -2134 y Fu(Transcript-off)9 b FD(and)k Fu(transcript-on)c -FD(can)k(b)q(e)g(sim)o(ulated)d(with)i(v)n(arious)g(Unix)g(to)q(ols)g -(suc)o(h)h(as)f Fu(script)f FD(or)75 2184 y Fu(fep)p -FD(.)75 2269 y(The)i(follo)o(wing)d(pro)q(cedures)15 -b(are)e(not)f(implemen)o(ted)f(in)h(the)h Fz(STk)g FD(in)o(terpreter)h -(whereas)g(they)f(are)g(de\014ned)h(in)75 2319 y FB(R)105 -2304 y Fy(4)117 2319 y Fx(RS)j FD(\(but)d(not)g(required\).)19 -b(They)14 b(are)g(all)f(related)h(to)g(complex)f(or)h(rational)e(n)o -(um)o(b)q(ers.)137 2402 y Fm(\017)21 b FD(n)o(umerator)137 -2486 y Fm(\017)g FD(denominator)137 2569 y Fm(\017)g -FD(rationalize)137 2652 y Fm(\017)g FD(mak)o(e-rectangular)137 -2736 y Fm(\017)g FD(mak)o(e-p)q(olar)137 2819 y Fm(\017)g -FD(real-part)p eop -%%Page: 65 65 -65 64 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(65)p 75 64 1763 2 v 137 179 a Fm(\017)21 b FD(imag-part)137 -262 y Fm(\017)g FD(magnitude)137 345 y Fm(\017)g FD(angle)p +64 63 bop 37 45 a FE(64)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fw(\(bye)24 b FD(r)n(etc)n(o)n(de)s +Fw(\))1358 b FF(pro)q(cedure)37 247 y Fw(\(bye\))1522 +b FF(pro)q(cedure)37 327 y(Exits)17 b(the)f FB(STk)f +FF(in)o(terpreter)h(with)h(the)f(sp)q(eci\014ed)i(in)o(teger)e(return)g +(co)q(de.)23 b(If)17 b(omitted,)f(the)g(in)o(terpreter)37 +383 y(terminates)g(with)f(a)g(return)g(co)q(de)h(of)f(0.)p eop +%%Page: 65 65 +65 64 bop 809 1056 a FJ(P)m(art)32 b(I)s(I)741 1264 y +FC(Annexes)934 2901 y FF(65)p eop %%Page: 66 66 -66 65 bop 75 47 a FC(66)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v eop +66 65 bop eop %%Page: 67 67 -67 66 bop 75 491 a FH(App)s(endix)33 b(C)75 699 y FA(An)38 -b(in)m(tro)s(duction)g(to)h Fe(STklos)75 941 y Fw(1)67 -b(In)n(tro)r(duction)75 1034 y Fz(STklos)14 b FD(is)e(the)h(ob)r(ject)h -(orien)o(ted)f(la)o(y)o(er)f(of)g Fz(STk)p FD(.)18 b(Its)13 -b(implemen)o(tatio)o(n)d(is)j(deriv)o(ed)g(from)e(v)o(ersion)h(1.3)g -(of)g(the)75 1084 y(Gregor)h(Kic)o(kzales)g(Tin)o(y)f(Clos)g(pac)o(k)n -(age)g([12)o(].)17 b(Ho)o(w)o(ev)o(er,)c(it)f(has)h(b)q(een)h(extended) -g(to)e(b)q(e)i(as)e(close)i(as)e(p)q(ossible)75 1133 -y(to)17 b(CLOS,)g(the)h(Common)c(Lisp)j(Ob)r(ject)i(System[6)o(].)28 -b(Some)16 b(features)i(of)f Fz(STklos)i FD(are)e(also)g(issued)h(from) -75 1183 y(Dylan[13)n(])13 b(or)h(SOS[14].)75 1234 y(Brie\015y)d -(stated,)g(the)g Fz(STklos)h FD(extension)f(giv)o(es)f(the)h(user)g(a)g -(full)e(ob)r(ject)i(orien)o(ted)g(system)f(with)g(meta-classes,)75 -1284 y(m)o(ultiple)j(inheritance,)i(generic)h(functions)g(and)f(m)o -(ulti-m)o(etho)q(ds.)k(F)m(urthermore,)c(the)h(whole)f(implem)o(en)o -(ta-)75 1333 y(tion)i(relies)h(on)f(a)h(true)g(meta)e(ob)r(ject)j -(proto)q(col,)f(in)f(the)h(spirit)f(of)g(the)h(one)g(de\014ned)h(for)e -(CLOS[15)o(].)29 b(This)75 1383 y(mo)q(del)12 b(has)h(also)f(b)q(een)i -(used)g(to)f(em)o(b)q(o)q(dy)f(the)i(prede\014ned)h(Tk)e(widgets)g(in)g -(a)g(hierarc)o(h)o(y)g(of)g Fz(STklos)h FD(classes.)75 -1433 y(This)i(set)h(of)f(classes)h(p)q(ermits)f(to)g(simplify)e(the)j -(core)g(Tk)f(usage)g(b)o(y)g(pro)o(viding)f(homogeneous)h(accesses)j -(to)75 1483 y(widget)e(options)h(and)f(b)o(y)h(hiding)e(the)i(lo)o(w)f -(lev)o(el)g(details)h(of)f(Tk)g(widgets,)h(suc)o(h)h(as)f(naming)d(con) -o(v)o(en)o(tions.)75 1533 y(F)m(urthermore,)j(as)g(exp)q(ected,)i -(using)e(of)f(ob)r(jects)i(facilitates)e(co)q(de)i(reuse)g(and)e -(de\014nition)h(of)f(new)h(widgets)75 1583 y(classes.)75 -1633 y(The)e(purp)q(ose)i(of)d(this)h(app)q(endix)g(is)g(to)g(in)o(tro) -q(duce)h(brie\015y)f(the)g Fz(STklos)h FD(pac)o(k)n(age)f(and)g(in)g -(no)f(case)i(will)e(it)75 1683 y(replace)e(the)f Fz(STklos)h -FD(reference)h(man)o(ual)9 b(\(whic)o(h)j(needs)h(to)e(b)q(e)i(urgen)o -(tly)e(written)h(no)o(w)g(.)6 b(.)h(.)f(\).)17 b(In)12 -b(particular,)75 1733 y(metho)q(ds)j(relativ)o(e)h(to)f(the)i(meta)d -(ob)r(ject)j(proto)q(col)e(and)h(access)h(to)f(the)g(Tk)g(to)q(olkit)e -(will)h(not)g(b)q(e)i(describ)q(ed)75 1783 y(here.)75 -1925 y Fw(2)67 b(Class)21 b(de\014nition)k(and)e(instan)n(tiation)75 -2026 y FG(2.1)56 b(Class)19 b(de\014nition)75 2104 y -FD(A)e(new)g(class)g(is)g(de\014ned)h(with)e(the)i Fu(define-class)c -FD(macro.)25 b(The)18 b(syn)o(tax)e(of)g Fu(define-class)f -FD(is)h(close)i(to)75 2154 y(CLOS)c Fu(defclass)p FD(:)153 -2245 y Ft(\(define-cla)o(ss)i Fl(class)21 b Ft(\()p Fn(h)p -Fs(sup)q(erclass)730 2249 y Fr(1)749 2245 y Fn(i)f(h)p -Fs(sup)q(erclass)965 2249 y Fr(2)984 2245 y Fn(i)p Ft(...\))212 -2291 y(\()p Fn(h)p Fs(slot)g(description)507 2295 y Fr(1)527 -2291 y Fn(i)g(h)p Fs(slot)g(description)837 2295 y Fr(2)857 -2291 y Fn(i)p Ft(...\))212 2337 y Fn(h)p Fs(metaclass)h(option)p -Fn(i)q Ft(\))75 2477 y FD(The)13 b Fm(h)p FD(metaclass)g(option)p -Fm(i)e FD(will)g(not)h(b)q(e)h(discussed)h(in)d(this)h(app)q(endix.)18 -b(The)12 b Fm(h)p FD(sup)q(erclass)p Fm(i)r FD(es)h(list)f(sp)q -(eci\014es)i(the)75 2527 y(sup)q(er)j(classes)f(of)f -FB(class)k FD(\(see)d(3)g(for)f(more)f(details\).)22 -b(A)16 b Fm(h)p FD(slot)e(description)p Fm(i)i FD(giv)o(es)f(the)h -(name)e(of)h(a)g(slot)g(and,)75 2577 y(ev)o(en)o(tually)m(,)g(some)f -(\\prop)q(erties")j(of)e(this)g(slot)h(\(suc)o(h)g(as)g(its)f(initial)f -(v)n(alue,)h(the)h(function)f(whic)o(h)h(p)q(ermit)f(to)75 -2627 y(access)h(its)e(v)n(alue,)e(.)7 b(.)f(.)h(\).)18 -b(Slot)13 b(descriptions)i(will)d(b)q(e)j(discussed)h(in)d(3.3.)75 -2677 y(As)j(an)g(exemple,)f(consider)h(no)o(w)f(that)h(w)o(e)g(ha)o(v)o -(e)g(to)f(de\014ne)i(a)e(complex)f(n)o(um)o(b)q(er.)23 -b(This)16 b(can)g(b)q(e)g(done)g(with)75 2727 y(the)e(follo)o(wing)e -(class)i(de\014nition:)153 2819 y Ft(\(define-cla)o(ss)36 -b()16 b(\()o(\))935 2924 y FD(67)p eop +67 66 bop 37 502 a FJ(App)s(endix)33 b(A)37 710 y FC(Using)39 +b(the)g(Tk)g(to)s(olkit)37 933 y FF(When)15 b FB(STk)e +FF(detects)g(that)g(a)h FD(tk-c)n(ommand)19 b FF(m)o(ust)13 +b(b)q(e)h(called,)h(parameters)e(are)g(pro)q(cessed)i(to)e(b)q(e)h +(recog-)37 990 y(nized)i(b)o(y)e(the)g(corresp)q(onding)h(to)q(olkit)f +(function.)21 b(Since)15 b(the)f(Tk)g(to)q(olkit)g(is)h(left)f +(\(mostly\))f(unmo)q(di\014ed,)37 1046 y(all)18 b(its)e(primitiv)o(es)i +(\\think")e(there)h(is)f(a)g(running)i(Tcl)f(in)o(terpreter)f(b)q +(ehind)i(the)f(scene.)23 b(Consequen)o(tly)l(,)37 1103 +y(to)18 b(w)o(ork)e(with)i(the)g(Tk)f(to)q(olkit,)i(a)e(little)i(set)e +(of)h(rewriting)g(rules)g(m)o(ust)f(b)q(e)i(kno)o(wn.)27 +b(These)18 b(rules)g(are)37 1159 y(describ)q(ed)g(hereafter.)37 +1216 y Fn(Note:)34 b Fu(This)11 b(app)q(endix)f(is)h(placed)g(here)h +(to)f(p)q(ermit)f(an)g Fk(STk)h Fu(user)h(to)f(mak)o(e)e(programs)h +(with)g(the)h(original)e(Tcl/Tk)37 1273 y(do)q(cumen)o(tation)15 +b(b)o(y)h(hand.)25 b(In)16 b(no)g(case)h(will)e(it)g(substitute)j(to)e +(the)g(abundan)o(t)g(Tcl/Tk)g(man)o(ual)e(pages)i(nor)g(to)37 +1329 y(the)f(excellen)o(t)g(b)q(o)q(ok)e(b)o(y)h(J.)g(Ousterhout[11])37 +1476 y Fy(1)67 b(Calling)24 b(a)e(Tk-command)37 1578 +y FF(Since)g(Tcl)e(uses)g(strings)f(to)g(comm)o(unicate)h(with)g(the)g +(Tk)f(to)q(olkit,)h(parameters)f(to)g(a)g FD(Tk-c)n(ommand)37 +1635 y FF(m)o(ust)13 b(b)q(e)h(translated)f(to)g(strings)g(b)q(efore)g +(calling)i(the)f(C)f(function)h(whic)o(h)g(implemen)o(t)g(it.)20 +b(The)13 b(follo)o(wing)37 1691 y(con)o(v)o(ersions)20 +b(are)f(done,)h(dep)q(ending)h(on)e(the)h(t)o(yp)q(e)f(of)g(the)g +(parameter)f(that)h FB(STk)f FF(m)o(ust)h(giv)o(e)g(to)g(the)37 +1747 y(to)q(olkit:)151 1843 y FE(sym)o(b)q(ol:)j FF(the)15 +b(prin)o(t)h(name)f(of)g(the)g(sym)o(b)q(ol;)151 1918 +y FE(n)o(um)o(b)q(er:)21 b FF(the)15 b(external)h(represen)o(tation)f +(of)g(the)g(n)o(um)o(b)q(er)h(expressed)g(in)g(radix)f(10;)151 +1992 y FE(string:)23 b FF(no)15 b(con)o(v)o(ersion;)151 +2066 y FE(k)o(eyw)o(ord:)20 b FF(the)f(prin)o(t)g(name)g(of)f(the)h(k)o +(eyw)o(ord)f(where)h(the)g(initial)i(semicolon)f(has)e(b)q(een)251 +2122 y(replaced)f(b)o(y)e(a)g(dash)g(\(\\-"\);)151 2197 +y FE(b)q(o)q(olean:)25 b FF(the)15 b(string)g("0")f(if)i +Fw(#f)f FF(and)g("1")g(if)g Fw(#t)151 2271 y FE(tk-command:)23 +b FF(the)15 b(name)g(of)g(the)g FD(tk-c)n(ommand)151 +2345 y FE(closure:)22 b FF(the)16 b(address)f(of)g(the)g(closure)h +(using)g(the)f(represen)o(tation)g(sho)o(wn)g(in)h(6.17.)151 +2419 y FE(otherwise:)22 b FF(the)16 b(external)f(\\slashi\014ed")i(v)o +(ersion)e(of)g(the)g(ob)s(ject.)37 2508 y(As)22 b(an)f(example,)i(let)e +(us)h(mak)o(e)e(a)h(button)g(with)g(a)g(lab)q(el)i(con)o(taining)f(the) +f(string)g Fw("Hello,)i(word")p FF(.)37 2558 y(According)17 +b(the)e(original)h(Tk/Tcl)f(do)q(cumen)o(tation,)h(this)f(can)h(b)q(e)g +(done)f(in)h(Tcl)g(with)125 2648 y Fv(button)k(.hello)h(-text)g +("Hello,)f(world")37 2787 y FF(F)l(ollo)o(wing)c(the)g(rewriting)f +(rules)h(expressed)g(ab)q(o)o(v)o(e,)f(this)g(can)h(b)q(e)g(done)f(in)h +FB(STk)f FF(with)934 2901 y(67)p eop %%Page: 68 68 -68 67 bop 75 47 a FC(68)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 204 1041 a @beginspecial 0 @llx 0 @lly -361 @urx 217 @ury 3610 @rwi @setspecial +68 67 bop 37 45 a FE(68)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(\(button)j('.hello)g('-text)h("Hello,)f +(world"\))37 320 y FF(This)14 b(call)g(de\014nes)f(a)g(new)g(widget)g +(ob)s(ject)f(whic)o(h)h(is)g(stored)g(in)g(the)g FB(STk)f +FF(v)m(ariable)i Fw(.hello)p FF(.)k(This)c(ob)s(ject)37 +369 y(can)i(b)q(e)g(used)g(as)f(a)g(pro)q(cedure)h(to)e(customize)i +(our)f(button.)20 b(F)l(or)15 b(instance,)g(setting)h(the)f(b)q(order)h +(of)f(this)37 419 y(button)g(to)g(5)g(pixels)i(wide)f(and)f(its)h(bac)o +(kground)f(to)f(gra)o(y)g(w)o(ould)i(b)q(e)g(done)f(in)h(Tcl)g(with)125 +499 y Fv(.hello)k(configure)g(-border)g(5)i(-background)e(gray)37 +628 y FF(In)c FB(STk)f FF(this)h(w)o(ould)f(b)q(e)h(expressed)g(as)125 +707 y Fv(\(.hello)k('configure)g('-border)g(5)h('-background)f +("gray"\))37 837 y FF(Since)c(k)o(eyw)o(ord)d(colon)h(is)g(replaced)h +(b)o(y)e(a)h(dash)f(when)h(a)g Fw(Tk-command)e FF(is)i(called,)h(this)f +(expression)h(could)37 886 y(also)h(ha)o(v)o(e)e(b)q(een)j(written)e +(as:)125 966 y Fv(\(.hello)20 b('configure)i Ff(:b)q(order)e +Fv(5)k Ff(:bac)o(kground)c Fv("gray"\))37 1157 y Fy(2)67 +b(Asso)r(ciating)22 b(Callbac)n(ks)h(to)f(Tk-commands)37 +1252 y FF(Starting)h(with)g(v)o(ersion)f(3.0,)h FB(STk)f +FF(callbac)o(ks)i(are)e(Sc)o(heme)h(closures)1311 1236 +y FA(1)1331 1252 y FF(.)42 b(Apart)22 b(scroll)i(commands,)37 +1302 y(callbac)o(ks)d(are)e(Sc)o(hemes)h(pro)q(cedures)g(without)g +(parameter.)31 b(Supp)q(ose)21 b(for)d(example,)j(that)e(w)o(e)g(w)o +(an)o(t)37 1352 y(to)e(asso)q(ciate)g(a)f(command)h(with)g(the)h +(previous)f Fw(.hello)f FF(button.)25 b(In)18 b(Tcl,)f(suc)o(h)h(a)e +(command)h(can)g(b)q(e)37 1402 y(expressed)f(as)125 1481 +y Fv(.hello)k(configure)g(-command)g Fp(f)p Fv(puts)h(stdout)g("Hello,) +f(world";)g(destroy)h(.)p Fp(g)37 1610 y FF(In)16 b FB(STk)p +FF(,)e(w)o(e)h(can)h(write)125 1690 y Fv(\(.hello)k('configure)i +Ff(:command)f Fv(\(lambda)f(\(\))887 1739 y(\(display)h("Hello,)f +(world\\n"\))887 1789 y(\(destroy)h(*root*\)\)\))37 1925 +y FF(When)13 b(the)g(user)f(will)i(press)f(the)f(mouse)h(left)g +(button,)f(the)g(closure)i(asso)q(ciated)e(to)g(the)g +Fw(:command)g FF(option)37 1982 y(will)18 b(b)q(e)e(ev)m(aluated)h(in)g +(the)f(global)g(en)o(vironmen)o(t.)22 b(Ev)m(aluation)17 +b(of)e(the)h(giv)o(en)g(closure)h(will)g(displa)o(y)g(the)37 +2038 y(message)e(and)h(call)g(the)f Fw(destroy)f FD(Tk-c)n(ommand)p +FF(.)37 2094 y Fn(Note:)67 b Fu(The)16 b(ro)q(ot)g(widget)g(is)g +(denoted)g(\\.")24 b(in)15 b(Tcl.)24 b(This)15 b(con)o(v)o(en)o(tion)h +(is)g(am)o(biguous)d(with)j(the)g(dotted)g(pair)37 2151 +y(con)o(v)o(en)o(tion)i(and)f(the)h(dot)f(m)o(ust)f(b)q(e)i(quoted)g +(to)f(a)o(v)o(oid)f(problems.)28 b(Since)18 b(this)f(problem)f(arises)i +(so)g(often,)f(the)37 2207 y(v)n(ariable)c Fv(*root*)g +Fu(has)h(b)q(een)h(in)o(tro)q(duced)g(in)e Fk(STk)h Fu(to)g(denote)h +(the)f(Tk)g(main)e(windo)o(w.)37 2328 y FI(Managing)20 +b(Widget)d(Scrollbars)37 2407 y FF(When)d(using)h(scrollbars,)f(Tk)f +(library)h(passes)f(parameters)g(to)g(the)g(widget)h(asso)q(ciated)g +(to)f(the)g(scrollbar)37 2457 y(\(and)23 b FD(vic)n(e)f(versa)p +FF(\).)40 b(Let)23 b(us)f(lo)q(ok)h(at)e(a)h(text)g(widget)g(with)h(an) +f(asso)q(ciated)h(scrollbar.)41 b(When)23 b(the)37 2506 +y(scrollbar)17 b(is)f(mo)o(v)o(ed,)f(the)h(command)g(of)f(the)h(asso)q +(ciated)g(widget)g(is)g(in)o(v)o(ok)o(ed)g(to)f(c)o(hange)h(its)g +(view.)22 b(On)37 2556 y(the)16 b(other)g(side,)g(when)g(bro)o(wsing)g +(the)g(con)o(ten)o(t)f(of)g(the)h(text)f(widget)h(\(with)g(arro)o(ws)e +(for)h(example\),)h(the)37 2606 y(scrollbar)f(is)f(up)q(dated)g(b)o(y)f +(calling)j(it's)d(asso)q(ciated)g(closure.)20 b(Tk)14 +b(library)g(passes)f(p)q(osition)i(informations)37 2656 +y(to)k(scrolling)h(closures.)32 b(This)20 b(informations)f(are)f(the)h +(parameters)g(of)f(the)h(closure.)32 b(Hereafter)19 b(is)g(an)37 +2706 y(example)e(implemen)o(ting)g(a)e(text)f(widget)i(with)f(a)g +(scrollbar)h(\(see)f(the)g(help)i(pages)e(for)f(details\):)p +37 2745 735 2 v 89 2771 a Ft(1)107 2787 y Fs(Old)f(syn)o(tax)h(for)f +(callbac)o(ks)i(\(i.e.)i(strings\))d(is)g(alw)o(a)o(ys)g(supp)q(orted)h +(but)e(its)g(use)h(is)f(deprecated.)p eop +%%Page: 69 69 +69 68 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(69)p 37 64 1838 2 v 125 190 a Fv(\(text)20 b('.txt)h(:yscrollcommand) +41 b(\(lambda)20 b(l)i(\(apply)e(.scroll)g('set)h(l\)\)\))125 +240 y(\(scrollbar)e('.scroll)i(:command)f(\(lambda)g(l)i(\(apply)e +(.txt)h('yview)g(l\)\)\))125 340 y(\(pack)f(.txt)h(:side)g("left"\))125 +390 y(\(pack)f(.scroll)h(:fill)g("y")g(:expand)f(#t)h(:side)g("left"\)) +37 582 y Fy(3)67 b(Tk)23 b(bindings)37 685 y FI(Bindings)c(are)f(Sc)n +(heme)f(closures)37 764 y FF(The)h(Tk)g Fw(bind)f FF(command)g(asso)q +(ciates)h(Sc)o(heme)g(scripts)g(with)g(X)g(ev)o(en)o(ts.)27 +b(Starting)17 b(with)h(v)o(ersion)g(3.0)37 814 y(those)h(scripts)f(m)o +(ust)g(b)q(e)h(Sc)o(heme)g(closures)808 797 y FA(2)828 +814 y FF(.)30 b(Binding)20 b(closures)f(can)f(ha)o(v)o(e)g(parameters.) +29 b(Those)18 b(pa-)37 864 y(rameters)c(are)f(one)h(c)o(har)g(sym)o(b)q +(ols)g(\(with)g(the)h(same)e(con)o(v)o(en)o(tions)h(than)g(the)g(Tcl)h +(\045)f(c)o(har,)f(see)h(the)h Fw(bind)37 913 y FF(help)i(page)e(for)g +(details\).)20 b(F)l(or)15 b(instance,)g(the)h(follo)o(wing)g(Tcl)f +(script)125 995 y Fv(bind)21 b(.w)g()e +Fp(f)p Fv(puts)h("Press)h(on)g(widget)g(\045W)g(at)h(position)e(\045x)h +(\045y")p Fp(g)37 1126 y FF(can)16 b(b)q(e)g(translated)f(in)o(to)125 +1207 y Fv(\(bind)20 b(.w)i(")o(")321 1257 +y(\(lambda)e(\(|W|)h(x)h(y\))386 1307 y(\(format)f(#t)g("Press)f(on)i +(widget)e(~A)i(at)f(position)f(~A)i(~A\\n")e(|W|)i(x)f(y\)\)\))37 +1445 y Fn(Note:)34 b Fu(Usage)11 b(of)f(v)o(erticals)h(bars)h(for)e +(the)i Fv(W)e Fu(sym)o(b)q(ol)f(is)i(necessary)i(here)f(b)q(ecause)g +(the)g(Tk)e(to)q(olkit)g(is)h(case)g(sensitiv)o(e)37 +1501 y(\()p Fn(e.g.)j Fv(W)g Fu(in)f(bindings)h(is)g(the)g(path)g(name) +f(of)g(the)i(windo)o(w)e(to)h(whic)o(h)g(the)g(ev)o(en)o(t)h(w)o(as)f +(rep)q(orted,)h(whereas)g Fv(w)f Fu(is)f(the)37 1558 +y(width)h(\014eld)g(from)e(the)j(ev)o(en)o(t.)37 1678 +y FI(Bindings)k(are)f(c)n(hained)37 1758 y FF(In)g(Tk4.0)e(and)h +(later,)g(bindings)i(are)e(c)o(hained)h(since)g(it)g(is)f(p)q(ossible)i +(for)d(sev)o(eral)i(bindings)g(to)f(matc)o(h)f(a)37 1807 +y(giv)o(en)d(X)f(ev)o(en)o(t.)19 b(If)12 b(the)g(bindings)i(are)e(asso) +q(ciated)h(with)f(di\013eren)o(t)g(tags,)g(then)g(eac)o(h)g(of)g(the)g +(bindings)i(will)37 1857 y(b)q(e)g(executed,)h(in)f(order.)19 +b(By)13 b(default,)h(a)f(class)h(binding)h(will)g(b)q(e)f(executed)g +(\014rst,)f(follo)o(w)o(ed)h(b)o(y)f(a)g(binding)37 1907 +y(for)i(the)h(widget,)f(a)g(binding)j(for)c(its)i(toplev)o(el,)g(and)g +(an)f Fw(all)g FF(binding.)22 b(The)16 b Fw(bindtags)e +FF(command)i(ma)o(y)37 1957 y(b)q(e)h(used)g(to)e(c)o(hange)i(this)f +(order)g(for)f(a)h(particular)h(windo)o(w)f(or)g(to)f(asso)q(ciate)h +(additional)i(binding)g(tags)37 2007 y(with)j(the)f(windo)o(w)g(\(see)g +(corresp)q(onding)h(help)h(page)e(for)f(details\).)35 +b(If)21 b(the)f(result)h(of)e(closure)i(in)g(the)37 2056 +y(bindings)g(c)o(hain)f(is)g(the)f(sym)o(b)q(ol)h Fw(break)p +FF(,)f(the)g(next)g(closures)h(of)f(the)g(c)o(hain)h(are)e(not)h +(executed.)33 b(The)37 2106 y(example)17 b(b)q(elo)o(w)e(illustrates)i +(this:)125 2188 y Fv(\(pack)j(\(entry)h('.e\)\))125 2237 +y(\(bind)f(.e)i("")d(\(lambda)h(\(|A|\))648 +2287 y(\(unless)g(\(string->number)f(|A|\))i('break\)\)\))37 +2425 y FF(Bindings)d(for)d(the)h(en)o(try)g Fw(.e)f FF(are)h(executed)g +(b)q(efore)g(those)g(for)f(its)h(class)g(\(i.e.)22 b +Fw(Entry)p FF(\).)e(This)d(allo)o(ws)f(us)37 2482 y(to)e(\014lter)g +(the)h(c)o(haracters)e(whic)o(h)i(are)f(e\013ectiv)o(ely)h(passed)f(to) +f(the)h Fw(.e)g FF(widget.)20 b(The)14 b(test)g(in)h(this)f(binding)37 +2538 y(closure)21 b(breaks)f(the)h(c)o(hain)g(of)e(bindings)j(if)f(the) +f(t)o(yp)q(ed)h(c)o(haracter)e(is)i(not)f(a)f(digit.)36 +b(Otherwise,)22 b(the)37 2594 y(follo)o(wing)e(binding,)h(the)e(one)f +(for)g(the)h Fw(Entry)f FF(class,)h(is)h(executed)f(and)g(inserts)g +(the)g(c)o(haracter)f(t)o(yp)q(ed)37 2651 y(\(a)d(digit\).)21 +b(Consequen)o(tly)l(,)16 b(the)g(simple)h(previous)f(binding)h(mak)o +(es)e Fw(.e)g FF(a)g(con)o(trolled)h(en)o(try)f(whic)o(h)h(only)37 +2707 y(accepts)g(in)o(teger)f(n)o(um)o(b)q(ers.)p 37 +2745 735 2 v 89 2771 a Ft(2)107 2787 y Fs(Old)d(syn)o(tax)h(for)f +(bindings)j(\(i.e.)h(strings\))e(is)e(no)h(more)f(supp)q(orted.)18 +b(Old)13 b(bindings)h(scripts)f(m)o(ust)g(hence)f(b)q(e)h(rewritten.)p +eop +%%Page: 70 70 +70 69 bop 37 45 a FE(70)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v eop +%%Page: 71 71 +71 70 bop 37 502 a FJ(App)s(endix)33 b(B)37 711 y FC(Di\013erences)39 +b(with)g(R4RS)37 934 y FF(This)21 b(app)q(endix)g(summarizes)f(the)g +(main)g(di\013erences)h(b)q(et)o(w)o(een)f(the)f FB(STk)g +FF(Sc)o(heme)i(implemen)o(tation)37 990 y(and)16 b(the)f(language)h +(describ)q(ed)h(in)f FD(R)681 974 y FA(4)693 990 y Fz(RS)s +FF(.)37 1137 y Fy(1)67 b(Sym)n(b)r(ols)37 1240 y FB(STk)15 +b FF(sym)o(b)q(ol)g(syn)o(tax)f(has)h(b)q(een)h(augmen)o(ted)f(to)g +(allo)o(w)g(case)g(signi\014can)o(t)h(sym)o(b)q(ols.)k(This)c +(extension)f(is)37 1296 y(discussed)i(in)f(6.4.)37 1366 +y FB(STk)f FF(also)g(de\014nes)h(some)f(sym)o(b)q(ols)h(in)g(the)f +(global)h(en)o(vironmen)o(t)f(whic)o(h)i(are)d(describ)q(ed)k(b)q(elo)o +(w:)106 1476 y Fo(\017)k Fw(*debug*)p FF(.)46 b(Setting)25 +b Fw(*debug*)e FF(to)h Fw(#t)g FF(prev)o(en)o(ts)g(macro)g(inlining)j +(and)e(expression)g(reco)q(ding)151 1532 y(\(see)15 b(6.25\).)106 +1628 y Fo(\017)22 b Fw(*gc-verbose*)p FF(.)c(If)e Fw(*gc-verbose*)d +FF(is)j Fw(#t)p FF(,)e(a)h(message)f(will)j(b)q(e)f(prin)o(ted)g(b)q +(efore)f(and)h(after)e(eac)o(h)151 1685 y(run)i(of)e(garbage)h +(collector.)20 b(The)c(message)e(is)i(prin)o(ted)g(on)f(the)h(standard) +e(error)h(stream.)106 1781 y Fo(\017)22 b Fw(*load-verbose*)p +FF(.)c(If)d Fw(*load-verbose*)f FF(is)h Fw(#t)p FF(,)g(the)g(absolute)h +(path)f(name)g(of)g(eac)o(h)g(loaded)h(\014le)151 1838 +y(is)21 b(prin)o(ted)g(b)q(efore)f(its)h(e\013ectiv)o(e)f(reading.)35 +b(File)22 b(names)e(are)g(prin)o(ted)h(on)f(the)g(standard)g(error)151 +1894 y(stream.)106 1990 y Fo(\017)i Fw(*load-path*)17 +b FF(m)o(ust)h(con)o(tain)h(a)f(list)h(of)f(strings.)30 +b(Eac)o(h)18 b(string)h(is)g(tak)o(en)f(as)g(a)g(directory)h(path)151 +2047 y(name)13 b(in)h(whic)o(h)g(a)f(\014le)h(will)g(b)q(e)g(searc)o +(hed)f(for)g(loading.)20 b(This)13 b(v)m(ariable)i(can)e(b)q(e)h(set)f +(automatically)151 2103 y(from)i(the)g Fw(STK)p 412 2103 +15 2 v 17 w(LOAD)p 525 2103 V 16 w(PATH)g FF(shell)i(v)m(ariable.)k +(See)16 b Fw(stk\(1\))e FF(for)h(more)f(details.)106 +2200 y Fo(\017)22 b Fw(*load-suffixes*)14 b FF(m)o(ust)h(con)o(tain)h +(a)f(list)h(of)g(strings.)21 b(When)16 b(the)g(system)f(try)g(to)g +(load)h(a)f(\014le)i(in)151 2256 y(a)f(giv)o(en)h(directory)g +(\(according)f(to)g Fw(*load-path*)f FF(v)m(alue\),)i(it)g(will)h +(\014rst)e(try)g(to)g(load)g(it)h(without)151 2312 y(su\016x.)35 +b(If)20 b(this)h(\014le)g(do)q(es)g(not)e(exist,)j(the)e(system)g(will) +i(sequen)o(tially)g(try)d(to)h(\014nd)h(the)f(\014le)h(b)o(y)151 +2369 y(app)q(ending)i(eac)o(h)f(su\016x)f(of)g(this)h(list.)39 +b(A)21 b(t)o(ypical)h(v)m(alue)h(for)e(this)g(v)m(ariable)i(ma)o(y)e(b) +q(e)h Fw(\("stk")151 2425 y("stklos")h("scm")g("so"\))p +FF(.)106 2522 y Fo(\017)f Fw(*argc*)12 b FF(con)o(tains)h(the)g(n)o(um) +o(b)q(er)g(of)g(argumen)o(ts)f(\(0)g(if)i(none\),)f(not)f(including)k +(in)o(terpreter)d(options.)151 2578 y(See)j Fw(stk\(1\))e +FF(for)h(more)g(details.)106 2674 y Fo(\017)22 b Fw(*argv*)d +FF(con)o(tains)h(a)g(Sc)o(heme)g(list)h(whose)f(elemen)o(ts)g(are)g +(the)g(argumen)o(ts)f(\(not)g(including)k(the)151 2731 +y(in)o(terpreter)17 b(options\),)g(in)h(order,)f(or)f(an)h(empt)o(y)g +(list)h(if)f(there)g(are)g(no)g(argumen)o(ts.)24 b(See)18 +b Fw(stk\(1\))151 2787 y FF(for)d(more)f(details.)934 +2901 y(71)p eop +%%Page: 72 72 +72 71 bop 37 45 a FE(72)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 106 190 a Fo(\017)22 b Fw(*program-name*)e +FF(con)o(tains)i(the)f(\014le)i(name)f(sp)q(eci\014ed)h(with)f(the)g +Fw(-file)f FF(option,)i(if)f(presen)o(t.)151 247 y(Otherwise,)14 +b(it)f(con)o(tains)f(the)h(name)g(through)f(whic)o(h)i(the)f(in)o +(terpreter)f(w)o(as)g(in)o(v)o(ok)o(ed.)20 b(See)13 b +Fw(stk\(1\))151 303 y FF(for)i(more)f(details.)106 400 +y Fo(\017)22 b Fw(*print-banner*)p FF(.)17 b(If)11 b +Fw(*print-banner*)e FF(is)j Fw(#f)p FF(,)f(the)g(usual)h(cop)o(yrigh)o +(t)f(message)f(is)i(not)f(displa)o(y)o(ed)151 456 y(when)16 +b(the)f(in)o(terpreter)g(is)h(started.)106 552 y Fo(\017)22 +b Fw(*stk-library*)11 b FF(con)o(tains)j(the)f(path)g(name)g(of)f(the)h +(installation)i(directory)e(of)g(the)g FB(STk)f FF(library)l(.)151 +609 y(This)i(v)m(ariable)g(can)f(b)q(e)h(set)e(automatically)i(from)e +(the)h Fw(STK)p 1171 609 15 2 v 16 w(LIBRARY)f FF(shell)j(v)m(ariable.) +20 b(See)14 b Fw(stk\(1\))151 665 y FF(for)h(more)f(details.)37 +775 y(The)i(follo)o(wing)g(sym)o(b)q(ols)f(are)g(de\014ned)i(only)f +(when)f(Tk)g(is)h(loaded:)106 884 y Fo(\017)22 b Fw(*root*)c +FF(designates)h(the)f(Tk)h(main)g(windo)o(w)f(\(see)h(A-2\).)29 +b(This)19 b(v)m(ariable)h(is)f(not)f(set)h(if)g(the)f(Tk)151 +941 y(to)q(olkit)e(is)f(not)g(initialized)q(.)106 1037 +y Fo(\017)22 b Fw(*help-path*)17 b FF(m)o(ust)h(con)o(tain)h(a)f(list)h +(of)f(strings.)30 b(Eac)o(h)18 b(string)h(is)g(tak)o(en)f(as)g(a)g +(directory)h(path)151 1094 y(name)13 b(in)i(whic)o(h)f(do)q(cumen)o +(tation)g(\014les)g(are)f(searc)o(hed.)19 b(This)14 b(v)m(ariable)h +(can)e(b)q(e)h(set)g(automatically)151 1150 y(from)h(the)g +Fw(STK)p 412 1150 V 17 w(HELP)p 525 1150 V 16 w(PATH)g +FF(shell)i(v)m(ariable.)k(See)16 b Fw(stk\(1\))e FF(for)h(more)f +(details.)106 1246 y Fo(\017)22 b Fw(*image-path*)15 +b FF(m)o(ust)i(con)o(tain)g(a)g(list)h(of)e(strings.)26 +b(Eac)o(h)16 b(string)h(is)h(tak)o(en)e(as)h(a)g(directory)g(path)151 +1303 y(name)11 b(in)h(whic)o(h)g(images)f(are)g(searc)o(hed)g(b)o(y)g +(the)g(function)h Fw(make-image)p FF(.)17 b(This)12 b(v)m(ariable)g +(can)f(b)q(e)h(set)151 1359 y(automatically)i(from)f(the)g +Fw(STK)p 693 1359 V 17 w(IMAGE)p 830 1359 V 17 w(PATH)g +FF(shell)i(v)m(ariable.)20 b(See)14 b Fw(stk\(1\))f FF(and)h +Fw(make-image\(n\))151 1416 y FF(for)h(more)f(details.)106 +1512 y Fo(\017)22 b Fw(*root*)c FF(designates)h(the)f(Tk)h(main)g +(windo)o(w)f(\(see)h(A-2\).)29 b(This)19 b(v)m(ariable)h(is)f(not)f +(set)h(if)g(the)f(Tk)151 1569 y(to)q(olkit)e(is)f(not)g(initialized)q +(.)106 1665 y Fo(\017)22 b Fw(*start-withdrawn*)p FF(.)16 +b(If)10 b(*start-withdra)o(wn*)f(is)i(not)e(false,)i(the)g(*ro)q(ot*)d +(windo)o(w)j(is)f(not)g(mapp)q(ed)151 1721 y(on)19 b(screen)g(un)o(til) +h(its)f(\014rst)g(sub-windo)o(w)g(is)h(pac)o(k)o(ed)f(or)f(some)h +(action)g(is)g(ask)o(ed)g(to)f(the)h(windo)o(w)151 1778 +y(manager)c(for)f(it.)106 1874 y Fo(\017)22 b Fw(*tk-version*)14 +b FF(is)i(a)f(string)g(whic)o(h)h(con)o(tains)g(the)f(v)o(ersion)h(n)o +(um)o(b)q(er)g(of)f(the)g(Tk)g(to)q(olkit)h(used)g(b)o(y)151 +1931 y FB(STk)p FF(.)106 2027 y Fo(\017)22 b Fw(*tk-patch-level*)c +FF(is)j(a)g(string)f(whic)o(h)i(con)o(tains)e(the)h(v)o(ersion)g(and)f +(patc)o(h)h(lev)o(el)g(of)g(the)f(Tk)151 2083 y(to)q(olkit)c(used)f(b)o +(y)h FB(STk)p FF(.)37 2193 y(F)l(urthermore,)f FB(STk)f +FF(also)h(de\014nes)i(the)e(follo)o(wing)h(pro)q(cedures)g(in)g(the)f +(global)h(en)o(vironmen)o(t:)106 2302 y Fo(\017)22 b +Fw(report-error)p FF(.)32 b(This)20 b(pro)q(cedure)h(is)f(called)i(b)o +(y)d(the)h(error)f(system)h(to)f(displa)o(y)i(the)e(message)151 +2359 y(error.)g(This)d(pro)q(cedure)g(is)g(describ)q(ed)h(in)f +Fw(report-error\(n\))106 2455 y Fo(\017)22 b Fw(repl-display-prompt)p +FF(.)i(This)18 b(pro)q(cedure)g(is)g(called)h(when)f(the)f(system)g(is) +h(run)g(in)o(teractiv)o(ely)151 2512 y(b)q(efore)e(reading)g(a)f +FD(sexpr)20 b FF(to)15 b(ev)m(aluate)h(to)f(displa)o(y)i(a)e(prompt.)20 +b(This)c(pro)q(cedure)h(is)f(describ)q(ed)h(in)151 2568 +y Fw(repl-display-prompt\(n\))p FF(.)106 2664 y Fo(\017)22 +b Fw(repl-display-result)p FF(.)i(This)18 b(pro)q(cedure)g(is)g(called) +h(when)f(the)f(system)g(is)h(run)g(in)o(teractiv)o(ely)151 +2721 y(after)k(the)g(ev)m(aluation)h(of)f(a)g FD(sexpr)27 +b FF(to)22 b(write)g(the)h(result.)41 b(This)23 b(pro)q(cedure)g(is)g +(describ)q(ed)h(in)151 2777 y Fw(repl-display-result\(n\))p +FF(.)p eop +%%Page: 73 73 +73 72 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(73)p 37 64 1838 2 v 37 190 a Fy(2)67 b(T)n(yp)r(es)37 +292 y FB(STk)18 b FF(implemen)o(ts)i(all)f(the)f(t)o(yp)q(es)h +(de\014ned)g(as)f(mandatory)g(in)h FD(R)1206 275 y FA(4)1218 +292 y Fz(RS)s FF(.)29 b(Ho)o(w)o(ev)o(er,)18 b(complex)h(n)o(um)o(b)q +(ers)37 348 y(and)h(rational)g(n)o(um)o(b)q(ers)f(\(whic)o(h)h(are)f +(de\014ned)i(but)e(not)g(required)i(in)f FD(R)1329 332 +y FA(4)1341 348 y Fz(RS)s FF(\))f(are)g(not)g(implemen)o(ted.)37 +405 y(The)d(lac)o(k)f(of)g(these)h(t)o(yp)q(es)f(implies)i(that)e(some) +f(functions)i(of)f FD(R)1160 388 y FA(4)1172 405 y Fz(RS)j +FF(are)d(not)g(de\014ned.)37 461 y(Some)i(t)o(yp)q(es)f(whic)o(h)h(are) +e(not)h(de\014ned)h(in)g FD(R)814 445 y FA(4)826 461 +y Fz(RS)i FF(are)d(implemen)o(ted)h(in)g FB(STk)p FF(.)22 +b(Those)16 b(t)o(yp)q(es)g(are)g(listed)37 518 y(b)q(elo)o(w:)106 +610 y Fo(\017)22 b FF(input)16 b(string)g(p)q(ort)e(t)o(yp)q(e)i +(\(6.10\))106 703 y Fo(\017)22 b FF(output)15 b(string)g(p)q(ort)g(t)o +(yp)q(e)g(\(6.10\))106 796 y Fo(\017)22 b FF(k)o(eyw)o(ord)15 +b(t)o(yp)q(e)g(\(6.11\))106 889 y Fo(\017)22 b FF(Tk)15 +b(command)g(t)o(yp)q(e)g(\(6.12\))106 982 y Fo(\017)22 +b FF(en)o(vironmen)o(t)16 b(t)o(yp)q(e)f(\(6.14\))106 +1075 y Fo(\017)22 b FF(macro)15 b(t)o(yp)q(e)g(\(6.15\))106 +1168 y Fo(\017)22 b FF(address)15 b(t)o(yp)q(e)h(\(6.17\))106 +1261 y Fo(\017)22 b FF(hash)15 b(table)h(t)o(yp)q(e)f(\(6.19\))106 +1354 y Fo(\017)22 b FF(Regular)16 b(expression)g(t)o(yp)q(e)f(\(6.20\)) +106 1447 y Fo(\017)22 b FF(pro)q(cess)16 b(t)o(yp)q(e)f(\(6.22\))106 +1540 y Fo(\017)22 b FF(so)q(c)o(k)o(et)15 b(t)o(yp)q(e)g(\(6.23\))37 +1683 y Fy(3)67 b(Pro)r(cedures)37 1785 y FF(The)17 b(follo)o(wing)h +(pro)q(cedures)f(are)f(required)i(b)o(y)f FD(R)911 1768 +y FA(4)923 1785 y Fz(RS)i FF(and)e(are)f(not)g(implemen)o(ted)i(in)g +(the)f FB(STk)f FF(in)o(ter-)37 1841 y(preter.)106 1933 +y Fo(\017)22 b FF(transcript-o\013)106 2026 y Fo(\017)g +FF(transcript-on)37 2118 y Fw(Transcript-off)9 b FF(and)h +Fw(transcript-on)f FF(can)h(b)q(e)h(sim)o(ulated)g(with)g(v)m(arious)g +(Unix)g(to)q(ols)f(suc)o(h)h(as)f Fw(script)37 2175 y +FF(or)15 b Fw(fep)p FF(.)37 2267 y(The)c(follo)o(wing)h(pro)q(cedures)f +(are)f(not)h(implemen)o(ted)h(in)g(the)e FB(STk)g FF(in)o(terpreter)h +(whereas)g(they)f(are)h(de\014ned)37 2323 y(in)17 b FD(R)124 +2307 y FA(4)136 2323 y Fz(RS)g FF(\(but)e(not)g(required\).)21 +b(They)15 b(are)g(all)h(related)g(to)e(complex)i(or)f(rational)g(n)o +(um)o(b)q(ers.)106 2415 y Fo(\017)22 b FF(n)o(umerator)106 +2508 y Fo(\017)g FF(denominator)106 2601 y Fo(\017)g +FF(rationalize)106 2694 y Fo(\017)g FF(mak)o(e-rectangular)106 +2787 y Fo(\017)g FF(mak)o(e-p)q(olar)p eop +%%Page: 74 74 +74 73 bop 37 45 a FE(74)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 106 190 a Fo(\017)22 b FF(real-part)106 +284 y Fo(\017)g FF(imag-part)106 378 y Fo(\017)g FF(magnitude)106 +472 y Fo(\017)g FF(angle)p eop +%%Page: 75 75 +75 74 bop 37 502 a FJ(App)s(endix)33 b(C)37 709 y FC(An)39 +b(in)m(tro)s(duction)f(to)h Fe(STklos)37 950 y Fy(1)67 +b(In)n(tro)r(duction)37 1052 y FB(STklos)16 b FF(is)h(the)f(ob)s(ject)g +(orien)o(ted)g(la)o(y)o(er)g(of)g FB(STk)p FF(.)22 b(Its)17 +b(implemen)o(tation)g(is)g(deriv)o(ed)g(from)e(v)o(ersion)i(1.3)37 +1108 y(of)d(the)g(Gregor)f(Kic)o(kzales)j(Tin)o(y)e(Clos)h(pac)o(k)m +(age)f([12)o(].)19 b(Ho)o(w)o(ev)o(er,)13 b(it)h(has)g(b)q(een)h +(extended)g(to)f(b)q(e)h(as)e(close)37 1164 y(as)h(p)q(ossible)i(to)d +(CLOS,)h(the)g(Common)g(Lisp)h(Ob)s(ject)f(System[6)o(].)19 +b(Some)14 b(features)g(of)f FB(STklos)g FF(are)h(also)37 +1221 y(issued)j(from)d(Dylan[13])g(or)h(SOS[14].)37 1277 +y(Brie\015y)h(stated,)f(the)g FB(STklos)f FF(extension)i(giv)o(es)f +(the)g(user)g(a)g(full)h(ob)s(ject)e(orien)o(ted)i(system)e(with)h +(meta-)37 1334 y(classes,)k(m)o(ultiple)g(inheritance,)g(generic)g +(functions)f(and)g(m)o(ulti-metho)q(ds.)28 b(F)l(urthermore,)17 +b(the)g(whole)37 1390 y(implemen)o(tation)22 b(relies)g(on)f(a)f(true)h +(meta)f(ob)s(ject)g(proto)q(col,)h(in)h(the)e(spirit)i(of)e(the)h(one)g +(de\014ned)h(for)37 1447 y(CLOS[15].)d(This)12 b(mo)q(del)h(has)f(also) +g(b)q(een)h(used)g(to)e(em)o(b)q(o)q(dy)i(the)f(prede\014ned)h(Tk)f +(widgets)g(in)h(a)f(hierarc)o(h)o(y)37 1503 y(of)19 b +FB(STklos)f FF(classes.)30 b(This)19 b(set)g(of)f(classes)h(p)q(ermits) +g(to)f(simplify)j(the)d(core)h(Tk)f(usage)g(b)o(y)h(pro)o(viding)37 +1560 y(homogeneous)f(accesses)h(to)e(widget)i(options)f(and)h(b)o(y)f +(hiding)i(the)e(lo)o(w)g(lev)o(el)h(details)g(of)f(Tk)g(widgets,)37 +1616 y(suc)o(h)c(as)g(naming)g(con)o(v)o(en)o(tions.)19 +b(F)l(urthermore,)13 b(as)g(exp)q(ected,)i(using)f(of)f(ob)s(jects)g +(facilitates)h(co)q(de)h(reuse)37 1673 y(and)h(de\014nition)h(of)e(new) +g(widgets)h(classes.)37 1729 y(The)f(purp)q(ose)h(of)e(this)h(app)q +(endix)i(is)e(to)f(in)o(tro)q(duce)i(brie\015y)g(the)f +FB(STklos)f FF(pac)o(k)m(age)g(and)h(in)h(no)f(case)f(will)37 +1785 y(it)19 b(replace)h(the)e FB(STklos)g FF(reference)h(man)o(ual)g +(\(whic)o(h)g(needs)g(to)f(b)q(e)h(urgen)o(tly)g(written)f(no)o(w)g(.)8 +b(.)f(.)g(\).)29 b(In)37 1842 y(particular,)15 b(metho)q(ds)f(relativ)o +(e)g(to)g(the)f(meta)h(ob)s(ject)f(proto)q(col)h(and)g(access)g(to)f +(the)h(Tk)g(to)q(olkit)g(will)h(not)37 1898 y(b)q(e)h(describ)q(ed)i +(here.)37 2040 y Fy(2)67 b(Class)22 b(de\014nition)i(and)f(instan)n +(tiation)37 2143 y FI(2.1)56 b(Class)19 b(de\014nition)37 +2229 y FF(A)e(new)f(class)h(is)g(de\014ned)g(with)g(the)f +Fw(define-class)f FF(macro.)22 b(The)17 b(syn)o(tax)e(of)h +Fw(define-class)f FF(is)h(close)37 2285 y(to)f(CLOS)h +Fw(defclass)p FF(:)125 2374 y Fv(\(define-class)j Fn(class)25 +b Fv(\()p Fp(h)p Fu(sup)q(erclass)758 2380 y Fm(1)778 +2374 y Fp(i)d(h)p Fu(sup)q(erclass)1012 2380 y Fm(2)1033 +2374 y Fp(i)p Fv(...\))190 2423 y(\()p Fp(h)p Fu(slot)f(description)512 +2429 y Fm(1)531 2423 y Fp(i)h(h)p Fu(slot)e(description)868 +2429 y Fm(2)888 2423 y Fp(i)p Fv(...\))190 2473 y Fp(h)p +Fu(metaclass)g(option)p Fp(i)p Fv(\))37 2618 y FF(The)13 +b Fo(h)p FF(metaclass)h(option)p Fo(i)e FF(will)h(not)f(b)q(e)g +(discussed)i(in)e(this)h(app)q(endix.)20 b(The)12 b Fo(h)p +FF(sup)q(erclass)p Fo(i)q FF(es)g(list)g(sp)q(eci\014es)37 +2674 y(the)h(sup)q(er)h(classes)f(of)g FD(class)i FF(\(see)e(3)f(for)h +(more)f(details\).)20 b(A)13 b Fo(h)p FF(slot)h(description)p +Fo(i)g FF(giv)o(es)f(the)g(name)g(of)g(a)f(slot)37 2731 +y(and,)19 b(ev)o(en)o(tually)l(,)g(some)f(\\prop)q(erties")g(of)f(this) +h(slot)g(\(suc)o(h)g(as)f(its)h(initial)i(v)m(alue,)g(the)d(function)i +(whic)o(h)37 2787 y(p)q(ermit)d(to)f(access)g(its)h(v)m(alue,)g(.)7 +b(.)g(.)g(\).)20 b(Slot)15 b(descriptions)i(will)g(b)q(e)f(discussed)g +(in)g(3.3.)934 2901 y(75)p eop +%%Page: 76 76 +76 75 bop 37 45 a FE(76)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FF(As)h(an)g(exemple,)i(consider)e(no)o(w)g +(that)f(w)o(e)g(ha)o(v)o(e)h(to)f(de\014ne)i(a)f(complex)g(n)o(um)o(b)q +(er.)29 b(This)18 b(can)g(b)q(e)h(done)37 247 y(with)d(the)f(follo)o +(wing)h(class)g(de\014nition:)125 356 y Fv(\(define-class)41 +b()19 b(\(\))190 406 y(\(r)i(i\)\))37 +570 y FF(This)e(binds)g(the)f(sym)o(b)q(ol)g Fw()f +FF(to)g(a)g(new)h(class)g(whose)g(instances)h(con)o(tain)f(t)o(w)o(o)e +(slots.)28 b(These)37 626 y(slots)16 b(are)g(called)i +Fw(r)e FF(an)g Fw(i)g FF(and)g(w)o(e)g(supp)q(ose)h(here)f(that)g(they) +g(con)o(tain)g(resp)q(ectiv)o(ely)i(the)e(real)g(part)g(and)37 +683 y(the)g(imaginary)f(part)g(of)g(a)f(complex)i(n)o(um)o(b)q(er.)21 +b(Note)14 b(that)h(this)h(class)f(inherits)i(from)d Fw()g +FF(whic)o(h)37 739 y(is)j(a)e(pre-de\014ned)j(class)e(\()p +Fw()e FF(is)j(the)f(sup)q(er)g(class)g(of)g(the)g +Fw()f FF(and)h Fw()e FF(pre-de\014ned)37 +796 y(classes\).)197 779 y FA(1)217 796 y FF(.)37 948 +y Fy(3)67 b(Inheritance)37 1054 y FI(3.1)56 b(Class)19 +b(hierarc)n(h)n(y)g(and)g(inheritance)e(of)i(slots)37 +1137 y FF(Inheritance)f(is)f(sp)q(eci\014ed)h(up)q(on)f(class)f +(de\014nition.)24 b(As)16 b(said)h(in)f(the)h(in)o(tro)q(duction,)g +FB(STklos)e FF(supp)q(orts)37 1186 y(m)o(ultiple)j(inheritance.)j +(Hereafter)15 b(are)g(some)g(classes)g(de\014nition:)125 +1282 y Fv(\(define-class)k(A)i(\(\))h(\(a\)\))125 1331 +y(\(define-class)d(B)i(\(\))h(\(b\)\))125 1381 y(\(define-class)d(C)i +(\(\))h(\(c\)\))125 1431 y(\(define-class)d(D)i(\(A)h(B\))f(\(d)g +(a\)\))125 1481 y(\(define-class)e(E)i(\(A)h(C\))f(\(e)g(c\)\))125 +1531 y(\(define-class)e(F)i(\(D)h(E\))f(\(f\)\))37 1681 +y Fw(A)p FF(,)e Fw(B)p FF(,)f Fw(C)g FF(ha)o(v)o(e)h(a)f(n)o(ull)i +(list)g(of)e(sup)q(er)i(classes.)31 b(In)19 b(this)g(case,)g(the)g +(system)g(will)h(replace)g(it)f(b)o(y)f(the)h(list)37 +1737 y(whic)o(h)f(only)g(con)o(tains)f Fw()p +FF(,)f(the)h(ro)q(ot)f(of)h(all)h(the)f(classes)g(de\014ned)i(b)o(y)e +Fw(define-class)p FF(.)23 b Fw(D)p FF(,)17 b Fw(E)p FF(,)f +Fw(F)37 1794 y FF(use)g(m)o(ultiple)h(inheritance:)22 +b(eac)o(h)15 b(class)g(inherits)i(from)d(t)o(w)o(o)g(previously)j +(de\014ned)f(classes.)21 b(Those)15 b(class)37 1850 y(de\014nitions)g +(de\014ne)f(a)e(hierarc)o(h)o(y)h(whic)o(h)g(is)h(sho)o(wn)e(in)h +(Figure)g(1.)19 b(In)13 b(this)g(\014gure,)g(the)g(class)g +Fw()f FF(is)h(also)37 1906 y(sho)o(wn;)18 b(this)g(class)g(is)g +(the)f(sup)q(er)i(class)e(of)g(all)i(Sc)o(heme)f(ob)s(jects.)26 +b(In)18 b(particular,)g Fw()f FF(is)h(the)f(sup)q(er)37 +1963 y(class)f(of)f(all)h(standard)f(Sc)o(heme)h(t)o(yp)q(es.)37 +2014 y(The)e(set)g(of)f(slots)h(of)f(a)g(giv)o(en)i(class)f(is)g +(calculated)h(b)o(y)f(\\unioning")g(the)g(slots)g(of)f(all)i(its)e(sup) +q(er)i(class.)20 b(F)l(or)37 2064 y(instance,)d(eac)o(h)f(instance)h +(of)f(the)g(class)g(D,)g(de\014ned)h(b)q(efore)f(will)i(ha)o(v)o(e)e +(three)g(slots)f(\()p Fw(a)p FF(,)h Fw(b)g FF(and)g Fw(d)p +FF(\).)22 b(The)37 2114 y(slots)16 b(of)e(a)h(class)h(can)f(b)q(e)h +(obtained)g(b)o(y)f(the)g Fw(class-slots)f FF(primitiv)o(e.)21 +b(F)l(or)15 b(instance,)125 2209 y Fv(\(class-slots)k(A\))343 +2259 y Fu(=)-7 b Fp(\))21 b Fv(\(a\))125 2309 y(\(class-slots)e(E\))343 +2358 y Fu(=)-7 b Fp(\))21 b Fv(\(a)h(e)f(c\))125 2408 +y(\(class-slots)e(F\))343 2458 y Fu(=)-7 b Fp(\))21 b +Fv(\(d)h(a)f(b)h(c)f(f\))37 2608 y Fn(Note:)37 b Fu(The)14 +b(order)h(of)e(slots)h(is)g(not)g(signi\014can)o(t.)p +37 2653 735 2 v 89 2680 a Ft(1)107 2696 y Fs(With)21 +b(this)g(de\014nition,)j(a)c Fq()d Fs(is)k(not)f(a)g +Fq()c Fs(since)21 b Fq()d Fs(inherits)j(from)f +Fq()d Fs(rather)j(than)37 2742 y Fq()p +Fs(.)29 b(In)18 b(practice,)i(inheritance)h(could)f(b)q(e)e(mo)q +(di\014ed)i Fr(a)e(p)n(osteriori)p Fs(,)f(if)h(needed.)33 +b(Ho)o(w)o(ev)o(er,)19 b(this)g(necessitates)37 2787 +y(some)14 b(kno)o(wledge)g(of)f(the)g(meta)g(ob)r(ject)g(proto)q(col)i +(and)f(it)f(will)i(not)e(b)q(e)g(sho)o(wn)h(in)f(this)h(do)q(cumen)o(t) +p eop +%%Page: 77 77 +77 76 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(77)p 37 64 1838 2 v 204 1049 a @beginspecial 0 @llx +0 @lly 361 @urx 217 @ury 3610 @rwi @setspecial %%BeginDocument: hierarchy.eps /$F2psDict 200 dict def $F2psDict begin @@ -17780,2229 +18242,2183 @@ gs 1 -1 scale () col-1 show gr gs 1 -1 scale () col-1 show gr $F2psEnd %%EndDocument - @endspecial 690 1133 a FD(Figure)g(C.1:)j(A)d(class)g(hierarc)o(h)o(y) -212 1271 y Ft(\(r)19 b(i\)\))75 1420 y FD(This)11 b(binds)g(the)h(sym)o -(b)q(ol)d Fu()h FD(to)h(a)f(new)i(class)g(whose)f(instances)i -(con)o(tain)d(t)o(w)o(o)h(slots.)17 b(These)c(slots)e(are)75 -1470 y(called)i Fu(r)h FD(an)f Fu(i)h FD(and)f(w)o(e)h(supp)q(ose)h -(here)g(that)e(they)i(con)o(tain)e(resp)q(ectiv)o(ely)i(the)f(real)g -(part)g(and)f(the)h(imaginary)75 1519 y(part)k(of)e(a)h(complex)g(n)o -(um)o(b)q(er.)27 b(Note)18 b(that)g(this)f(class)h(inherits)g(from)d -Fu()h FD(whic)o(h)h(is)h(a)f(pre-de\014ned)75 -1569 y(class)d(\()p Fu()f FD(is)g(the)i(sup)q(er)g(class)f(of)g -(the)g Fu()f FD(and)g Fu()f FD(pre-de\014ned)k -(classes\).)1613 1554 y Fy(1)1633 1569 y FD(.)75 1722 -y Fw(3)67 b(Inheritance)75 1826 y FG(3.1)56 b(Class)19 -b(hierarc)n(h)n(y)f(and)h(inheritance)f(of)g(slots)75 -1904 y FD(Inheritance)k(is)e(sp)q(eci\014ed)i(up)q(on)f(class)g -(de\014nition.)38 b(As)21 b(said)f(in)g(the)h(in)o(tro)q(duction,)h -Fz(STklos)f FD(supp)q(orts)75 1950 y(m)o(ultiple)12 b(inheritance.)18 -b(Hereafter)e(are)e(some)f(classes)i(de\014nition:)153 -2040 y Ft(\(define-cla)o(ss)h(A)j(\(\))g(\(a\)\))153 -2086 y(\(define-cla)o(ss)d(B)j(\(\))g(\(b\)\))153 2132 -y(\(define-cla)o(ss)d(C)j(\(\))g(\(c\)\))153 2177 y(\(define-cla)o(ss)d -(D)j(\(A)g(B\))g(\(d)g(a\)\))153 2223 y(\(define-cla)o(ss)d(E)j(\(A)g -(C\))g(\(e)g(c\)\))153 2269 y(\(define-cla)o(ss)d(F)j(\(D)g(E\))g -(\(f\)\))75 2406 y Fu(A)p FD(,)c Fu(B)p FD(,)g Fu(C)g -FD(ha)o(v)o(e)g(a)g(n)o(ull)g(list)g(of)g(sup)q(er)i(classes.)24 -b(In)15 b(this)h(case,)g(the)g(system)g(will)e(replace)i(it)f(b)o(y)g -(the)i(list)e(whic)o(h)75 2456 y(only)e(con)o(tains)h -Fu()p FD(,)d(the)j(ro)q(ot)g(of)f(all)g(the)h(classes)h -(de\014ned)g(b)o(y)e Fu(define-class)p FD(.)j Fu(D)p -FD(,)d Fu(E)p FD(,)g Fu(F)g FD(use)i(m)o(ultiple)75 2506 -y(inheritance:)k(eac)o(h)14 b(class)g(inherits)g(from)e(t)o(w)o(o)h -(previously)g(de\014ned)i(classes.)k(Those)c(class)f(de\014nitions)f -(de\014ne)75 2556 y(a)j(hierarc)o(h)o(y)h(whic)o(h)f(is)g(sho)o(wn)h -(in)f(Figure)g(1.)25 b(In)17 b(this)f(\014gure,)h(the)g(class)g -Fu()e FD(is)i(also)e(sho)o(wn;)j(this)e(class)75 -2605 y(is)h(the)h(sup)q(er)g(class)g(of)e(all)g(Sc)o(heme)h(ob)r -(jects.)29 b(In)17 b(particular,)h Fu()e FD(is)h(the)h(sup)q(er)g -(class)g(of)e(all)g(standard)75 2655 y(Sc)o(heme)e(t)o(yp)q(es.)p -75 2701 705 2 v 121 2728 a Fr(1)139 2740 y Fq(With)d(this)g -(de\014nition,)e(a)i Fo()f Fq(is)i(not)e(a)i Fo()d -Fq(since)h Fo()g Fq(inherits)g(from)g Fo()f -Fq(rather)h(than)h Fo()p Fq(.)75 2779 y(In)f(practice,)e -(inheritance)f(could)i(b)q(e)h(mo)q(di\014ed)e Fp(a)k(p)n(osteriori)p -Fq(,)f(if)g(needed.)h(Ho)o(w)o(ev)o(er,)e(this)g(necessitates)e(some)h -(kno)o(wledge)f(of)i(the)75 2819 y(meta)g(ob)r(ject)g(proto)q(col)f -(and)i(it)g(will)h(not)f(b)q(e)g(sho)o(wn)g(in)g(this)g(do)q(cumen)o(t) -p eop -%%Page: 69 69 -69 68 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(69)p 75 64 1763 2 v 75 179 a FD(The)17 b(set)h(of)e(slots)h(of)f(a)g -(giv)o(en)g(class)i(is)e(calculated)h(b)o(y)f(\\unioning")f(the)j -(slots)f(of)f(all)f(its)i(sup)q(er)h(class.)27 b(F)m(or)75 -224 y(instance,)14 b(eac)o(h)h(instance)g(of)e(the)i(class)g(D,)e -(de\014ned)i(b)q(efore)g(will)d(ha)o(v)o(e)i(three)i(slots)e(\()p -Fu(a)p FD(,)g Fu(b)f FD(and)h Fu(d)p FD(\).)19 b(The)14 -b(slots)75 270 y(of)f(a)h(class)g(can)g(b)q(e)h(obtained)e(b)o(y)h(the) -h Fu(class-slots)c FD(primitiv)o(e.)16 b(F)m(or)d(instance,)153 -352 y Ft(\(class-slot)o(s)j(A\))350 397 y Fs(=)-6 b Fn(\))19 -b Ft(\(a\))153 443 y(\(class-slot)o(s)d(E\))350 489 y -Fs(=)-6 b Fn(\))19 b Ft(\(a)g(e)g(c\))153 534 y(\(class-slot)o(s)d(F\)) -350 580 y Fs(=)-6 b Fn(\))19 b Ft(\(d)g(a)g(b)g(c)h(f\))75 -711 y Fl(Note:)32 b Fs(The)13 b(order)h(of)f(slots)g(is)h(not)f -(signi\014can)o(t.)75 830 y FG(3.2)56 b(Instance)18 b(creation)g(and)h -(slot)f(access)75 908 y FD(Creation)d(of)f(an)g(instance)i(of)e(a)g -(previously)h(de\014ned)h(class)f(can)g(b)q(e)g(done)g(with)g(the)g -Fu(make)f FD(pro)q(cedure.)23 b(This)75 958 y(pro)q(cedure)13 -b(tak)o(es)f(one)f(mandatory)e(parameter)i(whic)o(h)g(is)g(the)h(class) -f(of)g(the)g(instance)h(whic)o(h)f(m)o(ust)f(b)q(e)i(created)75 -1008 y(and)h(a)f(list)g(of)g(optional)g(argumen)o(ts.)17 -b(Optional)11 b(argumen)o(ts)h(are)i(generally)e(used)i(to)e -(initialize)f(some)h(slots)h(of)75 1058 y(the)h(newly)g(created)i -(instance.)i(F)m(or)c(instance,)g(the)h(follo)o(wing)c(form)153 -1148 y Ft(\(define)17 b(c)j(\(make)d(\))o(\))75 -1288 y FD(will)12 b(create)k(a)d(new)i Fu()d -FD(ob)r(ject)i(and)g(will)e(bind)i(it)g(to)f(the)i Fu(c)e -FD(Sc)o(heme)h(v)n(ariable.)75 1338 y(Accessing)f(the)e(slots)h(of)e -(the)i(new)f(complex)f(n)o(um)o(b)q(er)g(can)i(b)q(e)f(done)h(with)f -(the)g Fu(slot-ref)f FD(and)h(the)g Fu(slot-set!)75 1388 -y FD(primitiv)o(es.)16 b Fu(Slot-set!)h FD(primitiv)o(e)11 -b(p)q(ermits)j(to)f(set)i(the)f(v)n(alue)f(of)h(an)f(ob)r(ject)i(slot)e -(and)h Fu(slot-ref)e FD(p)q(ermits)75 1438 y(to)i(get)g(its)g(v)n -(alue.)153 1529 y Ft(\(slot-set!)i(c)j('r)g(10\))153 -1574 y(\(slot-set!)d(c)j('i)g(3\))153 1620 y(\(slot-ref)e(c)i('r\))350 -1666 y Fs(=)-6 b Fn(\))19 b Ft(10)153 1711 y(\(slot-ref)e(c)i('i\))350 -1757 y Fs(=)-6 b Fn(\))19 b Ft(3)75 1897 y FD(Using)14 -b(the)g Fu(describe)f FD(generic)h(function)g(is)g(a)g(simple)e(w)o(a)o -(y)h(to)h(see)h(all)e(the)h(slots)g(of)g(an)g(ob)r(ject)g(at)g(one)g -(time:)75 1946 y(this)f(function)g(prin)o(ts)g(all)e(the)j(slots)f(of)f -(an)h(ob)r(ject)h(on)e(the)i(standard)f(output.)18 b(F)m(or)12 -b(instance,)i(the)f(expression)153 2037 y Ft(\(describe)k(c\))75 -2172 y FD(will)12 b(prin)o(t)i(the)h(follo)o(wing)c(informations)g(on)j -(the)g(standard)h(output:)153 2254 y Ft(#[)h(122398])h(is)i -(an)f(instance)f(of)i(class)e()153 2300 y(Slots)h(are:)252 -2345 y(r)h(=)g(10)252 2391 y(i)g(=)g(3)75 2556 y FG(3.3)56 -b(Slot)18 b(description)75 2634 y FD(When)c(sp)q(ecifying)f(a)g(slot,)g -(a)g(set)h(of)f(options)g(can)h(b)q(e)g(giv)o(en)f(to)g(the)h(system.)k -(Eac)o(h)c(option)f(is)g(sp)q(eci\014ed)i(with)75 2684 -y(a)f(k)o(eyw)o(ord.)k(The)c(list)f(of)h(authorised)g(k)o(eyw)o(ords)g -(is)g(giv)o(en)f(b)q(elo)o(w:)137 2769 y Fm(\017)21 b -Fu(:initform)12 b FD(p)q(ermits)i(to)g(supply)g(a)g(default)g(v)n(alue) -f(for)h(the)h(slot.)j(This)c(default)g(v)n(alue)g(is)g(obtained)g(b)o -(y)179 2819 y(ev)n(aluating)e(the)j(form)d(giv)o(en)h(after)h(the)h -Fu(:initform)d FD(in)h(the)i(global)d(en)o(vironmen)o(t.)p -eop -%%Page: 70 70 -70 69 bop 75 47 a FC(70)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 137 179 a Fm(\017)21 b Fu(:init-keyword)10 -b FD(p)q(ermits)i(to)h(sp)q(ecify)g(the)g(k)o(eyw)o(ord)g(for)f -(initializing)f(a)h(slot.)17 b(The)d(init-k)o(eyw)o(ord)d(ma)o(y)179 -229 y(b)q(e)k(pro)o(vided)g(during)g(instance)g(creation)g(\(i.e.)21 -b(in)14 b(the)i(mak)o(e)d(optional)h(parameter)g(list\).)21 -b(Sp)q(ecifying)179 278 y(suc)o(h)e(a)e(k)o(eyw)o(ord)h(during)g -(instance)h(initialization)d(will)g(sup)q(ersede)21 b(the)e(default)e -(slot)h(initialization)179 328 y(p)q(ossibly)13 b(giv)o(en)h(with)f -Fu(:initform)p FD(.)137 407 y Fm(\017)21 b Fu(:getter)14 -b FD(p)q(ermits)h(to)h(supply)f(the)i(name)d(for)h(the)i(slot)e -(getter.)25 b(The)16 b(name)e(binding)h(is)h(done)g(in)f(the)179 -457 y(global)d(en)o(vironmen)o(t.)137 535 y Fm(\017)21 -b Fu(:setter)14 b FD(p)q(ermits)i(to)f(supply)h(the)h(name)e(for)g(the) -i(slot)e(setter.)26 b(The)17 b(name)d(binding)h(is)h(done)g(in)g(the) -179 585 y(global)c(en)o(vironmen)o(t.)137 664 y Fm(\017)21 -b Fu(:accessor)13 b FD(p)q(ermits)i(to)g(supply)g(the)g(name)f(for)h -(the)h(slot)f(accessor.)23 b(The)16 b(name)d(binding)i(is)g(done)g(in) -179 714 y(the)g(global)d(en)o(vironmen)o(t.)19 b(An)14 -b(accessor)i(p)q(ermits)e(to)h(get)f(and)g(set)i(the)f(v)n(alue)e(of)h -(a)g(slot.)19 b(Setting)c(the)179 763 y(v)n(alue)e(of)g(a)h(slot)g(is)f -(done)h(with)g(the)g(extended)i(v)o(ersion)e(of)f Fu(set!)p -FD(.)137 842 y Fm(\017)21 b Fu(:allocation)11 b FD(p)q(ermits)i(to)g -(sp)q(ecify)h(ho)o(w)e(storage)i(for)f(the)h(slot)f(is)g(allo)q(cated.) -k(Three)e(kinds)e(of)g(allo)q(ca-)179 892 y(tion)g(are)h(pro)o(vided.)k -(They)d(are)f(describ)q(ed)i(b)q(elo)o(w:)225 970 y FC({)21 -b Fu(:instance)15 b FD(indicates)i(that)f(eac)o(h)h(instance)g(gets)h -(its)e(o)o(wn)g(storage)h(for)f(the)h(slot.)26 b(This)16 -b(is)h(the)270 1020 y(default.)225 1082 y FC({)k Fu(:class)14 -b FD(indicates)h(that)g(there)i(is)d(one)i(storage)f(lo)q(cation)f -(used)i(b)o(y)f(all)f(the)h(direct)h(and)f(indirect)270 -1132 y(instances)j(of)e(the)i(class.)27 b(This)17 b(p)q(ermits)f(to)g -(de\014ne)i(a)f(kind)f(of)g(global)f(v)n(ariable)h(whic)o(h)h(can)g(b)q -(e)270 1182 y(accessed)f(only)d(b)o(y)h(\(in\)direct)h(instances)g(of)e -(the)h(class)h(whic)o(h)f(de\014nes)h(this)f(slot.)225 -1244 y FC({)21 b Fu(:virtual)13 b FD(indicates)j(that)f(no)g(storage)g -(will)f(b)q(e)i(allo)q(cated)e(for)h(this)g(slot.)21 -b(It)16 b(is)f(up)g(to)g(the)g(user)270 1294 y(to)g(de\014ne)h(a)f -(getter)h(and)f(a)g(setter)h(function)f(for)g(this)g(slot.)21 -b(Those)16 b(functions)f(m)o(ust)f(b)q(e)h(de\014ned)270 -1344 y(with)f(the)g Fu(:slot-ref)e FD(and)i Fu(:slot-set!)i -FD(options.)i(See)d(the)f(example)f(b)q(elo)o(w.)75 1418 -y(T)m(o)e(illustrate)h(slot)f(description,)i(w)o(e)f(shall)f -(rede\014ne)j(the)e Fu()e FD(class)j(seen)g(b)q(efore.)18 -b(A)12 b(de\014nition)g(could)75 1464 y(b)q(e:)153 1534 -y Ft(\(define-cla)o(ss)k()g(\(\))212 -1580 y(\(\(r)j(:initform)d(0)j(:getter)e(get-r)h(:setter)f(set-r!)g -(:init-key)o(wor)o(d)g(:r\))232 1625 y(\(i)i(:initform)d(0)j(:getter)e -(get-i)h(:setter)f(set-i!)g(:init-key)o(wor)o(d)g(:i\)\)\))75 -1741 y FD(With)10 b(this)i(de\014nition,)e(the)i Fu(r)f -FD(and)g Fu(i)g FD(slot)f(are)i(set)g(to)f(0)g(b)o(y)f(default.)17 -b(V)m(alue)11 b(of)f(a)h(slot)g(can)g(also)f(b)q(e)i(sp)q(eci\014ed)h -(b)o(y)75 1787 y(calling)f Fu(make)h FD(with)g(the)h -Fu(:r)f FD(and)g Fu(:i)g FD(k)o(eyw)o(ords.)18 b(F)m(urthermore,)13 -b(the)h(generic)h(functions)e Fu(get-r)f FD(and)i Fu(set-r!)75 -1832 y FD(\(resp.)19 b Fu(get-i)12 b FD(and)i Fu(set-i!)p -FD(\))j(are)d(automatically)c(de\014ned)15 b(b)o(y)e(the)h(system)f(to) -g(read)h(and)g(write)f(the)h Fu(r)g FD(\(resp.)75 1878 -y Fu(i)p FD(\))g(slot.)153 1948 y Ft(\(define)j(c1)i(\(make)f -()e(:r)j(1)g(:i)g(2\)\))153 1994 y(\(get-r)f(c1\))350 -2039 y Fs(=)-6 b Fn(\))19 b Ft(1)153 2085 y(\(set-r!)e(c1)i(12\))153 -2131 y(\(get-r)f(c1\))350 2176 y Fs(=)-6 b Fn(\))19 b -Ft(12)153 2222 y(\(define)e(c2)i(\(make)f()e(:r)j(2\)\))153 -2268 y(\(get-r)f(c2\))350 2313 y Fs(=)-6 b Fn(\))19 b -Ft(2)153 2359 y(\(get-i)f(c2\))350 2405 y Fs(=)-6 b Fn(\))19 -b Ft(0)75 2520 y FD(Accessors)d(pro)o(vide)c(an)h(uniform)e(access)k -(for)e(reading)f(and)h(writing)f(an)h(ob)r(ject)h(slot.)j(W)m(riting)12 -b(a)h(slot)f(is)h(done)75 2566 y(with)18 b(an)f(extended)j(form)c(of)i -Fu(set!)29 b FD(whic)o(h)18 b(is)g(close)h(to)e(the)i(Common)c(Lisp)j -Fu(setf)f FD(macro.)29 b(So,)18 b(another)75 2612 y(de\014nition)13 -b(of)h(the)g(previous)g Fu()e FD(class,)i(using)g(the)g -Fu(:accessor)e FD(option,)h(could)h(b)q(e:)153 2682 y -Ft(\(define-cla)o(ss)i()g(\(\))212 2728 -y(\(\(r)j(:initform)d(0)j(:accessor)d(real-part)g(:init-keywo)o(rd)g -(:r\))232 2773 y(\(i)j(:initform)d(0)j(:accessor)d(imag-part)g -(:init-keywo)o(rd)g(:i\)\)\))p eop -%%Page: 71 71 -71 70 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(71)p 75 64 1763 2 v 270 160 a Fo(\(define-cla)o(ss)14 -b()h(\()o(\))323 200 y(\(;;)i(True)f(slots)g(use)g -(rectangular)e(coordinate)o(s)341 239 y(\(r)j(:initform)d(0)j -(:accessor)e(real-part)f(:init-keywo)o(rd)g(:r\))341 -279 y(\(i)j(:initform)d(0)j(:accessor)e(imag-part)f(:init-keywo)o(rd)g -(:i\))341 318 y(;;)j(Virtual)e(slots)h(access)f(do)i(the)g(conversio)o -(n)341 358 y(\(m)g(:accessor)d(magnitude)g(:init-keywor)o(d)g(:magn)394 -397 y(:allocati)o(on)g(:virtual)394 436 y(:slot-ref)g(\(lambda)h(\(o\)) -605 476 y(\(let)i(\(\(r)f(\(slot-ref)f(o)i('r\)\))f(\(i)h(\(slot-ref)d -(o)k('i\)\)\))641 515 y(\(sqrt)d(\(+)i(\(*)g(r)h(r\))f(\(*)f(i)i -(i\)\)\)\)\))394 555 y(:slot-set)o(!)d(\(lambda)g(\(o)i(m\))641 -594 y(\(let)f(\(\(a)g(\(slot-ref)f(o)i('a\)\)\))676 634 -y(\(slot-set!)d(o)j('r)g(\(*)g(m)g(\(cos)g(a\)\)\))676 -673 y(\(slot-set!)d(o)j('i)g(\(*)g(m)g(\(sin)g(a\)\)\)\)\)\))341 -712 y(\(a)g(:accessor)d(angle)i(:init-keyw)o(ord)e(:angle)394 -752 y(:allocati)o(on)g(:virtual)394 791 y(:slot-ref)g(\(lambda)h(\(o\)) -605 831 y(\(atan)h(\(slot-ref)f(o)i('i\))f(\(slot-ref)f(o)i('r\)\)\)) -394 870 y(:slot-set)o(!)e(\(lambda\(o)f(a\))623 910 y(\(let)i(\(\(m)h -(\(slot-ref)d(o)j('m\)\)\))676 949 y(\(slot-set!)d(o)j('r)g(\(*)g(m)g -(\(cos)g(a\)\)\))676 988 y(\(slot-set!)d(o)j('i)g(\(*)g(m)g(\(sin)g -(a\)\)\)\)\)\)\)\))339 1119 y FD(Figure)d(C.2:)j FB(A)e -Fu()e FB(numb)n(er)i(class)g(de\014nition)g(using)h(virtual)e -(slots)75 1275 y FD(Using)g(this)g(class)g(de\014nition,)f(reading)h -(the)g(real)g(part)g(of)f(the)i Fu(c)e FD(complex)g(can)h(b)q(e)h(done) -f(with:)153 1356 y Ft(\(real-part)i(c\))75 1483 y FD(and)f(setting)h -(it)f(to)h(the)g(v)n(alue)f(con)o(tained)g(in)h(the)g -Fu(new-value)d FD(v)n(ariable)i(can)h(b)q(e)g(done)g(using)f(the)h -(extended)75 1528 y(form)c(of)h Fu(set!)p FD(.)153 1610 -y Ft(\(set!)18 b(\(real-part)e(c\))j(new-value)o(\))75 -1740 y FD(Supp)q(ose)d(no)o(w)e(that)h(w)o(e)g(ha)o(v)o(e)g(to)g -(manipulate)e(complex)g(n)o(um)o(b)q(ers)i(with)f(rectangular)i(co)q -(ordinates)f(as)g(w)o(ell)75 1790 y(as)g(with)f(p)q(olar)g(co)q -(ordinates.)21 b(One)16 b(solution)d(could)i(b)q(e)g(to)g(ha)o(v)o(e)f -(a)h(de\014nition)f(of)g(complex)f(n)o(um)o(b)q(ers)i(whic)o(h)75 -1840 y(uses)g(one)f(particular)f(represen)o(tation)i(and)f(some)e(con)o -(v)o(ersion)i(functions)g(to)f(pass)h(from)e(one)i(represen)o(tation)75 -1890 y(to)i(the)g(other.)25 b(A)16 b(b)q(etter)i(solution)d(uses)i -(virtual)e(slots.)24 b(A)16 b(complete)g(de\014nition)f(of)g(the)i -Fu()d FD(class)75 1940 y(using)g(virtual)f(slots)h(is)f(giv)o -(en)h(in)f(Figure)h(2.)75 2038 y(This)h(class)g(de\014nition)g -(implemen)o(ts)e(t)o(w)o(o)h(real)h(slots)g(\()p Fu(r)g -FD(and)g Fu(i)p FD(\).)21 b(V)m(alues)15 b(of)g(the)g -Fu(m)g FD(and)g Fu(a)g FD(virtual)f(slots)h(are)75 2084 -y(calculated)i(from)e(real)i(slot)g(v)n(alues.)26 b(Reading)16 -b(a)h(virtual)f(slot)g(leads)h(to)g(the)h(application)d(of)h(the)i -(function)75 2129 y(de\014ned)i(in)d(the)i Fu(:slot-ref)e -FD(option.)31 b(W)m(riting)17 b(suc)o(h)i(a)f(slot)g(leads)h(to)f(the)h -(application)e(of)h(the)h(function)75 2175 y(de\014ned)c(in)e(the)i -Fu(:slot-set!)h FD(option.)i(F)m(or)13 b(instance,)h(the)h(follo)o -(wing)c(expression)153 2256 y Ft(\(slot-set!)16 b(c)j('a)g(3\))75 -2383 y FD(p)q(ermits)g(to)g(set)h(the)g(angle)f(of)g(the)h -Fu(c)f FD(complex)f(n)o(um)o(b)q(er.)34 b(This)19 b(expression)i -(conducts,)g(in)e(fact,)i(to)e(the)75 2428 y(ev)n(aluation)12 -b(of)i(the)g(follo)o(wing)e(expression)153 2510 y Ft(\(\(lambda)17 -b(o)i(m\))232 2555 y(\(let)f(\(\(m)g(\(slot-ref)f(o)i('m\)\)\))291 -2601 y(\(slot-set)o(!)e(o)i('r)g(\(*)f(m)i(\(cos)e(a\)\)\))291 -2647 y(\(slot-set)o(!)f(o)i('i)g(\(*)f(m)i(\(sin)e(a\)\)\)\))193 -2692 y(c)h(3\))75 2819 y FD(A)14 b(more)f(complete)g(example)g(is)g -(giv)o(en)h(b)q(elo)o(w:)p eop -%%Page: 72 72 -72 71 bop 75 47 a FC(72)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 153 179 a Ft(\(define)j(c)j(\(make)d()f(:r)j -(12)g(:i)g(20\)\))153 224 y(\(real-part)d(c\))350 270 -y Fs(=)-6 b Fn(\))19 b Ft(12)153 316 y(\(angle)f(c\))350 -361 y Fs(=)-6 b Fn(\))19 b Ft(1.03037682)o(65)o(243)o(1)153 -407 y(\(slot-set!)d(c)j('i)g(10\))153 453 y(\(set!)f(\(real-part)e(c\)) -j(1\))153 498 y(\(describe)e(c\))350 544 y Fs(=)-6 b -Fn(\))350 590 y Ft(#[)16 b(128bf8])h(is)i(an)g(instance)d -(of)j(class)f()350 635 y(Slots)f(are:)448 681 -y(r)i(=)g(1)448 727 y(i)g(=)g(10)448 772 y(m)g(=)g(10.0498756)o(21)o -(120)o(9)448 818 y(a)g(=)g(1.47112767)o(43)o(037)o(3)75 -946 y FD(Since)10 b(initialization)c(k)o(eyw)o(ords)k(ha)o(v)o(e)f(b)q -(een)h(de\014ned)h(for)e(the)h(four)f(slots,)g(w)o(e)h(can)f(no)o(w)g -(de\014ne)i(the)e Fu(make-rectangular)75 991 y FD(and)14 -b Fu(make-polar)d FD(standard)k(Sc)o(heme)f(primitiv)o(es.)153 -1074 y Ft(\(define)j(make-rectan)o(gu)o(lar)212 1120 -y(\(lambda)g(\(x)i(y\))g(\(make)f()f(:r)i(x)g(:i)g(y\)\)\)) -153 1211 y(\(define)e(make-polar)212 1257 y(\(lambda)g(\(x)i(y\))g -(\(make)f()f(:magn)g(x)j(:angle)d(y\)\)\))75 -1470 y FG(3.4)56 b(Class)19 b(precedence)e(list)75 1549 -y FD(A)e(class)g(ma)o(y)e(ha)o(v)o(e)h(more)g(than)g(one)h(sup)q -(erclass.)877 1534 y Fy(2)918 1549 y FD(With)f(single)g(inheritance)i -(\(one)f(sup)q(erclass\),)h(it)e(is)h(easy)75 1599 y(to)f(order)g(the)h -(sup)q(er)g(classes)g(from)d(most)h(to)h(least)g(sp)q(eci\014c.)19 -b(This)14 b(is)g(the)g(rule:)270 1694 y FC(Rule)g(1:)22 -b(Eac)o(h)16 b(class)f(is)g(more)g(sp)q(eci\014c)g(than)f(its)h(sup)q -(erclasses.)75 1786 y FD(With)e(m)o(ultiple)f(inheritance,)i(ordering)g -(is)g(harder.)k(Supp)q(ose)d(w)o(e)f(ha)o(v)o(e)153 1869 -y Ft(\(define-cla)o(ss)i(X)j(\(\))212 1914 y(\(\(x)g(:initform)d -(1\)\)\))153 2006 y(\(define-cla)o(ss)g(Y)j(\(\))212 -2051 y(\(\(x)g(:initform)d(2\)\)\))153 2143 y(\(define-cla)o(ss)g(Z)j -(\(X)g(Y\))212 2188 y(\(...\)\))75 2320 y FD(In)f(this)f(case,)i(the)f -Fu(Z)g FD(class)g(is)f(more)g(sp)q(eci\014c)i(than)e(the)h -Fu(X)g FD(or)f Fu(Y)h FD(class)g(for)f(instances)i(of)e -Fu(Z)p FD(.)f(Ho)o(w)o(ev)o(er,)j(the)75 2370 y Fu(:initform)14 -b FD(sp)q(eci\014ed)j(in)f Fu(X)g FD(and)f Fu(Y)h FD(leads)g(to)g(a)g -(problem:)k(whic)o(h)c(one)g(o)o(v)o(errides)h(the)f(other?)25 -b(The)17 b(rule)f(in)75 2420 y Fz(STklos)p FD(,)j(as)f(in)f(CLOS,)h(is) -f(that)h(the)g(sup)q(erclasses)j(listed)c(earlier)h(are)g(more)f(sp)q -(eci\014c)i(than)f(those)g(listed)75 2469 y(later.)g(So:)270 -2556 y FC(Rule)c(2:)21 b(F)l(or)15 b(a)h(giv)o(en)e(class,)h(sup)q -(erclasses)f(listed)f(earlier)g(are)i(more)g(sp)q(e-)270 -2605 y(ci\014c)g(than)g(those)g(listed)e(later.)75 2692 -y FD(These)20 b(rules)f(are)g(used)h(to)e(compute)g(a)g(linear)h(order) -g(for)f(a)g(class)h(and)g(all)e(its)i(sup)q(erclasses,)j(from)17 -b(most)75 2741 y(sp)q(eci\014c)f(to)e(least)h(sp)q(eci\014c.)21 -b(This)14 b(order)h(is)f(called)h(the)g(\\class)f(precedence)k(list")13 -b(of)h(the)h(class.)20 b(Giv)o(en)14 b(those)p 75 2780 -705 2 v 121 2807 a Fr(2)139 2819 y Fq(This)d(section)f(is)h(an)g -(adaptation)e(of)i(Je\013)g(Dalton's)f(\(J.Dalton@ed.ac.u)o(k\))e -(Brief)j(in)o(tro)q(duction)d(to)j(CLOS\))p eop -%%Page: 73 73 -73 72 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(73)p 75 64 1763 2 v 75 179 a FD(t)o(w)o(o)13 b(rules,)g(w)o(e)h(can)f -(claim)f(that)h(the)h(initial)d(form)h(for)h(the)g Fu(x)g -FD(slot)h(of)e(previous)i(example)e(is)h(2)g(since)h(the)g(class)75 -229 y Fu(X)g FD(is)f(placed)i(b)q(efore)f Fu(Y)g FD(in)f(class)i -(precedence)i(list)c(of)g Fu(Z)p FD(.)75 278 y(This)g(t)o(w)o(o)f -(rules)h(are)g(not)g(alw)o(a)o(ys)e(enough)i(to)g(determine)f(a)g -(unique)h(order,)g(ho)o(w)o(ev)o(er,)g(but)g(they)g(giv)o(e)f(an)h -(idea)75 328 y(of)g(ho)o(w)h(things)g(w)o(ork.)19 b Fz(STklos)c -FD(algorithm)c(for)j(calculating)f(the)i(precedence)i(list)c(is)h(a)g -(little)g(simpler)e(than)75 378 y(the)g(CLOS)f(one)h(describ)q(ed)h(in) -e([15)o(])g(for)g(breaking)g(ties.)18 b(Consequen)o(tly)11 -b(the)h(calculated)g(class)g(precedence)i(list)75 428 -y(could)f(b)q(e)i(di\013eren)o(t.)j(T)m(aking)12 b(the)j -Fu(F)e FD(class)h(sho)o(wn)f(in)g(Figure)h(1,)f(the)h -Fz(STklos)h FD(calculated)e(class)h(precedence)75 478 -y(list)f(is)179 566 y Fu(\(f)21 b(d)h(e)f(a)h(b)g(c)f()f -(\))75 654 y FD(whereas)15 b(it)f(w)o(ould)f(b)q(e)h(the)h(follo)o -(wing)c(list)i(with)h(a)g(CLOS-lik)o(e)f(algorithm:)179 -734 y Fu(\(f)21 b(d)h(e)f(a)h(c)g(b)f()f(\))75 -815 y FD(Ho)o(w)o(ev)o(er,)13 b(it)f(is)h(usually)f(considered)i(a)e -(bad)h(idea)f(for)g(programmers)f(to)i(rely)g(on)f(exactly)h(what)f -(the)i(order)f(is.)75 865 y(If)f(the)i(order)f(for)g(some)f(sup)q -(erclasses)j(is)e(imp)q(ortan)o(t,)d(it)j(can)g(b)q(e)g(expressed)i -(directly)e(in)g(the)g(class)g(de\014nition.)75 910 y(The)18 -b(precedence)j(list)c(of)g(a)g(class)h(can)g(b)q(e)g(obtained)f(b)o(y)h -(the)g(function)f Fu(class-precedence-)o(list)p FD(.)26 -b(This)75 956 y(function)14 b(returns)h(a)f(ordered)h(list)e(whose)i -(\014rst)f(elemen)o(t)g(is)f(the)i(most)e(sp)q(eci\014c)i(class.)j(F)m -(or)c(instance,)153 1032 y Ft(\(class-prec)o(ed)o(enc)o(e-l)o(is)o(t)j -(B\))350 1078 y Fs(=)-6 b Fn(\))19 b Ft(\(#[)d(12a248])h -(#[)f(1074e8])h(#[)f(107498]\))75 1200 -y FD(Ho)o(w)o(ev)o(er,)21 b(this)f(result)h(is)f(not)f(to)q(o)h(m)o(uc) -o(h)f(readable;)j(using)e(the)h(function)e(class-name)g(yields)h(a)f -(clearer)75 1246 y(result:)153 1322 y Ft(\(map)g(class-na)o(me)d -(\(class-pre)o(ced)o(en)o(ce-)o(lis)o(t)g(B\)\))350 1368 -y Fs(=)-6 b Fn(\))19 b Ft(\(b)g()d(\))75 -1550 y Fw(4)67 b(Generic)23 b(functions)75 1649 y FG(4.1)56 -b(Generic)17 b(functions)i(and)g(metho)r(ds)75 1726 y -FD(Neither)g Fz(STklos)g FD(nor)f(CLOS)h(use)f(the)h(message)f(mec)o -(hanism)e(for)h(metho)q(ds)h(as)g(most)f(Ob)r(ject)i(Orien)o(ted)75 -1776 y(language)d(do.)29 b(Instead,)18 b(they)g(use)h(the)f(notion)e -(of)h(generic)h(function.)29 b(A)17 b(generic)h(function)g(can)f(b)q(e) -h(seen)75 1826 y(as)f(a)g(metho)q(ds)g(\\tank)o(er".)28 -b(When)18 b(the)f(ev)n(aluator)g(requestd)i(the)f(application)e(of)g(a) -h(generic)h(function,)g(all)75 1875 y(the)f(metho)q(ds)f(of)f(this)i -(generic)g(function)f(will)e(b)q(e)j(grabb)q(ed)g(and)f(the)h(most)e -(sp)q(eci\014c)j(among)c(them)h(will)g(b)q(e)75 1925 -y(applied.)i(W)m(e)c(sa)o(y)g(that)g(a)f(metho)q(d)h -FB(M)g FD(is)g FB(mor)n(e)g(sp)n(e)n(ci\014c)h FD(than)f(a)g(metho)q(d) -f FB(M')h FD(if)f(the)h(class)h(of)e(its)h(parameters)75 -1975 y(are)h(more)g(sp)q(eci\014c)h(than)f(the)h FB(M')f -FD(ones.)19 b(T)m(o)13 b(b)q(e)i(more)e(precise,)i(when)g(a)e(generic)i -(fun)o(tion)f(m)o(ust)f(b)q(e)h(\\called")75 2025 y(the)g(system)g -(will)126 2113 y(1.)20 b(searc)o(h)15 b(among)d(all)g(the)j(generic)g -(function)e(those)i(whic)o(h)e(are)i(applicable)126 2195 -y(2.)20 b(sort)14 b(the)h(list)e(of)g(applicable)g(metho)q(ds)h(in)f -(the)i(\\most)d(sp)q(eci\014c")j(order)126 2277 y(3.)20 -b(call)13 b(the)h(most)f(sp)q(eci\014c)i(metho)q(d)e(of)h(this)g(list)f -(\(i.e.)18 b(the)c(\014rst)h(metho)q(d)e(of)g(the)i(sorted)g(metho)q -(ds)e(list\).)75 2365 y(The)19 b(de\014nition)g(of)f(a)h(generic)g -(function)g(is)g(done)g(with)f(the)i Fu(define-generic)c -FD(macro.)31 b(De\014nition)18 b(of)h(a)75 2415 y(new)f(metho)q(d)e(is) -i(done)f(with)g(the)i Fu(define-method)14 b FD(macro.)28 -b(Note)17 b(that)h Fu(define-method)d FD(automatically)75 -2464 y(de\014nes)g(the)f(generic)g(function)f(if)g(it)g(has)g(not)h(b)q -(een)g(de\014ned)h(b)q(efore.)j(Consequen)o(tly)m(,)13 -b(most)f(of)h(the)h(time,)e(the)75 2514 y Fu(define-generic)f -FD(needs)k(not)f(b)q(e)g(used.)75 2560 y(Consider)g(the)h(follo)o(wing) -c(de\014nitions:)153 2636 y Ft(\(define-gen)o(er)o(ic)16 -b(M\))153 2682 y(\(define-met)o(ho)o(d)h(M\(\(a)h()o(\))e(b\)) -j('integer\))153 2728 y(\(define-met)o(ho)o(d)e(M\(\(a)h(\))f -(b\))h('real\))153 2773 y(\(define-met)o(ho)o(d)f(M\(a)h(b\))h('top\))p -eop -%%Page: 74 74 -74 73 bop 75 47 a FC(74)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FD(The)h Fu(define-generic)d -FD(call)i(de\014nes)j Fu(M)d FD(as)h(a)g(generic)h(function.)21 -b(Note)15 b(that)g(the)g(signature)h(of)e(the)i(generic)75 -229 y(function)c(is)g(not)g(giv)o(en)g(up)q(on)h(de\014nition,)e(con)o -(trarily)h(to)g(CLOS.)g(This)g(will)f(p)q(ermit)h(metho)q(ds)g(with)f -(di\013eren)o(t)75 278 y(signatures)k(for)e(a)h(giv)o(en)g(generic)g -(function,)g(as)g(w)o(e)g(shall)f(see)i(later.)k(The)14 -b(three)h(next)g(lines)f(de\014ne)h(metho)q(ds)75 328 -y(for)i(the)h Fu(M)f FD(generic)h(function.)28 b(Eac)o(h)17 -b(metho)q(d)g(uses)h(a)f(sequence)i(of)e FB(p)n(ar)n(ameter)g(sp)n(e)n -(cializers)g FD(that)g(sp)q(ecify)75 378 y(when)c(the)f(giv)o(en)g -(metho)q(d)f(is)h(applicable.)17 b(A)12 b(sp)q(ecializer)h(p)q(ermits)f -(to)g(indicate)g(the)g(class)h(a)f(parameter)f(m)o(ust)75 -428 y(b)q(elong)i(to)g(\(directly)g(or)g(indirectly\))g(to)g(b)q(e)g -(applicable.)k(If)c(no)g(sp)q(eciliazer)g(is)g(giv)o(en,)f(the)i -(system)f(defaults)g(it)75 478 y(to)h Fu()p FD(.)j(Th)o(us,)c(the) -i(\014rst)g(metho)q(d)e(de\014nition)g(is)h(equiv)n(alen)o(t)f(to)153 -560 y Ft(\(define-met)o(ho)o(d)k(M\(\(a)h()o(\))e(\(b)j -(\)\))e('integer\))75 689 y FD(No)o(w,)c(let)h(us)g(lo)q(ok)f(at)h -(some)f(p)q(ossible)h(calls)g(to)f(generic)i(function)f -Fu(M)p FD(:)153 764 y Ft(\(M)19 b(2)h(3\))350 810 y Fs(=)-6 -b Fn(\))19 b Ft(integer)153 855 y(\(M)g(2)h(#t\))350 -901 y Fs(=)-6 b Fn(\))19 b Ft(integer)153 947 y(\(M)g(1.2)g('a\))350 -992 y Fs(=)-6 b Fn(\))19 b Ft(real)153 1038 y(\(M)g(#3)g('a\))350 -1084 y Fs(=)-6 b Fn(\))19 b Ft(real)153 1129 y(\(M)g(#t)g(#f\))350 -1175 y Fs(=)-6 b Fn(\))19 b Ft(top)153 1221 y(\(M)g(1)h(2)f(3\))350 -1266 y Fs(=)-6 b Fn(\))19 b Ft(error)f(\(since)f(no)i(method)e(exists)g -(for)i(3)g(parameters)o(\))75 1387 y FD(The)12 b(preceding)i(metho)q -(ds)d(use)i(only)e(one)h(sp)q(ecializer)h(p)q(er)g(parameter)f(list.)17 -b(Of)12 b(course,)h(eac)o(h)g(parameter)e(can)75 1433 -y(use)17 b(a)f(sp)q(ecializer.)26 b(In)16 b(this)h(case,)g(the)g -(parameter)f(list)g(is)g(scanned)h(from)e(left)h(to)g(righ)o(t)g(to)g -(determine)g(the)75 1478 y(applicabilit)o(y)c(of)h(a)g(metho)q(d.)18 -b(Supp)q(ose)c(w)o(e)h(declare)f(no)o(w)153 1554 y Ft(\(define-met)o -(ho)o(d)j(M)i(\(\(a)f(\))e(\(b)j(\))o(\))e('integer-)o -(nu)o(mbe)o(r\))153 1599 y(\(define-met)o(ho)o(d)g(M)i(\(\(a)f -(\))e(\(b)j(\)\))56 b('integer-)o(re)o(al\))153 -1645 y(\(define-met)o(ho)o(d)17 b(M)i(\(a)g(\(b)g()o(\)\))d -('top-numbe)o(r\))75 1766 y FD(In)e(this)g(case,)153 -1841 y Ft(\(M)19 b(1)h(2\))350 1887 y Fs(=)-6 b Fn(\))19 -b Ft(integer-in)o(te)o(ger)153 1933 y(\(M)g(1)h(1.0\))350 -1978 y Fs(=)-6 b Fn(\))19 b Ft(integer-re)o(al)153 2024 -y(\(M)g(1)h(#t\))350 2070 y Fs(=)-6 b Fn(\))19 b Ft(integer)153 -2115 y(\(M)g('a)g(1\))350 2161 y Fs(=)-6 b Fn(\))19 b -Ft('top-numbe)o(r)75 2322 y FG(4.2)56 b(Next-me)o(tho)r(d)75 -2394 y FD(When)16 b(a)g(generic)h(function)f(is)g(called,)g(the)h(list) -e(of)h(applicable)f(metho)q(ds)h(is)g(built.)24 b(As)16 -b(men)o(tioned)f(b)q(efore,)75 2440 y(the)g(most)f(sp)q(eci\014c)i -(metho)q(d)d(of)h(this)h(list)f(is)g(applied)g(\(see)i(4.1\).)j(This)c -(metho)q(d)f(ma)o(y)e(call)i(the)h(next)g(metho)q(d)75 -2486 y(in)f(the)h(list)f(of)g(applicable)f(metho)q(ds.)20 -b(This)14 b(is)g(done)h(b)o(y)f(using)g(the)h(sp)q(ecial)g(form)e -Fu(next-method)p FD(.)k(Consider)75 2531 y(the)d(follo)o(wing)e -(de\014nitions)153 2607 y Ft(\(define-met)o(ho)o(d)17 -b(Test\(\(a)g(\)\))36 b(\(cons)17 b('integer)g(\(next-met)o -(hod)o(\)\))o(\))153 2652 y(\(define-met)o(ho)o(d)g(Test\(\(a)g -()o(\)\))56 b(\(cons)17 b('number)37 b(\(next-met)o(hod)o(\)\)) -o(\))153 2698 y(\(define-met)o(ho)o(d)17 b(Test\(a\))95 -b(\(list)18 b('top\)\))75 2819 y FD(With)13 b(those)i(de\014nitions,)p -eop -%%Page: 75 75 -75 74 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(75)p 75 64 1763 2 v 270 160 a Fo(\(define-gen)o(er)o(ic)14 -b(new-+\))270 239 y(\(let)i(\(\(+)h(+\)\))305 318 y(\(define-met)o(hod) -d(new-+)i(\(\(a)g(\))g(\(b)h(\)\))d(\(+)j(a)h(b\)\))305 -397 y(\(define-met)o(hod)c(new-+)i(\(\(a)g(\))g(\(b)h()o -(\)\))341 436 y(\(make-rec)o(tan)o(gul)o(ar)d(\(+)j(a)g(\(real-part)e -(b\)\))h(\(imag-part)e(b\)\)\))305 515 y(\(define-met)o(hod)g(new-+)i -(\(\(a)g(\))f(\(b)h(\)\))341 555 y(\(make-rec)o(tan)o -(gul)o(ar)e(\(+)j(\(real-part)d(a\))j(b\))g(\(imag-part)d(a\)\)\))305 -634 y(\(define-met)o(hod)g(new-+)i(\(\(a)g(\))f(\(b)h -(\)\))341 673 y(\(make-rec)o(tan)o(gul)o(ar)e(\(+)j -(\(real-part)d(a\))j(\(real-part)d(b\)\))658 712 y(\(+)j(\(imag-part)d -(a\))j(\(imag-part)d(b\)\)\)\))305 791 y(\(define-met)o(hod)g(new-+)i -(\(\(a)g(\)\))32 b(a\))305 870 y(\(define-met)o(hod)14 -b(new-+)i(\(\))h(0\))305 949 y(\(define-met)o(hod)d(new-+)i(args)34 -b(\(new-+)15 b(\(car)h(args\))g(\(apply)g(new-+)g(\(cdr)g -(args\)\)\)\)\))270 1028 y(\(set!)g(+)h(new-+\))427 1119 -y FD(Figure)d(C.3:)j FB(Extending)f Fu(+)f FB(for)f(de)n(aling)h(with)f -(c)n(omplex)h(numb)n(ers)153 1273 y Ft(\(Test)j(1\))350 -1319 y Fs(=)-6 b Fn(\))19 b Ft(\(integer)e(number)g(top\))153 -1365 y(\(Test)h(1.0\))350 1410 y Fs(=)-6 b Fn(\))19 b -Ft(\(number)e(top\))153 1456 y(\(Test)h(#t\))350 1502 -y Fs(=)-6 b Fn(\))19 b Ft(\(top\))75 1666 y FG(4.3)56 -b(Example)75 1739 y FD(In)14 b(this)g(section)h(w)o(e)f(shall)g(con)o -(tin)o(ue)g(to)g(de\014ne)h(op)q(erations)f(on)g(the)h -Fu()d FD(class)i(de\014ned)h(in)f(Figure)g(2.)75 -1785 y(Supp)q(ose)c(that)g(w)o(e)f(w)o(an)o(t)g(to)h(use)g(it)f(to)g -(implemen)o(t)e(complex)h(n)o(um)o(b)q(ers)h(completely)m(.)15 -b(F)m(or)9 b(instance)h(a)f(de\014nition)75 1831 y(for)14 -b(the)g(addition)f(of)g(t)o(w)o(o)g(complexes)h(could)g(b)q(e)153 -1911 y Ft(\(define-met)o(ho)o(d)j(new-+)g(\(\(a)i()o(\))e(\(b) -h(\)\))193 1957 y(\(make-rec)o(ta)o(ngu)o(lar)e(\(+)j -(\(real-pa)o(rt)d(a\))j(\(real-part)d(b\)\))546 2003 -y(\(+)j(\(imag-pa)o(rt)d(a\))j(\(imag-part)d(b\)\)\)\))75 -2129 y FD(T)m(o)d(b)q(e)i(sure)g(that)f(the)g Fu(+)g -FD(used)g(in)g(the)g(metho)q(d)f Fu(new-+)g FD(is)h(the)g(standard)h -(addition)d(w)o(e)j(can)f(do:)153 2209 y Ft(\(define-gen)o(er)o(ic)i -(new-+\))153 2301 y(\(let)j(\(\(+)f(+\)\))193 2346 y(\(define-m)o(et)o -(hod)e(new-+)i(\(\(a)g(\))e(\(b)j()o(\)\))232 -2392 y(\(make-rec)o(tan)o(gul)o(ar)d(\(+)j(\(real-par)o(t)e(a\))h -(\(real-part)e(b\)\))585 2438 y(\(+)j(\(imag-par)o(t)e(a\))h -(\(imag-part)e(b\)\)\)\)\))75 2568 y FD(The)h Fu(define-generic)d -FD(ensures)19 b(here)e(that)g Fu(new-+)f FD(will)f(b)q(e)i(de\014ned)h -(in)e(the)i(global)d(en)o(vironmen)o(t.)25 b(Once)75 -2617 y(this)16 b(is)h(done,)f(w)o(e)h(can)f(add)g(metho)q(ds)g(to)g -(the)h(generic)g(function)f Fu(new-+)g FD(whic)o(h)g(mak)o(e)f(a)h -(closure)h(on)f(the)h Fu(+)75 2667 y FD(sym)o(b)q(ol.)f(A)e(complete)f -(writing)h(of)f(the)h Fu(new-+)f FD(metho)q(ds)h(is)f(sho)o(wn)h(in)g -(Figure)g(3.)75 2769 y(W)m(e)d(use)i(here)g(the)f(fact)g(that)g -(generic)g(function)g(are)g(not)g(obliged)e(to)i(ha)o(v)o(e)g(the)g -(same)f(n)o(um)o(b)q(er)g(of)g(parameters,)75 2819 y(con)o(trarily)18 -b(to)f(CLOS.)h(The)h(four)e(\014rst)i(metho)q(ds)f(implemen)o(t)d(the)k -(dy)o(adic)e(addition.)30 b(The)18 b(\014fth)g(metho)q(d)p -eop -%%Page: 76 76 -76 75 bop 75 47 a FC(76)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FD(sa)o(ys)g(that)f(the)h(addition)f(of)g(a)g -(single)g(elemen)o(t)g(is)g(this)h(elemen)o(t)f(itself.)k(The)d(sixth)g -(metho)q(d)e(sa)o(ys)i(that)g(using)75 229 y(the)i(addition)e(with)h -(no)g(parameter)g(alw)o(a)o(ys)g(return)h(0.)23 b(The)15 -b(last)h(metho)q(d)e(tak)o(es)i(an)f(arbitrary)g(n)o(um)o(b)q(er)g(of) -75 278 y(parameters)276 263 y Fy(3)295 278 y FD(.)27 -b(This)17 b(metho)q(d)f(acts)i(as)f(a)f(kind)h(of)f Fu(reduce)p -FD(:)23 b(it)17 b(calls)f(the)i(dy)o(adic)e(addition)g(on)h(the)g -FB(c)n(ar)g FD(of)75 328 y(the)e(list)f(and)g(on)h(the)g(result)g(of)f -(applying)f(it)h(on)g(its)h(rest.)21 b(T)m(o)13 b(\014nish,)i(the)g -Fu(set!)k FD(p)q(ermits)14 b(to)g(rede\014ne)j(the)e -Fu(+)75 378 y(symbol)e FD(to)g(our)h(extended)i(addition.)75 -474 y(T)m(o)g(terminate)f(our)i(implemen)o(tatio)o(n)d(\(in)o -(tegration?\))25 b(of)16 b(complex)f(n)o(um)o(b)q(ers,)h(w)o(e)h(can)g -(rede\014ne)h(standard)75 519 y(Sc)o(heme)c(predicates)h(in)f(the)g -(follo)o(wing)d(manner:)153 598 y Ft(\(define-met)o(ho)o(d)17 -b(complex?)f(\(c)j(\))d(#t\))153 644 y(\(define-met)o(ho)o(d)h -(complex?)f(\(c\))215 b(#f\))153 735 y(\(define-met)o(ho)o(d)17 -b(number?)g(\(n)h(\))f(#t\))153 781 y(\(define-met)o(ho)o(d)g -(number?)g(\(n\))195 b(#f\))153 826 y(...)153 872 y(...)75 -1001 y FD(Standard)15 b(primitiv)o(es)f(in)h(whic)o(h)g(complex)f(n)o -(um)o(b)q(ers)h(are)h(in)o(v)o(olv)o(ed)e(could)h(also)g(b)q(e)h -(rede\014ned)h(in)e(the)h(same)75 1051 y(manner.)75 1100 -y(This)e(ends)h(this)f(brief)f(presen)o(tation)i(of)e(the)i -Fz(STklos)g FD(extension.)p 75 2741 705 2 v 121 2768 -a Fr(3)139 2779 y Fq(The)h(third)f(parameter)e(of)j(a)g(de\014ne-meth)o -(o)q(d)d(is)j(a)g(parameter)e(list)h(whic)o(h)h(follo)o(w)f(the)h(con)o -(v)o(en)o(tions)d(used)i(for)h(lam)o(b)q(da)75 2819 y(expressions.)d -(In)e(particular)d(it)k(can)e(use)h(the)g(dot)g(notation)e(or)i(a)h -(sym)o(b)q(ol)d(to)i(denote)f(an)h(arbitrary)e(n)o(um)o(b)q(er)h(of)h -(parameters)p eop -%%Page: 77 77 -77 76 bop 75 490 a FH(App)s(endix)33 b(D)75 698 y FA(Mo)s(dules:)52 -b(Examples)75 914 y FD(This)12 b(app)q(endix)h(sho)o(ws)g(some)f -(usages)h(of)f(the)h Fz(STk)g FD(mo)q(dules.)j(Most)d(of)f(the)h -(examples)f(whic)o(h)g(are)h(exhibited)75 963 y(here)i(are)f(deriv)o -(ed)h(from)d(the)i(T)m(ung)g(and)f(Dyb)o(vig)g(pap)q(er)h([5].)75 -1079 y FG(In)n(teractiv)n(e)j(Rede\014nition)75 1151 -y FD(Consider)d(\014rst)h(the)f(de\014nitions,)153 1226 -y Ft(\(define-mod)o(ul)o(e)j(A)193 1271 y(\(export)g(square\))193 -1317 y(\(define)g(square)232 1363 y(\(lambda)g(\(x\))h(\(+)h(x)g -(x\)\)\)\))153 1454 y(\(define-mod)o(ul)o(e)e(B)193 1500 -y(\(import)g(A\))193 1545 y(\(define)g(distance)232 1591 -y(\(lambda)g(\(x)i(y\))271 1637 y(\(sqrt)f(\(+)h(\(square)e(x\))h -(\(square)f(y\)\)\)\)\)\))75 1757 y FD(Ob)o(viously)m(,)11 -b(the)j Fu(square)e FD(function)g(exp)q(orted)i(from)e -Fu(A)g FD(is)h(incorrect,)h(as)f(w)o(e)g(can)g(see)i(in)d(its)h(usage)g -(b)q(elo)o(w:)153 1831 y Ft(\(with-modul)o(e)j(B)k(\(round)d -(\(distance)f(3)j(4\)\)\))350 1877 y Fs(=)-6 b Fn(\))19 -b Ft(4.0)75 1997 y FD(The)14 b(function)g(can)g(b)q(e)h(rede\014ned)g -(\()p FB(c)n(orr)n(e)n(cte)n(d)t FD(\))f(b)o(y)f(the)i(follo)o(wing)c -(expression:)153 2071 y Ft(\(with-modul)o(e)16 b(A)193 -2117 y(\(set!)h(square)310 2163 y(\(lambda)g(\(x\))i(\(*)g(x)g -(x\)\)\)\))75 2283 y FD(And)14 b(no)o(w,)193 2357 y Ft(\(with-mod)o(ul) -o(e)j(B)i(\(round)e(\(distance)f(3)k(4\)\)\))350 2403 -y Fs(=)-6 b Fn(\))19 b Ft(5)75 2527 y FD(whic)o(h)14 -b(is)g(correct.)75 2643 y FG(Lexical)j(principle)75 2719 -y FD(This)g(example)e(reuses)j(the)g(mo)q(dules)d Fu(A)h -FD(and)h Fu(B)f FD(of)g(previous)h(section)h(and)e(adds)h(a)f -Fu(Compare)f FD(mo)q(dule)g(that)75 2769 y(exp)q(orts)i(the)g -Fu(less-than-4?)22 b FD(predicates,)c(whic)o(h)e(states)h(if)f(the)g -(distance)h(from)e(a)g(p)q(oin)o(t)h(to)g(the)h(origin)e(is)75 -2819 y(less)g(than)e(4.)935 2924 y(77)p eop + @endspecial 664 1147 a FF(Figure)16 b(C.1:)j(A)c(class)h(hierarc)o(h)o +(y)37 1280 y FI(3.2)56 b(Instance)19 b(creation)e(and)j(slot)e(access) +37 1366 y FF(Creation)g(of)f(an)g(instance)h(of)f(a)g(previously)i +(de\014ned)g(class)f(can)f(b)q(e)h(done)g(with)g(the)g +Fw(make)e FF(pro)q(cedure.)37 1422 y(This)f(pro)q(cedure)f(tak)o(es)f +(one)h(mandatory)f(parameter)g(whic)o(h)h(is)h(the)e(class)h(of)g(the)f +(instance)i(whic)o(h)g(m)o(ust)37 1479 y(b)q(e)d(created)e(and)h(a)f +(list)i(of)e(optional)h(argumen)o(ts.)17 b(Optional)12 +b(argumen)o(ts)e(are)g(generally)i(used)f(to)f(initialize)37 +1535 y(some)15 b(slots)g(of)g(the)g(newly)i(created)e(instance.)20 +b(F)l(or)15 b(instance,)h(the)f(follo)o(wing)h(form)125 +1628 y Fv(\(define)k(c)i(\(make)e(\)\))37 1778 +y FF(will)d(create)e(a)g(new)h Fw()e FF(ob)s(ject)g(and)i +(will)g(bind)h(it)e(to)g(the)g Fw(c)g FF(Sc)o(heme)h(v)m(ariable.)37 +1834 y(Accessing)23 b(the)e(slots)g(of)g(the)g(new)g(complex)h(n)o(um)o +(b)q(er)f(can)h(b)q(e)f(done)h(with)f(the)h Fw(slot-ref)e +FF(and)h(the)37 1891 y Fw(slot-set!)26 b FF(primitiv)o(es.)i +Fw(Slot-set!)e FF(primitiv)o(e)19 b(p)q(ermits)f(to)f(set)g(the)g(v)m +(alue)i(of)e(an)h(ob)s(ject)e(slot)i(and)37 1947 y Fw(slot-ref)d +FF(p)q(ermits)g(to)g(get)g(its)g(v)m(alue.)125 2040 y +Fv(\(slot-set!)k(c)j('r)f(10\))125 2090 y(\(slot-set!)e(c)j('i)f(3\)) +125 2140 y(\(slot-ref)f(c)h('r\))343 2190 y Fu(=)-7 b +Fp(\))21 b Fv(10)125 2239 y(\(slot-ref)f(c)h('i\))343 +2289 y Fu(=)-7 b Fp(\))21 b Fv(3)37 2439 y FF(Using)d(the)e +Fw(describe)g FF(generic)h(function)h(is)f(a)f(simple)i(w)o(a)o(y)e(to) +g(see)h(all)g(the)g(slots)f(of)g(an)h(ob)s(ject)f(at)g(one)37 +2495 y(time:)k(this)15 b(function)h(prin)o(ts)e(all)i(the)e(slots)g(of) +g(an)h(ob)s(ject)f(on)g(the)h(standard)f(output.)19 b(F)l(or)14 +b(instance,)h(the)37 2552 y(expression)125 2645 y Fv(\(describe)20 +b(c\))37 2787 y FF(will)d(prin)o(t)f(the)f(follo)o(wing)h(informations) +f(on)g(the)h(standard)f(output:)p eop %%Page: 78 78 -78 77 bop 75 47 a FC(78)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 153 179 a Ft(\(define-mod)o(ul)o(e)j(A)193 -224 y(\(export)g(square\))193 270 y(\(define)g(square)g(\(lambda)g -(\(x\))h(\(*)h(x)g(x\)\)\)\))153 361 y(\(define-mod)o(ul)o(e)e(B)193 -407 y(\(import)g(A\))193 453 y(\(export)g(distance\))193 -544 y(\(define)g(distance)232 590 y(\(lambda)g(\(x)i(y\))g(\(sqrt)e -(\(+)i(\(square)e(x\))i(\(square)e(y\)\)\)\)\)\))153 -681 y(\(define-mod)o(ul)o(e)g(Compare)193 727 y(\(import)g(B\))193 -772 y(\(define)g(less-than)o(-4)o(?)g(\(lambda)f(\(x)j(y\))g(\(<)g -(\(distance)d(x)j(y\))g(4\)\)\))193 818 y(\(define)e(square)135 -b(\(lambda)16 b(\(x\))58 b(\(+)19 b(x)g(x\)\)\)\))75 -951 y FD(Consider)14 b(no)o(w)g(the)g(call,)153 1030 -y Ft(\(with-modul)o(e)i(compare)h(\(less-than)o(-4?)f(3)j(4\)\))350 -1075 y Fs(=)-6 b Fn(\))19 b Ft(#f)75 1204 y FD(The)d(call)e(to)h -Fu(distance)e FD(done)i(from)f Fu(less-than-4?)19 b FD(indirectly)c -(calls)g(the)h Fu(square)d FD(pro)q(cedure)k(of)e(mo)q(dule)75 -1254 y Fu(A)f FD(rather)g(than)g(the)h(one)f(de\014ned)h(lo)q(cally)d -(in)i(mo)q(dule)e Fu(Compare)p FD(.)75 1370 y FG(Mutually)18 -b(Referen)n(tial)f(Mo)r(dules)75 1447 y FD(This)i(example)f(uses)j(t)o -(w)o(o)e(m)o(utually)d(referen)o(tial)k(mo)q(dules)e(tah)o(t)i(imp)q -(ort)d(and)j(exp)q(ort)g(to)f(eac)o(h)h(other)g(to)75 -1497 y(implemen)o(t)11 b(m)o(utually)g(recursiv)o(e)16 -b(ev)o(en?)j(and)13 b(o)q(dd?)18 b(pro)q(cedures)153 -1584 y Ft(\(define-mod)o(ul)o(e)f(Odd\))57 b(;;)19 b(Forward)e -(declarati)o(on)153 1675 y(\(define-mod)o(ul)o(e)g(Even)193 -1721 y(\(import)g(Odd\))193 1766 y(\(export)g(even?\))193 -1812 y(\(define)g(even?)g(\(lambda)g(\(x\))i(\(if)f(\(zero?)f(x\))i(#t) -g(\(odd?)f(\(-)h(x)g(1\)\)\)\)\)\))153 1903 y(\(define-mod)o(ul)o(e)e -(Odd)193 1949 y(\(import)g(Even\))193 1995 y(\(export)g(odd?\))193 -2040 y(\(define)g(odd?)h(\(lambda)f(\(x\))h(\(if)g(\(zero?)g(x\))h(#f)f -(\(even?)g(\(-)h(x)g(1\)\)\)\)\)\))75 2173 y FD(Hereafter)c(are)g(some) -e(usages)h(of)g(theses)h(pro)q(cedures:)153 2252 y Ft(\(with-modul)o(e) -h(Odd)j(\(odd?)f(3\)\))350 2298 y Fs(=)-6 b Fn(\))19 -b Ft(#t)153 2343 y(\(with-modul)o(e)d(Odd)j(\(odd?)f(10\)\))350 -2389 y Fs(=)-6 b Fn(\))19 b Ft(#f)153 2480 y(\(with-modul)o(e)d(Even)j -(\(even?)e(3\)\))350 2526 y Fs(=)-6 b Fn(\))19 b Ft(#f)153 -2572 y(\(with-modul)o(e)d(Even)j(\(even?)e(10\)\))350 -2617 y Fs(=)-6 b Fn(\))19 b Ft(#t)p eop +78 77 bop 37 45 a FE(78)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 125 190 a Fv(#[)i(122398])i(is)g(an)g(instance) +f(of)i(class)f()125 240 y(Slots)f(are:)234 290 +y(r)h(=)h(10)234 340 y(i)f(=)h(3)37 524 y FI(3.3)56 b(Slot)18 +b(description)37 615 y FF(When)e(sp)q(ecifying)h(a)e(slot,)g(a)g(set)h +(of)e(options)i(can)f(b)q(e)h(giv)o(en)g(to)f(the)g(system.)20 +b(Eac)o(h)15 b(option)h(is)g(sp)q(eci\014ed)37 671 y(with)g(a)f(k)o +(eyw)o(ord.)k(The)c(list)h(of)f(authorised)h(k)o(eyw)o(ords)e(is)i(giv) +o(en)g(b)q(elo)o(w:)106 774 y Fo(\017)22 b Fw(:initform)12 +b FF(p)q(ermits)i(to)f(supply)i(a)e(default)h(v)m(alue)g(for)f(the)h +(slot.)19 b(This)14 b(default)g(v)m(alue)g(is)g(obtained)151 +830 y(b)o(y)h(ev)m(aluating)i(the)e(form)f(giv)o(en)i(after)f(the)g +Fw(:initform)f FF(in)i(the)f(global)h(en)o(vironmen)o(t.)106 +933 y Fo(\017)22 b Fw(:init-keyword)13 b FF(p)q(ermits)i(to)f(sp)q +(ecify)h(the)g(k)o(eyw)o(ord)e(for)h(initializi)q(ng)j(a)d(slot.)20 +b(The)14 b(init-k)o(eyw)o(ord)151 990 y(ma)o(y)k(b)q(e)i(pro)o(vided)f +(during)h(instance)f(creation)g(\(i.e.)31 b(in)19 b(the)g(mak)o(e)g +(optional)g(parameter)f(list\).)151 1046 y(Sp)q(ecifying)g(suc)o(h)e(a) +f(k)o(eyw)o(ord)g(during)i(instance)f(initialization)j(will)e(sup)q +(ersede)g(the)f(default)g(slot)151 1103 y(initialization)i(p)q(ossibly) +f(giv)o(en)f(with)f Fw(:initform)p FF(.)106 1206 y Fo(\017)22 +b Fw(:getter)16 b FF(p)q(ermits)h(to)e(supply)j(the)f(name)f(for)g(the) +h(slot)f(getter.)23 b(The)16 b(name)h(binding)h(is)f(done)g(in)151 +1262 y(the)e(global)h(en)o(vironmen)o(t.)106 1365 y Fo(\017)22 +b Fw(:setter)16 b FF(p)q(ermits)h(to)f(supply)i(the)f(name)g(for)f(the) +h(slot)f(setter.)24 b(The)17 b(name)g(binding)i(is)e(done)g(in)151 +1421 y(the)e(global)h(en)o(vironmen)o(t.)106 1524 y Fo(\017)22 +b Fw(:accessor)13 b FF(p)q(ermits)h(to)g(supply)h(the)f(name)g(for)f +(the)h(slot)g(accessor.)19 b(The)14 b(name)g(binding)i(is)f(done)151 +1581 y(in)d(the)g(global)g(en)o(vironmen)o(t.)19 b(An)11 +b(accessor)g(p)q(ermits)h(to)f(get)g(and)g(set)g(the)h(v)m(alue)g(of)f +(a)g(slot.)19 b(Setting)151 1637 y(the)c(v)m(alue)i(of)e(a)f(slot)i(is) +f(done)h(with)f(the)h(extended)g(v)o(ersion)f(of)g Fw(set!)p +FF(.)106 1740 y Fo(\017)22 b Fw(:allocation)17 b FF(p)q(ermits)h(to)g +(sp)q(ecify)h(ho)o(w)f(storage)f(for)g(the)i(slot)f(is)g(allo)q(cated.) +30 b(Three)18 b(kinds)h(of)151 1797 y(allo)q(cation)d(are)f(pro)o +(vided.)21 b(They)15 b(are)g(describ)q(ed)i(b)q(elo)o(w:)202 +1899 y FE({)23 b Fw(:instance)16 b FF(indicates)j(that)e(eac)o(h)g +(instance)h(gets)f(its)g(o)o(wn)g(storage)f(for)h(the)g(slot.)27 +b(This)17 b(is)251 1956 y(the)e(default.)202 2033 y FE({)23 +b Fw(:class)f FF(indicates)h(that)f(there)g(is)h(one)f(storage)f(lo)q +(cation)i(used)g(b)o(y)f(all)h(the)g(direct)g(and)251 +2090 y(indirect)f(instances)e(of)g(the)g(class.)34 b(This)20 +b(p)q(ermits)h(to)e(de\014ne)i(a)f(kind)h(of)e(global)i(v)m(ariable)251 +2146 y(whic)o(h)d(can)f(b)q(e)g(accessed)g(only)g(b)o(y)g(\(in\)direct) +h(instances)f(of)f(the)h(class)g(whic)o(h)h(de\014nes)g(this)251 +2203 y(slot.)202 2280 y FE({)23 b Fw(:virtual)16 b FF(indicates)i(that) +e(no)h(storage)e(will)k(b)q(e)e(allo)q(cated)h(for)e(this)i(slot.)24 +b(It)17 b(is)g(up)h(to)e(the)251 2337 y(user)f(to)e(de\014ne)j(a)e +(getter)g(and)g(a)h(setter)e(function)j(for)e(this)g(slot.)20 +b(Those)14 b(functions)h(m)o(ust)f(b)q(e)251 2393 y(de\014ned)j(with)e +(the)h Fw(:slot-ref)d FF(and)j Fw(:slot-set!)j FF(options.)h(See)15 +b(the)h(example)g(b)q(elo)o(w.)37 2490 y(T)l(o)f(illustrate)i(slot)e +(description,)h(w)o(e)f(shall)i(rede\014ne)f(the)f Fw()f +FF(class)i(seen)g(b)q(efore.)k(A)15 b(de\014nition)37 +2539 y(could)i(b)q(e:)125 2638 y Fv(\(define-class)i()h +(\(\))190 2688 y(\(\(r)h(:initform)f(0)i(:getter)e(get-r)h +(:setter)f(set-r!)h(:init-keyword)e(:r\))212 2738 y(\(i)i(:initform)f +(0)i(:getter)e(get-i)h(:setter)f(set-i!)h(:init-keyword)e(:i\)\)\))p +eop %%Page: 79 79 -79 78 bop 75 491 a FH(App)s(endix)33 b(E)75 698 y FA(Changes)75 -940 y Fw(In)n(tro)r(duction)75 1031 y FD(This)16 b(app)q(endix)g(lists) -g(the)h(main)d(di\013erences)808 1016 y Fy(1)829 1031 -y FD(.among)f(the)k(v)n(arious)e(recen)o(t)j(v)o(ersions)f(of)e(STk.)25 -b(Di\013erences)75 1081 y(with)12 b(older)h(v)o(ersions)f(as)h(w)o(ell) -f(as)g(implemen)o(tation)d(c)o(hanges)k(are)g(describ)q(ed)h(in)e(the)h -(CHANGES)g(\014le)f(lo)q(cated)75 1131 y(in)h(the)i(main)d(directory)i -(of)g(the)g(STk)g(distribution.)75 1270 y Fw(Release)22 -b(3.1.1)75 1358 y Fl(R)n(ele)n(ase)12 b(date:)k(09/26/96)75 -1404 y Fs(This)e(release)g(is)g(a)g(bug)f(correction)i(release.)k(It)13 -b(corrects)h(a)f(lot)h(of)f(bugs.)18 b(A)13 b(lot)h(of)f(these)h(bugs)g -(prev)o(en)o(t)g(to)f(install)j(it)75 1450 y(on)d(some)h(arc)o -(hitectures.)75 1583 y Fw(Release)22 b(3.1)75 1666 y -Fl(R)n(ele)n(ase)12 b(date:)k(07/24/96)139 1738 y Fn(\017)21 -b Fs(V)m(ersion)14 b(of)e(Tk)h(is)h(no)o(w)f(at)g(Tk4.1)g(lev)o(el.)139 -1801 y Fn(\017)21 b Fs(STk)13 b(has)g(b)q(een)h(p)q(orted)g(on)f(Windo) -o(ws)i(95)e(and)h(Windo)o(ws)g(NT.)139 1864 y Fn(\017)21 -b Fs(P)o(orts)12 b(can)h(ha)o(v)o(e)g(a)f(handler)i(whic)o(h)f(is)g -(executed)g(when)f(p)q(ort)h(b)q(ecomes)g(readable)h(or)e(writable)i -(\(see)e(primitiv)o(es)179 1910 y Ft(when-port)o(-re)o(ad)o(abl)o(e)e -Fs(and)j Ft(when-port-)o(wri)o(ta)o(ble)o Fs(.)139 1973 -y Fn(\017)21 b Fs(So)q(c)o(k)o(ets)14 b(in)f(serv)o(er)h(mo)q(de)f -(allo)o(w)h(m)o(ultiple)i(concurren)o(t)e(connection.)139 -2036 y Fn(\017)21 b Fj(STklos)p Fs(:)i(Tw)o(o)15 b(new)h(metho)q(ds:)24 -b Ft(object-eqv?)f Fs(and)16 b Ft(object-equa)o(l?)23 -b Fs(whic)o(h)17 b(are)f(called)i(when)f(applying)179 -2082 y Ft(eqv?)e Fs(or)e Ft(equal?)i Fs(to)e(instances.)139 -2145 y Fn(\017)21 b Fs(New)12 b(primitiv)o(e:)p Ft(setenv!)75 -2278 y Fw(Release)22 b(3.0)75 2361 y Fl(R)n(ele)n(ase)12 -b(date:)k(01/22/96)139 2425 y Fn(\017)21 b Fs(V)m(ersion)14 -b(of)e(Tk)h(is)h(at)f(Tk4.0p2)g(lev)o(el.)139 2488 y -Fn(\017)21 b Fs(Closures)13 b(are)g(fully)h(supp)q(orted)g(b)o(y)f(Tk.) -k(That)12 b(means)h(that)g(a)f(callbac)o(k)j(can)e(b)q(e)g(no)o(w)f(a)h -(Sc)o(heme)g(closure)h(with)179 2534 y(its)j(en)o(vironmen)o(t.)32 -b(GC)16 b(problems)j(with)f(closures)g(and)g(usage)g(of)f(the)g(dirt)o -(y)i Ft(address-o)o(f)14 b Fs(are)j(de\014nitiv)o(ely)179 -2579 y(gone.)139 2642 y Fn(\017)k Fs(Strings)14 b(can)g(con)o(tain)g(n) -o(ull)h(c)o(harters)e(\(prin)o(ting)i(of)e(strings)h(is)g(more)f -(friendly)i(in)f(write)f(mo)q(de\).)139 2705 y Fn(\017)21 -b Fs(Signals)15 b(can)f(b)q(e)f(redirected)h(to)f(Sc)o(heme)h -(closures.)k(The)13 b(end)h(of)e(a)h(GC)g(is)h(seen)f(as)g(a)g(signal.) -p 75 2741 705 2 v 121 2768 a Fr(1)139 2779 y Fq(Only)e(the)g -(di\013erences)e(whic)o(h)i(a\013ect)f(the)h(language)e(or)i(new)h(p)q -(orts)e(are)h(rep)q(orted)e(here.)15 b(In)c(particular,)d(in)o(ternal)i -(c)o(hanges,)75 2819 y(pac)o(k)n(ages)f(written)i(in)g(Sc)o(heme)e(or)j -(p)q(erforman)o(ce)d(enhancem)o(en)o(t)f(are)j(not)g(discussed)e(here.) -935 2924 y FD(79)p eop +79 78 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(79)p 37 64 1838 2 v 37 190 a FF(With)20 b(this)g(de\014nition,)h(the) +e Fw(r)g FF(and)h Fw(i)f FF(slot)g(are)g(set)g(to)f(0)h(b)o(y)g +(default.)33 b(V)l(alue)20 b(of)f(a)g(slot)g(can)g(also)g(b)q(e)37 +240 y(sp)q(eci\014ed)h(b)o(y)e(calling)h Fw(make)e FF(with)h(the)f +Fw(:r)h FF(and)f Fw(:i)h FF(k)o(eyw)o(ords.)26 b(F)l(urthermore,)17 +b(the)h(generic)g(functions)37 290 y Fw(get-r)g FF(and)h +Fw(set-r!)30 b FF(\(resp.)f Fw(get-i)18 b FF(and)h Fw(set-i!)p +FF(\))29 b(are)18 b(automatically)h(de\014ned)h(b)o(y)f(the)f(system)h +(to)37 340 y(read)d(and)f(write)g(the)h Fw(r)f FF(\(resp.)k +Fw(i)p FF(\))c(slot.)125 432 y Fv(\(define)20 b(c1)h(\(make)g +()f(:r)h(1)h(:i)f(2\)\))125 482 y(\(get-r)f(c1\))343 +531 y Fu(=)-7 b Fp(\))21 b Fv(1)125 581 y(\(set-r!)f(c1)h(12\))125 +631 y(\(get-r)f(c1\))343 681 y Fu(=)-7 b Fp(\))21 b Fv(12)125 +731 y(\(define)f(c2)h(\(make)g()f(:r)h(2\)\))125 +781 y(\(get-r)f(c2\))343 830 y Fu(=)-7 b Fp(\))21 b Fv(2)125 +880 y(\(get-i)f(c2\))343 930 y Fu(=)-7 b Fp(\))21 b Fv(0)37 +1071 y FF(Accessors)16 b(pro)o(vide)g(an)f(uniform)g(access)h(for)e +(reading)i(and)g(writing)g(an)f(ob)s(ject)f(slot.)20 +b(W)l(riting)c(a)f(slot)g(is)37 1121 y(done)k(with)f(an)g(extended)h +(form)f(of)f Fw(set!)28 b FF(whic)o(h)19 b(is)g(close)f(to)g(the)g +(Common)f(Lisp)i Fw(setf)f FF(macro.)27 b(So,)37 1170 +y(another)13 b(de\014nition)h(of)f(the)f(previous)i Fw()d +FF(class,)i(using)h(the)f Fw(:accessor)e FF(option,)i(could)h(b)q(e:) +125 1262 y Fv(\(define-class)19 b()h(\(\))190 +1312 y(\(\(r)h(:initform)f(0)i(:accessor)e(real-part)g(:init-keyword)f +(:r\))212 1362 y(\(i)i(:initform)f(0)i(:accessor)e(imag-part)g +(:init-keyword)f(:i\)\)\))37 1503 y FF(Using)d(this)g(class)f +(de\014nition,)i(reading)f(the)f(real)h(part)e(of)h(the)g +Fw(c)g FF(complex)h(can)g(b)q(e)g(done)f(with:)125 1595 +y Fv(\(real-part)k(c\))37 1736 y FF(and)12 b(setting)f(it)h(to)e(the)i +(v)m(alue)g(con)o(tained)g(in)g(the)f Fw(new-value)f +FF(v)m(ariable)j(can)e(b)q(e)h(done)g(using)g(the)f(extended)37 +1786 y(form)k(of)g Fw(set!)p FF(.)125 1878 y Fv(\(set!)20 +b(\(real-part)g(c\))i(new-value\))37 2025 y FF(Supp)q(ose)h(no)o(w)e +(that)g(w)o(e)g(ha)o(v)o(e)g(to)g(manipulate)i(complex)f(n)o(um)o(b)q +(ers)g(with)g(rectangular)g(co)q(ordinates)37 2081 y(as)e(w)o(ell)i(as) +e(with)g(p)q(olar)h(co)q(ordinates.)36 b(One)21 b(solution)g(could)g(b) +q(e)g(to)f(ha)o(v)o(e)g(a)g(de\014nition)i(of)e(complex)37 +2138 y(n)o(um)o(b)q(ers)14 b(whic)o(h)f(uses)g(one)g(particular)g +(represen)o(tation)g(and)g(some)g(con)o(v)o(ersion)g(functions)g(to)f +(pass)h(from)37 2194 y(one)i(represen)o(tation)f(to)f(the)h(other.)19 +b(A)14 b(b)q(etter)g(solution)h(uses)f(virtual)h(slots.)k(A)14 +b(complete)h(de\014nition)g(of)37 2251 y(the)h Fw()e +FF(class)h(using)h(virtual)g(slots)f(is)h(giv)o(en)f(in)i(Figure)e(2.) +37 2355 y(This)i(class)f(de\014nition)h(implemen)o(ts)g(t)o(w)o(o)d +(real)i(slots)g(\()p Fw(r)f FF(and)h Fw(i)p FF(\).)k(V)l(alues)d(of)e +(the)h Fw(m)g FF(and)f Fw(a)h FF(virtual)g(slots)37 2405 +y(are)j(calculated)i(from)d(real)h(slot)g(v)m(alues.)33 +b(Reading)20 b(a)f(virtual)g(slot)g(leads)h(to)e(the)i(application)g +(of)f(the)37 2455 y(function)d(de\014ned)g(in)f(the)g +Fw(:slot-ref)e FF(option.)20 b(W)l(riting)c(suc)o(h)f(a)f(slot)g(leads) +i(to)e(the)g(application)j(of)d(the)37 2505 y(function)j(de\014ned)f +(in)g(the)f Fw(:slot-set!)k FF(option.)h(F)l(or)15 b(instance,)h(the)f +(follo)o(wing)h(expression)125 2597 y Fv(\(slot-set!)j(c)j('a)f(3\))37 +2738 y FF(p)q(ermits)c(to)f(set)g(the)g(angle)h(of)f(the)g +Fw(c)g FF(complex)h(n)o(um)o(b)q(er.)23 b(This)17 b(expression)g +(conducts,)g(in)g(fact,)e(to)h(the)37 2787 y(ev)m(aluation)h(of)e(the)g +(follo)o(wing)h(expression)p eop %%Page: 80 80 -80 79 bop 75 47 a FC(80)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 139 179 a Fn(\017)21 b Fs(T)m(races)13 -b(on)g(v)n(ariables)i(are)e(c)o(hanged)i(\(and)e(re-w)o(ork)g(no)o -(w\):)k(the)c(asso)q(ciated)i(trace)e(m)o(ust)g(b)q(e)g(a)g(th)o(unk.) -139 241 y Fn(\017)21 b Fs(New)12 b(options)j(for)e(some)g(widgets)h(to) -f(b)q(e)g(more)g(friendly)i(with)e(Sc)o(heme)h(w)o(orld)139 -303 y Fn(\017)21 b Fj(STklos)p Fs(:)e(if)c(a)f(metho)q(d)h(M)f(is)h -(de\014ned)h(and)f(if)f(it)h(is)g(already)h(b)q(ound)f(to)f(a)h(pro)q -(cedure,)g(the)g(old)g(pro)q(cedure)h(is)179 349 y(called)f(when)e(no)g -(metho)q(d)h(is)g(applicable.)257 420 y Ft(\(define-me)o(tho)o(d)i(car) -j(\(\(x)f(\))o(\))f(\(-)i(x)g(1\)\))257 465 -y(\(car)f(10\))453 511 y Fs(=)-6 b Fn(\))20 b Ft(9)257 -557 y(\(car)e(\(cons)g('a)h('b\)\))453 602 y Fs(=)-6 -b Fn(\))20 b Ft(a)139 718 y Fn(\017)h Fs(Small)c(c)o(hange)g(in)g(the)g -(STklos)g(hierarc)o(h)o(y)m(.)27 b Ft()13 b Fs(is)k(no)o(w)f(a) -g(sub)q(class)i(of)g Ft()12 b Fs(and)17 b(its)f(meta)179 -764 y(class)e(is)f Ft()o -Fs(.)p eop +80 79 bop 37 45 a FE(80)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 251 171 a Fq(\(define-cl)o(ass)f()g(\() +o(\))310 216 y(\(;;)i(True)h(slots)e(use)i(rectangul)o(ar)d(coordinate) +o(s)330 262 y(\(r)i(:initform)f(0)i(:accessor)d(real-part)g(:init-keyw) +o(or)o(d)h(:r\))330 308 y(\(i)h(:initform)f(0)i(:accessor)d(imag-part)g +(:init-keyw)o(or)o(d)h(:i\))330 353 y(;;)h(Virtual)f(slots)h(access)f +(do)i(the)g(conversio)o(n)330 399 y(\(m)f(:accessor)f(magnitud)o(e)g +(:init-key)o(wo)o(rd)f(:magn)388 445 y(:allocation)g(:virtual)388 +490 y(:slot-ref)h(\(lambda)f(\(o\))624 536 y(\(let)i(\(\(r)g +(\(slot-ref)e(o)k('r\)\))e(\(i)h(\(slot-ref)d(o)j('i\)\)\))663 +582 y(\(sqrt)f(\(+)h(\(*)f(r)i(r\))e(\(*)h(i)h(i\)\)\)\)\))388 +627 y(:slot-set!)c(\(lambda)h(\(o)i(m\))663 673 y(\(let)f(\(\(a)h +(\(slot-re)o(f)e(o)i('a\)\)\))702 719 y(\(slot-set!)d(o)j('r)g(\(*)g(m) +g(\(cos)f(a\)\)\))702 764 y(\(slot-set!)e(o)j('i)g(\(*)g(m)g(\(sin)f +(a\)\)\)\)\)\))330 810 y(\(a)g(:accessor)f(angle)g(:init-keyw)o(ord)f +(:angle)388 856 y(:allocation)g(:virtual)388 901 y(:slot-ref)h +(\(lambda)f(\(o\))624 947 y(\(atan)h(\(slot-ref)g(o)i('i\))f +(\(slot-ref)e(o)k('r\)\)\))388 993 y(:slot-set!)c(\(lambda\(o)g(a\))643 +1038 y(\(let)i(\(\(m)h(\(slot-ref)d(o)j('m\)\)\))702 +1084 y(\(slot-set!)d(o)j('r)g(\(*)g(m)g(\(cos)f(a\)\)\))702 +1130 y(\(slot-set!)e(o)j('i)g(\(*)g(m)g(\(sin)f(a\)\)\)\)\)\)\)\))281 +1273 y FF(Figure)d(C.2:)k FD(A)d Fw()f FD(numb)n(er)h(class)f +(de\014nition)h(using)f(virtual)i(slots)125 1446 y Fv(\(\(lambda)j(o)h +(m\))212 1496 y(\(let)g(\(\(m)g(\(slot-ref)f(o)h('m\)\)\))277 +1546 y(\(slot-set!)f(o)i('r)f(\(*)g(m)h(\(cos)f(a\)\)\))277 +1596 y(\(slot-set!)f(o)i('i)f(\(*)g(m)h(\(sin)f(a\)\)\)\))168 +1645 y(c)h(3\))37 1793 y FF(A)16 b(more)f(complete)g(example)h(is)g +(giv)o(en)g(b)q(elo)o(w:)125 1893 y Fv(\(define)k(c)i(\(make)e +()g(:r)i(12)f(:i)g(20\)\))125 1943 y(\(real-part)e(c\))343 +1992 y Fu(=)-7 b Fp(\))21 b Fv(12)125 2042 y(\(angle)f(c\))343 +2092 y Fu(=)-7 b Fp(\))21 b Fv(1.03037682652431)125 2142 +y(\(slot-set!)e(c)j('i)f(10\))125 2192 y(\(set!)f(\(real-part)g(c\))i +(1\))125 2242 y(\(describe)e(c\))343 2291 y Fu(=)-7 b +Fp(\))343 2341 y Fv(#[)19 b(128bf8])h(is)i(an)f(instance)f(of) +i(class)e()343 2391 y(Slots)g(are:)452 2441 +y(r)h(=)h(1)452 2491 y(i)f(=)h(10)452 2540 y(m)f(=)h(10.0498756211209) +452 2590 y(a)f(=)h(1.47112767430373)37 2738 y FF(Since)h +(initialization)i(k)o(eyw)o(ords)20 b(ha)o(v)o(e)h(b)q(een)i(de\014ned) +g(for)e(the)g(four)g(slots,)i(w)o(e)e(can)g(no)o(w)g(de\014ne)i(the)37 +2787 y Fw(make-rectangular)13 b FF(and)j Fw(make-polar)e +FF(standard)g(Sc)o(heme)i(primitiv)o(es.)p eop %%Page: 81 81 -81 80 bop 75 493 a FH(App)s(endix)33 b(F)75 703 y FA(Miscellaneous)39 -b(Informations)75 947 y Fw(1)67 b(In)n(tro)r(duction)75 -1035 y Fs(This)11 b(app)q(endix)h(lists)g(a)e(n)o(um)o(b)q(er)h(of)f -(things)i(whic)o(h)f(cannot)g(go)f(elsewhere)h(in)g(this)g(do)q(cumen)o -(t.)18 b(The)10 b(only)h(link)h(b)q(et)o(w)o(een)75 1080 -y(the)h(items)h(listed)g(her)g(is)f(that)g(they)h(should)h(ease)e(y)o -(our)g(life)h(when)g(using)g Fj(STk)p Fs(.)75 1225 y -Fw(2)67 b(Ab)r(out)22 b Fv(STk)75 1325 y FG(2.1)56 b(Latest)17 -b(release)75 1400 y Fj(STk)8 b Fs(distributio)q(n)k(is)d(a)o(v)n -(ailable)j(on)d(v)n(arious)h(sites.)16 b(The)9 b(original)i -(distribution)h(site)e(is)f Ft(kaolin.uni)o(ce)o(.fr)c(\(134.59.1)o -(32.)o(7\))o Fs(.)75 1446 y(Files)17 b(are)g(a)o(v)n(ailable)h(through) -g(anon)o(ymous)f(ftp)f(and)h(are)f(lo)q(cated)h(in)g(the)f -Ft(/pub/STk)d Fs(directory)m(.)27 b(Distribution)19 b(\014le)75 -1492 y(names)14 b(ha)o(v)o(e)f(the)h(form)f Ft(STk-x.y.z)o(.t)o(ar.)o -(gz)o Fs(,)d(where)j Ft(x)g Fs(and)h Ft(y)e Fs(represen)o(t)i(the)g(v)o -(ersion)g(the)g(release)g(and)g(sub-release)75 1537 y(n)o(um)o(b)q(ers) -g(of)f(the)g(pac)o(k)n(age.)75 1661 y FG(2.2)56 b(Sharing)18 -b(Co)r(de)75 1736 y Fs(If)13 b(y)o(ou)i(ha)o(v)o(e)f(written)g(co)q(de) -h(that)f(y)o(ou)g(w)o(an)o(t)g(to)g(share)g(with)g(the)g(\(small\))i -Fj(STk)d Fs(comm)o(unit)o(y)m(,)i(y)o(ou)g(can)f(dep)q(osit)h(it)g(in) -75 1782 y(the)f(directory)i Ft(/pub/STk/)o(Inc)o(omi)o(ng)10 -b Fs(of)k Ft(kaolin.uni)o(ce.)o(fr)p Fs(.)j(Mail)f(me)e(a)g(small)i -(note)e(when)h(y)o(ou)f(dep)q(osit)i(a)e(\014le)i(in)75 -1828 y(this)d(directory)h(so)e(I)g(can)g(put)h(in)g(in)g(its)f -(de\014nitiv)o(e)j(place)e(\()p Ft(/pub/STk/C)o(on)o(tri)o(b)c -Fs(directory)k(con)o(tains)h(the)e(con)o(tributed)75 -1873 y(co)q(de\).)75 1997 y FG(2.3)56 b Fd(STk)19 b FG(Mailing)f(list) -75 2072 y Fs(There)c(is)g(a)g(mailing)j(list)e(for)e -Fj(STk)h Fs(lo)q(cated)h(on)f Ft(kaolin.uni)o(ce.)o(fr)o -Fs(.)j(The)d(in)o(ten)o(t)g(of)g(this)h(mailing)h(list)f(is)g(to)e(p)q -(ermit)75 2118 y(to)19 b Fj(STk)f Fs(users)i(to)e(share)i(exp)q -(eriences,)i(exp)q(ose)e(problems,)h(submit)f(ideas)g(and)g(.)6 -b(.)g(.)g(ev)o(erything)20 b(whic)o(h)g(y)o(ou)g(\014nd)75 -2164 y(in)o(teresting)15 b(\(and)f(whic)o(h)g(is)f(related)h(to)f -Fj(STk)p Fs(\).)75 2212 y(T)m(o)f(subscrib)q(e)i(to)e(the)g(mailing)j -(list,)e(simply)h(send)f(a)g(message)f(with)h(the)f(w)o(ord)h -Ft(subscribe)8 b Fs(in)13 b(the)g Ft(Subject:)g Fs(\014eld)h(of)75 -2258 y(y)o(ou)g(mail.)k(Mail)c(m)o(ust)f(b)q(e)h(sen)o(t)f(to)g(the)g -(follo)o(wing)i(address:)j Ft(stk-reques)o(t@)o(kao)o(lin)o(.u)o(nic)o -(e.)o(fr)75 2306 y Fs(T)m(o)c(unsubscrib)q(e)i(from)e(the)h(mailing)h -(list,)g(send)e(a)h(mail)g(at)f(previous)i(email)g(address)f(with)f -(the)h(w)o(ord)f Ft(unsubscri)o(be)75 2352 y Fs(in)g(the)f -Ft(Subject:)h Fs(\014eld.)75 2400 y(F)m(or)d(more)g(information)j(on)d -(the)g(mailing)j(list)f(managemen)o(t)f(send)g(a)f(message)h(with)f -(the)h(w)o(ord)f Ft(help)e Fs(in)j(the)g Ft(Subject:)75 -2446 y Fs(\014eld)k(of)f(y)o(our)g(mail.)24 b(In)15 b(particular,)i(it) -e(is)g(p)q(ossible)j(to)d(\014nd)g(all)h(the)f(messages)h(whic)o(h)g -(ha)o(v)o(e)f(already)h(b)q(een)g(sen)o(t)f(on)75 2492 -y(the)e Fj(STk)g Fs(mailing)i(list.)75 2540 y(Subscription/)q(un-sub)q -(scri)q(pti)q(on/i)q(nforma)q(tion)i(requests)d(are)f(pro)q(cessed)i -(automatically)i(without)d(h)o(uman)g(in)o(terv)o(en-)75 -2586 y(tion.)k(If)12 b(y)o(ou)i(something)g(go)q(es)g(wrong,)f(send)h -(a)f(mail)h(to)f Ft(eg@unice.)o(fr)p Fs(.)75 2634 y(Once)g(y)o(ou)h(ha) -o(v)o(e)f(prop)q(erly)i(subscrib)q(e)g(to)e(the)g(mailing)j(list,)139 -2705 y Fn(\017)21 b Fs(y)o(ou)13 b(can)h(send)f(y)o(our)h(messages)g -(ab)q(out)g Fj(STk)e Fs(to)h Ft(stk@kaolin)o(.un)o(ic)o(e.f)o(r)p -Fs(,)139 2773 y Fn(\017)21 b Fs(y)o(ou)10 b(will)g(receiv)o(e)h(all)f -(the)g(messages)g(of)f(the)g(mailing)j(list)e(to)g(the)f(email)i -(address)f(y)o(ou)g(used)g(when)f(y)o(ou)h(subscrib)q(ed)179 -2819 y(to)j(the)g(list.)935 2924 y FD(81)p eop +81 80 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(81)p 37 64 1838 2 v 125 190 a Fv(\(define)20 b(make-rectangular)190 +240 y(\(lambda)g(\(x)i(y\))f(\(make)g()f(:r)h(x)h(:i)f +(y\)\)\))125 340 y(\(define)f(make-polar)190 390 y(\(lambda)g(\(x)i +(y\))f(\(make)g()f(:magn)h(x)g(:angle)g(y\)\)\))37 +611 y FI(3.4)56 b(Class)19 b(precedence)e(list)37 697 +y FF(A)g(class)g(ma)o(y)f(ha)o(v)o(e)g(more)g(than)h(one)g(sup)q +(erclass.)921 680 y FA(2)966 697 y FF(With)f(single)i(inheritance)h +(\(one)d(sup)q(erclass\),)i(it)e(is)37 753 y(easy)g(to)e(order)h(the)g +(sup)q(er)h(classes)g(from)e(most)h(to)f(least)i(sp)q(eci\014c.)21 +b(This)16 b(is)g(the)f(rule:)251 859 y FE(Rule)j(1:)23 +b(Eac)o(h)18 b(class)g(is)g(more)e(sp)q(eci\014c)j(than)f(its)g(sup)q +(erclasses.)37 958 y FF(With)e(m)o(ultiple)h(inheritance,)g(ordering)e +(is)h(harder.)k(Supp)q(ose)c(w)o(e)f(ha)o(v)o(e)125 1044 +y Fv(\(define-class)k(X)i(\(\))190 1094 y(\(\(x)g(:initform)f(1\)\)\)) +125 1194 y(\(define-class)f(Y)i(\(\))190 1243 y(\(\(x)g(:initform)f +(2\)\)\))125 1343 y(\(define-class)f(Z)i(\(X)h(Y\))190 +1393 y(\(...\)\))37 1536 y FF(In)16 b(this)f(case,)f(the)h +Fw(Z)g FF(class)g(is)g(more)f(sp)q(eci\014c)j(than)d(the)h +Fw(X)g FF(or)f Fw(Y)g FF(class)h(for)g(instances)g(of)f +Fw(Z)p FF(.)g(Ho)o(w)o(ev)o(er,)g(the)37 1592 y Fw(:initform)h +FF(sp)q(eci\014ed)i(in)g Fw(X)e FF(and)h Fw(Y)f FF(leads)h(to)f(a)g +(problem:)21 b(whic)o(h)c(one)e(o)o(v)o(errides)h(the)f(other?)21 +b(The)16 b(rule)37 1649 y(in)j FB(STklos)p FF(,)f(as)f(in)i(CLOS,)f(is) +g(that)f(the)h(sup)q(erclasses)h(listed)g(earlier)g(are)e(more)h(sp)q +(eci\014c)i(than)d(those)37 1705 y(listed)g(later.)j(So:)251 +1798 y FE(Rule)f(2:)26 b(F)l(or)18 b(a)h(giv)o(en)f(class,)h(sup)q +(erclasses)f(listed)i(earlier)f(are)f(more)251 1855 y(sp)q(eci\014c)h +(than)f(those)f(listed)i(later.)37 1948 y FF(These)d(rules)g(are)e +(used)i(to)e(compute)h(a)g(linear)h(order)f(for)f(a)h(class)g(and)h +(all)f(its)h(sup)q(erclasses,)g(from)e(most)37 2005 y(sp)q(eci\014c)20 +b(to)c(least)h(sp)q(eci\014c.)28 b(This)18 b(order)f(is)g(called)i(the) +e(\\class)h(precedence)h(list")e(of)g(the)g(class.)27 +b(Giv)o(en)37 2061 y(those)13 b(t)o(w)o(o)f(rules,)i(w)o(e)f(can)g +(claim)h(that)f(the)g(initial)i(form)d(for)h(the)g Fw(x)g +FF(slot)g(of)g(previous)g(example)h(is)g(2)f(since)37 +2117 y(the)j(class)f Fw(X)g FF(is)h(placed)g(b)q(efore)g +Fw(Y)f FF(in)h(class)g(precedence)h(list)f(of)e Fw(Z)p +FF(.)37 2174 y(This)19 b(t)o(w)o(o)e(rules)i(are)e(not)h(alw)o(a)o(ys)f +(enough)i(to)e(determine)i(a)f(unique)i(order,)e(ho)o(w)o(ev)o(er,)f +(but)i(they)f(giv)o(e)37 2230 y(an)f(idea)g(of)f(ho)o(w)f(things)i(w)o +(ork.)22 b FB(STklos)16 b FF(algorithm)g(for)g(calculating)h(the)g +(precedence)h(list)f(is)g(a)f(little)37 2287 y(simpler)i(than)e(the)h +(CLOS)g(one)f(describ)q(ed)j(in)e([15)o(])f(for)g(breaking)g(ties.)24 +b(Consequen)o(tly)17 b(the)g(calculated)37 2343 y(class)h(precedence)i +(list)e(could)h(b)q(e)f(di\013eren)o(t.)27 b(T)l(aking)18 +b(the)g Fw(F)f FF(class)h(sho)o(wn)f(in)i(Figure)e(1,)h(the)g +FB(STklos)37 2400 y FF(calculated)f(class)f(precedence)h(list)f(is)151 +2505 y Fw(\(f)24 b(d)f(e)h(a)g(b)g(c)f()g(\))37 +2611 y FF(whereas)16 b(it)f(w)o(ould)h(b)q(e)f(the)h(follo)o(wing)g +(list)g(with)f(a)g(CLOS-lik)o(e)i(algorithm:)151 2704 +y Fw(\(f)24 b(d)f(e)h(a)g(c)g(b)f()g(\))p +37 2745 735 2 v 89 2771 a Ft(2)107 2787 y Fs(This)13 +b(section)i(is)e(an)g(adaptation)j(of)c(Je\013)h(Dalton's)i +(\(J.Dalton@ed.ac.uk\))f(Brief)f(in)o(tro)q(duction)j(to)d(CLOS\))p +eop %%Page: 82 82 -82 81 bop 75 47 a FC(82)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a FG(2.4)56 b Fd(STk)19 b FG(F)-6 -b(A)n(Q)75 251 y Fs(Marc)15 b(F)m(urrer)h(has)f(set)g(up)h(a)f(F)l(A)o -(Q)f(for)h Fj(STk)p Fs(.)23 b(This)16 b(F)l(A)o(Q)e(is)i(regularly)h(p) -q(osted)f(on)g(the)f Fj(STk)g Fs(mailing)j(list.)24 b(It)15 -b(can)75 296 y(also)g(b)q(e)f(accessed)g(through)h Ft(http://lt)o(iww)o -(w.e)o(pf)o(l.c)o(h/)h(furrer/STk)o(/F)o(AQ.)o(htm)o(l)p -Fs(.)f(ASCI)q(I)f(v)o(ersion)h(of)e(the)h(F)l(A)o(Q)f(is)75 -342 y(a)o(v)n(ailable)j(from)d Ft(http://lt)o(iw)o(ww.)o(ep)o(fl.)o -(ch/)j(furrer/ST)o(k/)o(FAQ)o(.tx)o(t)p Fs(.)75 458 y -FG(2.5)56 b(Rep)r(orting)17 b(a)i(bug)75 530 y Fs(When)10 -b(y)o(ou)f(\014nd)h(a)e(bug)i(in)f Fj(STk)p Fs(,)g(please)h(send)g(its) -f(description)i(to)e(the)g(follo)o(wing)i(address)e Ft(stk-bugs@ka)o -(ol)o(in.)o(un)o(ice)o(.fr)o Fs(.)75 576 y(Don't)k(forget)g(to)f -(indicate)j(the)e(v)o(ersion)h(y)o(ou)f(use)g(and)g(the)g(arc)o -(hitecture)h(the)f(system)g(is)g(compiled)i(on.)i Fj(STk)c -Fs(v)o(ersion)75 622 y(and)f(arc)o(hitecture)h(can)e(b)q(e)h(found)g(b) -o(y)g(using)h(the)e Ft(version)e Fs(and)i Ft(machine-typ)o(e)d -Fs(Sc)o(heme)k(primitiv)o(es.)19 b(If)11 b(p)q(ossible,)i(try)75 -667 y(to)g(\014nd)h(a)f(small)h(program)g(whic)o(h)g(exhibit)h(the)e -(bug.)75 804 y Fw(3)67 b Fv(STk)22 b Fw(and)h(Emacs)75 -889 y Fs(The)15 b(Emacs)g(family)h(editors)g(can)f(b)q(e)g(customized)i -(to)d(ease)i(viewing)g(and)g(editing)g(programs)g(of)f(a)g(particular)i -(sort.)75 935 y(Hin)o(ts)d(giv)o(en)g(b)q(elo)o(w)g(enable)g(a)f -(\014ne)h(\\in)o(tegration")h(of)e Fj(STk)g Fs(in)h(Emacs.)75 -1051 y FG(Automatic)j(sc)n(heme-mo)r(de)e(setting)75 -1123 y Fs(Emacs)g(mo)q(de)h(can)f(b)q(e)g(c)o(hosen)h(automatically)i -(on)e(the)f(\014le's)h(name.)23 b(T)m(o)14 b(edit)i(\014le)g(ended)g(b) -o(y)f Ft(.stk)j Fs(or)d Ft(.stklos)e Fs(in)75 1169 y(Sc)o(heme)f(mo)q -(de,)h(y)o(ou)f(ha)o(v)o(e)g(to)g(set)g(the)f(Elisp)j(v)n(ariable)g -Ft(auto-mode)o(-al)o(is)o(t)9 b Fs(to)i(con)o(trol)i(the)f(corresp)q -(ondence)i(b)q(et)o(w)o(een)75 1214 y(those)i(su\016xes)g(and)g(the)f -(sc)o(heme)g(mo)q(de.)24 b(The)16 b(simpler)h(w)o(a)o(y)e(to)g(set)g -(this)h(v)n(ariable)h(consists)g(to)e(add)h(the)f(follo)o(wing)75 -1260 y(lines)g(in)e(y)o(our)h(.)p Ft(emacs)d Fs(startup)i(\014le.)179 -1335 y Ft(;;)19 b(Add)f(the)h('.stk')e(and)h('.stklos')e(suffix)i(in)h -(the)f(auto-mode-)o(al)o(ist)e(Emacs)179 1381 y(;;)j(variable.)d -(Setting)h(this)h(variable)e(permits)h(to)i(automagica)o(ll)o(y)e -(place)g(the)179 1427 y(;;)i(buffer)e(in)i(scheme-mo)o(de.)179 -1472 y(\(setq-def)o(aul)o(t)d(auto-mode-a)o(li)o(st)g(\(append)h -(auto-mode-)o(al)o(ist)924 1518 y(\("\\\\.stk$")75 b(.)19 -b(scheme-mo)o(de\))924 1564 y(\("\\\\.stklo)o(s$)o(")e(.)i(scheme-mo)o -(de\))o(\)\))75 1680 y FG(Using)g(Emacs)e(and)i Fc(CMU)i(Scheme)75 -1752 y Fl(CMU)12 b(Scheme)c Fs(pac)o(k)n(age)k(pac)o(k)n(age)f(p)q -(ermits)h(to)e(run)h(the)g Fj(STk)f Fs(in)o(terpreter)i(in)f(an)g -(Emacs)f(windo)o(w.)17 b(Once)11 b(the)f(pac)o(k)n(age)75 -1798 y(is)k(loaded,)g(y)o(ou)f(can)g(send)h(text)f(to)g(the)g(inferior) -h Fj(STk)f Fs(in)o(terpreter)h(from)f(other)g(bu\013ers)h(con)o -(taining)h(Sc)o(heme)f(source.)75 1843 y(The)d Fl(CMU)g(Scheme)e -Fs(pac)o(k)n(age)j(is)f(distributed)i(with)e(Emacs)g(\(b)q(oth)h -(FSF-Emacs)f(and)g(Xemacs\))g(and)g(y)o(ou)g(should)i(ha)o(v)o(e)75 -1889 y(it)g(if)h(y)o(ou)f(are)g(running)i(this)f(editor.)75 -1936 y(T)m(o)f(use)g(the)g Fl(CMU)h(Scheme)d Fs(pac)o(k)n(age)j(with)g -Fj(STk)p Fs(,)e(place)i(the)f(follo)o(wing)j(lines)e(in)g(y)o(our)g -Ft(.emacs)c Fs(startup)k(\014le.)179 2011 y Ft(;;)19 -b(Use)f(cmu-scheme)e(rather)h(than)h(xscheme)f(which)h(is)h(launched)d -(by)j(default)179 2057 y(;;)g(whence)e(running)g('run-sche)o(me')f -(\(xscheme)g(is)j(wired)f(with)g(CScheme\))179 2103 y(\(autoload)e -('run-sche)o(me)g("cmuscheme)o(")h("Run)h(an)h(inferior)d(Scheme")h -(t\))179 2148 y(\(setq)g(scheme-prog)o(ra)o(m-n)o(ame)f("stk"\))179 -2194 y(\(setq)h(inferior-sc)o(he)o(me-)o(mod)o(e-)o(hoo)o(k)f -('\(lambda\(\))g(\(split-win)o(dow)o(\)\))o(\))75 2269 -y Fs(After)c(ha)o(ving)j(en)o(tered)f(those)f(lines)i(in)f(y)o(our)f -Ft(.emacs)e Fs(\014le,)i(y)o(ou)h(can)f(simply)i(run)e(the)h -Fj(STk)e Fs(in)o(terpreter)j(b)o(y)e(t)o(yping)179 2335 -y Ft(M-x)18 b(run-scheme)75 2401 y Fs(Read)12 b(the)f -Fl(CMU)i(Scheme)d Fs(do)q(cumen)o(tation)j(\(or)e(use)h(the)g(describ)q -(e-mo)q(de)h(Elisp)g(command\))f(for)f(a)h(complete)g(descrip-)75 -2447 y(tion)i(of)f(this)h(pac)o(k)n(age.)75 2563 y FG(Using)19 -b(Emacs)e(and)i(the)f Fc(Ilisp)i FG(pac)n(k)m(age)75 -2635 y Fl(Ilisp)12 b Fs(is)j(another)f(sc)o(heme)h(pac)o(k)n(age)f -(whic)o(h)h(allo)o(ws)g(to)f(run)g(the)g Fj(STk)g Fs(in)o(terpreter)h -(in)f(an)g(Emacs)g(windo)o(w.)20 b(This)15 b(is)f(a)75 -2681 y(ric)o(h)f(pac)o(k)n(age)h(with)f(a)f(lot)i(of)e(nice)h -(features.)k Fl(Ilisp)11 b Fs(comes)i(pre-installed)j(with)d(Xemacs;)f -(it)h(has)g(to)g(b)q(e)f(installed)k(with)75 2726 y(FSF)d(Emacs)h -(\(the)f(last)h(v)o(ersion)h(of)e Fl(Ilisp)e Fs(can)j(b)q(e)f(ftp'ed)g -(anon)o(ymously)j(from)d Ft(ftp.cs.cmu)o(.e)o(du)d Fs -(\(128.2.206.173\))k(in)75 2772 y(the)f Ft(/user/ai/l)o(ang)o(/l)o(isp) -o(/u)o(til)o(/e)o(mac)o(s/i)o(li)o(sp)c Fs(directory\).)75 -2819 y(T)m(o)k(use)g(the)g Fl(Ilisp)e Fs(pac)o(k)n(age)j(with)g -Fj(STk)p Fs(,)e(place)i(the)g(follo)o(wing)h(lines)f(in)g(y)o(our)g -Ft(.emacs)c Fs(startup)k(\014le.)p eop +82 81 bop 37 45 a FE(82)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FF(Ho)o(w)o(ev)o(er,)i(it)h(is)g(usually)h +(considered)f(a)f(bad)h(idea)g(for)f(programmers)f(to)g(rely)i(on)f +(exactly)h(what)f(the)37 247 y(order)e(is.)25 b(If)17 +b(the)g(order)f(for)g(some)g(sup)q(erclasses)i(is)g(imp)q(ortan)o(t,)e +(it)h(can)g(b)q(e)g(expressed)g(directly)h(in)g(the)37 +303 y(class)e(de\014nition.)37 353 y(The)d(precedence)i(list)e(of)f(a)g +(class)h(can)g(b)q(e)g(obtained)h(b)o(y)e(the)h(function)g +Fw(class-precedence-list)p FF(.)j(This)37 403 y(function)g(returns)f(a) +f(ordered)h(list)h(whose)f(\014rst)f(elemen)o(t)i(is)f(the)g(most)f(sp) +q(eci\014c)j(class.)j(F)l(or)14 b(instance,)125 487 y +Fv(\(class-precedenc)o(e-lis)o(t)19 b(B\))343 537 y Fu(=)-7 +b Fp(\))21 b Fv(\(#[)f(12a248])g(#[)g(1074e8])h +(#[)f(107498]\))37 672 y FF(Ho)o(w)o(ev)o(er,)15 +b(this)h(result)g(is)g(not)f(to)q(o)f(m)o(uc)o(h)i(readable;)g(using)g +(the)g(function)g(class-name)g(yields)h(a)e(clearer)37 +721 y(result:)125 806 y Fv(\(map)21 b(class-name)e +(\(class-precedence-l)o(ist)g(B\)\))343 856 y Fu(=)-7 +b Fp(\))21 b Fv(\(b)h()e(\))37 1048 y Fy(4)67 +b(Generic)23 b(functions)37 1151 y FI(4.1)56 b(Generic)18 +b(functions)g(and)h(metho)r(ds)37 1237 y FF(Neither)14 +b FB(STklos)e FF(nor)g(CLOS)i(use)f(the)g(message)f(mec)o(hanism)h(for) +f(metho)q(ds)h(as)f(most)g(Ob)s(ject)h(Orien)o(ted)37 +1294 y(language)i(do.)k(Instead,)14 b(they)g(use)g(the)g(notion)g(of)g +(generic)g(function.)21 b(A)13 b(generic)i(function)g(can)f(b)q(e)g +(seen)37 1350 y(as)j(a)g(metho)q(ds)h(\\tank)o(er".)24 +b(When)18 b(the)f(ev)m(aluator)h(requestd)f(the)h(application)h(of)d(a) +h(generic)h(function,)37 1407 y(all)h(the)e(metho)q(ds)h(of)f(this)h +(generic)g(function)g(will)h(b)q(e)f(grabb)q(ed)g(and)g(the)f(most)g +(sp)q(eci\014c)i(among)e(them)37 1463 y(will)f(b)q(e)f(applied.)21 +b(W)l(e)14 b(sa)o(y)g(that)f(a)h(metho)q(d)g FD(M)g FF(is)h +FD(mor)n(e)g(sp)n(e)n(ci\014c)d FF(than)i(a)g(metho)q(d)g +FD(M')g FF(if)h(the)f(class)g(of)g(its)37 1519 y(parameters)i(are)h +(more)f(sp)q(eci\014c)i(than)f(the)f FD(M')h FF(ones.)24 +b(T)l(o)16 b(b)q(e)i(more)e(precise,)i(when)f(a)f(generic)i(fun)o(tion) +37 1576 y(m)o(ust)d(b)q(e)h(\\called")g(the)g(system)e(will)93 +1679 y(1.)22 b(searc)o(h)15 b(among)g(all)h(the)f(generic)h(function)g +(those)f(whic)o(h)h(are)f(applicable)93 1772 y(2.)22 +b(sort)14 b(the)i(list)g(of)e(applicable)k(metho)q(ds)d(in)h(the)g +(\\most)e(sp)q(eci\014c")j(order)93 1864 y(3.)22 b(call)d(the)f(most)f +(sp)q(eci\014c)i(metho)q(d)f(of)f(this)i(list)f(\(i.e.)28 +b(the)17 b(\014rst)h(metho)q(d)g(of)f(the)h(sorted)f(metho)q(ds)151 +1921 y(list\).)37 2024 y(The)f(de\014nition)g(of)f(a)f(generic)i +(function)f(is)h(done)f(with)g(the)g Fw(define-generic)e +FF(macro.)19 b(De\014nition)d(of)e(a)37 2080 y(new)e(metho)q(d)f(is)h +(done)f(with)h(the)f Fw(define-method)e FF(macro.)18 +b(Note)11 b(that)f Fw(define-method)g FF(automatically)37 +2137 y(de\014nes)15 b(the)f(generic)g(function)h(if)f(it)g(has)f(not)h +(b)q(een)g(de\014ned)h(b)q(efore.)20 b(Consequen)o(tly)l(,)14 +b(most)f(of)g(the)h(time,)37 2193 y(the)i Fw(define-generic)d +FF(needs)j(not)f(b)q(e)h(used.)37 2243 y(Consider)g(the)g(follo)o(wing) +f(de\014nitions:)125 2328 y Fv(\(define-generic)j(M\))125 +2377 y(\(define-method)h(M\(\(a)i(\))e(b\))j('integer\))125 +2427 y(\(define-method)d(M\(\(a)i(\))f(b\))h('real\))125 +2477 y(\(define-method)e(M\(a)i(b\))g('top\))37 2618 +y FF(The)g Fw(define-generic)d FF(call)k(de\014nes)f +Fw(M)f FF(as)g(a)g(generic)h(function.)36 b(Note)20 b(that)f(the)i +(signature)f(of)g(the)37 2674 y(generic)e(function)f(is)f(not)g(giv)o +(en)h(up)q(on)f(de\014nition,)i(con)o(trarily)e(to)g(CLOS.)h(This)f +(will)i(p)q(ermit)f(metho)q(ds)37 2731 y(with)i(di\013eren)o(t)f +(signatures)g(for)f(a)g(giv)o(en)i(generic)f(function,)h(as)f(w)o(e)f +(shall)i(see)f(later.)28 b(The)18 b(three)g(next)37 2787 +y(lines)h(de\014ne)g(metho)q(ds)e(for)f(the)i Fw(M)f +FF(generic)h(function.)27 b(Eac)o(h)17 b(metho)q(d)g(uses)h(a)e +(sequence)j(of)e FD(p)n(ar)n(ameter)p eop %%Page: 83 83 -83 82 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(83)p 75 64 1763 2 v 179 179 a Ft(\(autoload)16 b('run-ilis)o(p)272 -b("ilisp")17 b("Select)f(a)k(new)e(inferior)f(LISP.")g(t\))179 -224 y(\(autoload)f('stk)391 b("ilisp")17 b("Run)h(stk)g(in)h(ILISP.")e -(t\))179 270 y(\(add-hook)f('ilisp-lo)o(ad-)o(hoo)o(k)375 -316 y('\(lambda)g(\(\))434 361 y(\(require)g('completer)o(\))434 -453 y(;;)j(Define)e(STk)h(dialect)f(characteri)o(sti)o(cs)434 -498 y(\(defdiale)o(ct)f(stk)j("STk)f(Scheme")473 544 -y(scheme)473 590 y(\(setq)g(comint-pr)o(om)o(pt-)o(re)o(gex)o(p)f -("^STk>)g("\))473 635 y(\(setq)h(ilisp-pro)o(gr)o(am)e("stk)i -(-interacti)o(ve")o(\))473 681 y(\(setq)g(comint-pt)o(yp)e(t\))473 -727 y(\(setq)i(comint-al)o(wa)o(ys-)o(sc)o(rol)o(l)f(t\))473 -772 y(\(setq)h(ilisp-las)o(t-)o(com)o(ma)o(nd)e("*"\)\)\)\))75 -843 y Fs(After)c(ha)o(ving)j(en)o(tered)f(those)f(lines)i(in)f(y)o(our) -f Ft(.emacs)e Fs(\014le,)i(y)o(ou)h(can)f(simply)i(run)e(the)h -Fj(STk)e Fs(in)o(terpreter)j(b)o(y)e(t)o(yping)179 905 -y Ft(M-x)18 b(stk)75 967 y Fs(The)13 b(Ilisp)h(pac)o(k)n(age)g(comes)g -(with)f(a)g(ric)o(h)h(do)q(cumen)o(tation)h(whic)o(h)f(describ)q(e)h -(ho)o(w)e(to)g(customize)h(the)f(pac)o(k)n(age.)75 1077 -y FG(Other)18 b(pac)n(k)m(ages)75 1147 y Fs(Another)13 -b(w)o(a)o(y)g(to)g(use)h Fj(STk)e Fs(and)i(Emacs)f(consists)i(to)d(use) -i(a)f(sp)q(ecial)i(purp)q(ose)f Fj(STk)f Fs(mo)q(de.)k(Y)m(ou)c(can)g -(\014nd)h(t)o(w)o(o)f(suc)o(h)75 1193 y(mo)q(des)h(in)f(the)h -Ft(/pub/Con)o(tri)o(b)c Fs(directory)k(of)f Ft(kaolin.un)o(ice)o(.f)o -(r)p Fs(.)75 1303 y FG(3.1)56 b(Using)18 b(the)g(SLIB)h(pac)n(k)m(age)f -(with)h Fd(STk)75 1373 y Fs(Aubrey)c(Ja\013er)g(main)o(tains)h(a)f(pac) -o(k)n(age)g(called)h Fl(SLIB)e Fs(whic)o(h)h(is)g(a)g(p)q(ortable)h(Sc) -o(heme)f(library)h(whic)o(h)f(pro)o(vides)h(com-)75 1419 -y(patibilit)o(y)i(and)d(utilit)o(y)i(functions)f(for)f(all)h(standard)g -(Sc)o(heme)f(implemen)o(tations.)25 b(T)m(o)14 b(use)h(this)h(pac)o(k)n -(age,)g(y)o(ou)f(ha)o(v)o(e)75 1464 y(just)e(to)g(t)o(yp)q(e)179 -1526 y Ft(\(require)j("slib"\))75 1588 y Fs(and)i(follo)o(w)g(the)g -(instructions)i(giv)o(en)e(in)g(the)g Fl(SLIB)e Fs(library)k(to)d(use)h -(a)f(particular)j(pac)o(k)n(age.)31 b Fl(Note:)49 b(SLIB)17 -b Fs(uses)75 1634 y(also)f(the)e Fl(r)n(e)n(quir)n(e/pr)n(ovide)d -Fs(mec)o(hanism)16 b(to)e(load)i(comp)q(onen)o(ts)g(of)e(the)h(library) -m(.)23 b(Once)15 b Fl(SLIB)f Fs(has)h(b)q(een)g(loaded,)h(the)75 -1680 y(standard)g Fj(STk)e Ft(require)e Fs(and)j Ft(provide)d -Fs(are)i(o)o(v)o(erloaded)j(suc)o(h)e(as)g(if)g(their)g(parameter)g(is) -h(a)e(string)i(this)f(is)h(the)e(old)75 1725 y Fj(STk)f -Fs(pro)q(cedure)h(whic)o(h)g(is)g(called,)g(and)g(if)f(their)h -(parameter)f(is)h(a)f(sym)o(b)q(ol,)h(this)g(is)g(the)f -Fl(SLIB)f Fs(one)h(whic)o(h)h(is)g(called.)75 1856 y -Fw(4)67 b(Getting)23 b(information)g(ab)r(out)g(Sc)n(heme)75 -1951 y FG(4.1)56 b(The)18 b Fc(R)360 1933 y Fq(4)371 -1951 y Fb(RS)k FG(do)r(cumen)n(t)75 2021 y Fl(R)103 2005 -y Fr(4)114 2021 y Fk(RS)c Fs(is)d(the)g(do)q(cumen)o(t)h(whic)o(h)g -(fully)g(describ)q(e)h(the)e(Sc)o(heme)h(Programming)g(Language,)h(it)e -(can)g(b)q(e)h(found)f(in)h(the)75 2067 y(Sc)o(heme)e(rep)q(ository)g -(\(see)f Ff(??)p Fs(\))g(in)h(the)f(directory:)179 2129 -y Ft(ftp.cs.in)o(dia)o(na)o(.ed)o(u:)o(/pu)o(b/s)o(ch)o(eme)o(-r)o(epo) -o(si)o(tor)o(y/d)o(oc)75 2191 y Fs(Aubrey)h(Ja\013er)f(has)g(also)h -(translated)h(this)f(do)q(cumen)o(t)g(in)g(HTML.)e(A)g(v)o(ersion)j(of) -e(this)h(do)q(cumen)o(t)g(is)f(a)o(v)n(ailable)j(at)179 -2253 y Ft(file://sw)o(iss)o(-f)o(tp.)o(ai)o(.mi)o(t.e)o(du)o(/pu)o(b/)o -(scm)o(/H)o(TML)o(/r4)o(rs)p 1066 2253 12 2 v 11 w(toc.html)75 -2364 y FG(4.2)56 b(The)18 b(Sc)n(heme)f(Rep)r(ository)75 -2433 y Fs(The)h(main)h(site)g(where)f(y)o(ou)h(can)f(\014nd)h(\(man)o -(y\))g(informations)h(ab)q(out)f(Sc)o(heme)g(is)g(lo)q(cated)g(in)g -(the)g(Univ)o(ersit)o(y)h(of)75 2479 y(Indiana.)27 b(The)16 -b(Sc)o(heme)g(rep)q(ository)i(is)e(main)o(tained)j(b)o(y)d(Da)o(vid)h -(Eb)o(y)m(.)26 b(The)16 b(rep)q(ository)h(curren)o(tly)g(consists)h(of) -d(the)75 2525 y(follo)o(wing)g(areas:)139 2587 y Fn(\017)21 -b Fs(Lots)13 b(of)g(sc)o(heme)g(co)q(de)h(mean)o(t)f(for)g(b)q(enc)o -(hmarking,)i(library/supp)q(o)q(rt,)g(researc)o(h,)e(education,)i(and)f -(fun.)139 2649 y Fn(\017)21 b Fs(On-line)15 b(do)q(cumen)o(ts:)k(Mac)o -(hine)c(readable)g(standards)g(do)q(cumen)o(ts,)f(standards)h(prop)q -(osals,)g(v)n(arious)g(Sc)o(heme-)179 2695 y(related)f(tec)o(h)f(rep)q -(orts,)g(conference)h(pap)q(ers,)g(mail)g(arc)o(hiv)o(es,)g(etc.)139 -2757 y Fn(\017)21 b Fs(Most)13 b(of)g(the)g(publicly)j(distributabl)q -(e)f(Sc)o(heme)f(Implemen)o(tations.)139 2819 y Fn(\017)21 -b Fs(Material)15 b(designed)f(primarily)i(for)d(instruction.)p +83 82 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(83)p 37 64 1838 2 v 37 190 a FD(sp)n(e)n(cializers)10 +b FF(that)g(sp)q(ecify)i(when)g(the)f(giv)o(en)h(metho)q(d)f(is)h +(applicable.)20 b(A)12 b(sp)q(ecializer)h(p)q(ermits)f(to)e(indicate)37 +247 y(the)j(class)g(a)f(parameter)g(m)o(ust)g(b)q(elong)i(to)d +(\(directly)j(or)e(indirectly\))i(to)e(b)q(e)i(applicable.)21 +b(If)13 b(no)f(sp)q(eciliazer)37 303 y(is)k(giv)o(en,)g(the)f(system)g +(defaults)g(it)h(to)e Fw()p FF(.)19 b(Th)o(us,)c(the)g(\014rst)g +(metho)q(d)h(de\014nition)h(is)e(equiv)m(alen)o(t)i(to)125 +398 y Fv(\(define-method)i(M\(\(a)i(\))e(\(b)j(\)\))e +('integer\))37 543 y FF(No)o(w,)15 b(let)g(us)h(lo)q(ok)f(at)g(some)g +(p)q(ossible)i(calls)f(to)e(generic)j(function)f Fw(M)p +FF(:)125 626 y Fv(\(M)21 b(2)h(3\))343 676 y Fu(=)-7 +b Fp(\))21 b Fv(integer)125 726 y(\(M)g(2)h(#t\))343 +776 y Fu(=)-7 b Fp(\))21 b Fv(integer)125 826 y(\(M)g(1.2)g('a\))343 +876 y Fu(=)-7 b Fp(\))21 b Fv(real)125 925 y(\(M)g(#3)g('a\))343 +975 y Fu(=)-7 b Fp(\))21 b Fv(real)125 1025 y(\(M)g(#t)g(#f\))343 +1075 y Fu(=)-7 b Fp(\))21 b Fv(top)125 1125 y(\(M)g(1)h(2)f(3\))343 +1174 y Fu(=)-7 b Fp(\))21 b Fv(error)g(\(since)g(no)g(method)g(exists)f +(for)h(3)h(parameters\))37 1308 y FF(The)13 b(preceding)h(metho)q(ds)e +(use)h(only)f(one)h(sp)q(ecializer)i(p)q(er)d(parameter)g(list.)19 +b(Of)13 b(course,)f(eac)o(h)h(parameter)37 1357 y(can)g(use)f(a)g(sp)q +(ecializer.)22 b(In)13 b(this)f(case,)h(the)f(parameter)g(list)h(is)g +(scanned)g(from)e(left)i(to)e(righ)o(t)h(to)g(determine)37 +1407 y(the)k(applicabilit)o(y)i(of)d(a)g(metho)q(d.)20 +b(Supp)q(ose)c(w)o(e)f(declare)h(no)o(w)125 1490 y Fv(\(define-method)j +(M)i(\(\(a)g(\))f(\(b)h(\)\))f('integer-number\))125 +1540 y(\(define-method)f(M)i(\(\(a)g(\))f(\(b)h(\)\))64 +b('integer-real\))125 1590 y(\(define-method)19 b(M)i(\(a)h(\(b)f +(\)\))f('top-number\))37 1723 y FF(In)c(this)g(case,)125 +1807 y Fv(\(M)21 b(1)h(2\))343 1856 y Fu(=)-7 b Fp(\))21 +b Fv(integer-integer)125 1906 y(\(M)g(1)h(1.0\))343 1956 +y Fu(=)-7 b Fp(\))21 b Fv(integer-real)125 2006 y(\(M)g(1)h(#t\))343 +2056 y Fu(=)-7 b Fp(\))21 b Fv(integer)125 2105 y(\(M)g('a)g(1\))343 +2155 y Fu(=)-7 b Fp(\))21 b Fv('top-number)37 2326 y +FI(4.2)56 b(Next-metho)q(d)37 2405 y FF(When)22 b(a)f(generic)h +(function)g(is)g(called,)i(the)e(list)g(of)f(applicable)i(metho)q(ds)f +(is)f(built.)40 b(As)21 b(men)o(tioned)37 2455 y(b)q(efore,)j(the)e +(most)g(sp)q(eci\014c)i(metho)q(d)e(of)f(this)i(list)g(is)f(applied)i +(\(see)e(4.1\).)40 b(This)22 b(metho)q(d)g(ma)o(y)g(call)37 +2505 y(the)d(next)g(metho)q(d)f(in)h(the)g(list)g(of)f(applicable)j +(metho)q(ds.)30 b(This)19 b(is)g(done)f(b)o(y)h(using)g(the)f(sp)q +(ecial)j(form)37 2555 y Fw(next-method)p FF(.)e(Consider)d(the)f(follo) +o(wing)h(de\014nitions)125 2638 y Fv(\(define-method)j(Test\(\(a)h +(\)\))41 b(\(cons)21 b('integer)f(\(next-method\)\)\))125 +2688 y(\(define-method)f(Test\(\(a)h(\)\))63 +b(\(cons)21 b('number)42 b(\(next-method\)\)\))125 2738 +y(\(define-method)19 b(Test\(a\))107 b(\(list)21 b('top\)\))p eop %%Page: 84 84 -84 83 bop 75 47 a FC(84)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 139 179 a Fn(\017)21 b Fs(F)m(reely-distributabl)q(e)16 -b(promotional)g(or)d(demonstration)i(material)f(for)f(Sc)o -(heme-related)i(pro)q(ducts.)139 241 y Fn(\017)21 b Fs(Utilities)15 -b(\(e.g.,)d(Sc)o(hemew)o(eb,)h(SLaT)m(eX\).)139 303 y -Fn(\017)21 b Fs(Extraneous)14 b(stu\013,)f(extensions,)i(etc.)75 -366 y(Y)m(ou)e(can)g(access)h(the)f(Sc)o(heme)h(rep)q(ository)g(with) -139 428 y Fn(\017)21 b Ft(ftp.cs.in)o(dia)o(na)o(.ed)o(u:)o(/pu)o(b/s)o -(ch)o(eme)o(-r)o(epo)o(si)o(tor)o(y)139 490 y Fn(\017)g -Ft(http://ww)o(w.c)o(s.)o(ind)o(ia)o(na.)o(edu)o(/s)o(che)o(me)o(-re)o -(po)o(sit)o(ory)o(/S)o(Rho)o(me)o(.ht)o(ml)75 552 y Fs(The)13 -b(Sc)o(heme)h(Rep)q(ository)h(is)e(mirrored)h(in)g(Europ)q(e:)139 -615 y Fn(\017)21 b Ft(ftp.inria)o(.fr)o(:/)o(lan)o(g/)o(Sch)o(eme)139 -677 y Fn(\017)g Ft(faui80.in)o(for)o(ma)o(tik)o(.u)o(ni-)o(erl)o(an)o -(gen)o(.d)o(e:/)o(pu)o(b/s)o(che)o(me)o(/yo)o(rk)o(u)139 -739 y Fn(\017)g Ft(ftp.infor)o(mat)o(ik)o(.un)o(i-)o(mue)o(nch)o(en)o -(.de)o(:/)o(pub)o(/c)o(omp)o(/pr)o(og)o(ram)o(mi)o(ng/)o(lan)o(gu)o -(age)o(s/)o(sch)o(eme)o(/s)o(che)o(me)o(-re)o(po)o(sit)o(ory)75 -850 y FG(4.3)56 b(Usenet)18 b(newsgroup)h(and)g(other)f(addresses)75 -919 y Fs(There)13 b(is)h(a)f(usenet)g(newsgroup)i(ab)q(out)e(the)h(Sc)o -(heme)f(Programming)i(language:)k Ft(comp.lang)o(.sc)o(he)o(me)p -Fs(.)75 965 y(F)m(ollo)o(wing)c(addresses)g(con)o(tains)f(also)g -(material)h(ab)q(out)f(the)f(Sc)o(heme)g(language)139 -1036 y Fn(\017)21 b Ft(http://ww)o(w.c)o(s.)o(cmu)o(.e)o(du:)o(800)o -(1/)o(Web)o(/G)o(rou)o(ps)o(/AI)o(/ht)o(ml)o(/fa)o(qs)o(/la)o(ng/)o(sc) -o(hem)o(e/)o(top)o(.ht)o(ml)5 b Fs(con)o(tains)10 b(the)f(Sc)o(heme)179 -1081 y(F)l(A)o(Q.)139 1144 y Fn(\017)21 b Ft(http://ww)o(w-s)o(wi)o -(ss.)o(ai)o(.mi)o(t.e)o(du)o(/sc)o(he)o(me-)o(ho)o(me.)o(htm)o(l)10 -b Fs(is)j(the)g(Sc)o(heme)h(Home)f(page)g(at)g(MIT)139 -1206 y Fn(\017)21 b Ft(http://ww)o(w.a)o(i.)o(mit)o(.e)o(du/)o(pro)o -(je)o(cts)o(/s)o(u/s)o(u.)o(htm)o(l)10 b Fs(is)j(the)g(Sc)o(heme)h -(Underground)h(w)o(eb)e(page)p eop +84 83 bop 37 45 a FE(84)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FF(With)f(those)f(de\014nitions,)125 +275 y Fv(\(Test)20 b(1\))343 325 y Fu(=)-7 b Fp(\))21 +b Fv(\(integer)f(number)h(top\))125 375 y(\(Test)f(1.0\))343 +424 y Fu(=)-7 b Fp(\))21 b Fv(\(number)g(top\))125 474 +y(\(Test)f(#t\))343 524 y Fu(=)-7 b Fp(\))21 b Fv(\(top\))37 +695 y FI(4.3)56 b(Example)37 774 y FF(In)24 b(this)f(section)g(w)o(e)g +(shall)g(con)o(tin)o(ue)h(to)e(de\014ne)h(op)q(erations)g(on)g(the)g +Fw()e FF(class)i(de\014ned)h(in)37 824 y(Figure)19 +b(2.)29 b(Supp)q(ose)19 b(that)f(w)o(e)f(w)o(an)o(t)h(to)f(use)i(it)f +(to)g(implemen)o(t)h(complex)h(n)o(um)o(b)q(ers)e(completely)l(.)31 +b(F)l(or)37 874 y(instance)17 b(a)d(de\014nition)j(for)e(the)g +(addition)i(of)d(t)o(w)o(o)g(complexes)i(could)h(b)q(e)125 +959 y Fv(\(define-method)i(new-+)h(\(\(a)h(\))f(\(b)i +(\)\))168 1008 y(\(make-rectangular)d(\(+)i(\(real-part)f(a\)) +h(\(real-part)f(b\)\))561 1058 y(\(+)h(\(imag-part)f(a\))h(\(imag-part) +f(b\)\)\)\))37 1193 y FF(T)l(o)15 b(b)q(e)h(sure)g(that)e(the)h +Fw(+)g FF(used)h(in)g(the)g(metho)q(d)f Fw(new-+)f FF(is)i(the)f +(standard)g(addition)h(w)o(e)f(can)h(do:)125 1277 y Fv +(\(define-generic)i(new-+\))125 1377 y(\(let)j(\(\(+)g(+\)\))168 +1427 y(\(define-method)e(new-+)i(\(\(a)g(\))f(\(b)h +(\)\))212 1476 y(\(make-rectangular)d(\(+)j(\(real-part)f(a\)) +i(\(real-part)d(b\)\))604 1526 y(\(+)i(\(imag-part)f(a\))i(\(imag-part) +d(b\)\)\)\)\))37 1667 y FF(The)12 b Fw(define-generic)e +FF(ensures)i(here)g(that)e Fw(new-+)h FF(will)i(b)q(e)f(de\014ned)h(in) +f(the)g(global)g(en)o(vironmen)o(t.)19 b(Once)37 1724 +y(this)d(is)f(done,)g(w)o(e)g(can)g(add)g(metho)q(ds)g(to)f(the)h +(generic)h(function)g Fw(new-+)e FF(whic)o(h)i(mak)o(e)e(a)g(closure)i +(on)f(the)37 1780 y Fw(+)h FF(sym)o(b)q(ol.)k(A)15 b(complete)h +(writing)g(of)e(the)i Fw(new-+)e FF(metho)q(ds)h(is)h(sho)o(wn)f(in)h +(Figure)g(3.)37 1884 y(W)l(e)23 b(use)g(here)g(the)f(fact)g(that)g +(generic)h(function)g(are)f(not)g(obliged)i(to)e(ha)o(v)o(e)g(the)h +(same)f(n)o(um)o(b)q(er)g(of)37 1941 y(parameters,)14 +b(con)o(trarily)g(to)g(CLOS.)h(The)f(four)g(\014rst)g(metho)q(ds)h +(implemen)o(t)g(the)g(dy)o(adic)g(addition.)21 b(The)37 +1997 y(\014fth)13 b(metho)q(d)f(sa)o(ys)f(that)h(the)g(addition)h(of)e +(a)h(single)i(elemen)o(t)e(is)h(this)f(elemen)o(t)h(itself.)20 +b(The)12 b(sixth)h(metho)q(d)37 2054 y(sa)o(ys)k(that)f(using)i(the)f +(addition)i(with)e(no)g(parameter)f(alw)o(a)o(ys)h(return)g(0.)25 +b(The)17 b(last)g(metho)q(d)h(tak)o(es)e(an)37 2110 y(arbitrary)g(n)o +(um)o(b)q(er)g(of)g(parameters)672 2094 y FA(3)691 2110 +y FF(.)22 b(This)16 b(metho)q(d)g(acts)g(as)f(a)h(kind)h(of)e +Fw(reduce)p FF(:)21 b(it)16 b(calls)h(the)f(dy)o(adic)37 +2167 y(addition)g(on)f(the)f FD(c)n(ar)h FF(of)f(the)h(list)g(and)g(on) +f(the)h(result)g(of)f(applying)i(it)f(on)f(its)h(rest.)k(T)l(o)14 +b(\014nish,)i(the)f Fw(set!)37 2223 y FF(p)q(ermits)h(to)f(rede\014ne)h +(the)f Fw(+)24 b(symbol)14 b FF(to)h(our)g(extended)h(addition.)37 +2321 y(T)l(o)h(terminate)g(our)f(implemen)o(tation)i(\(in)o +(tegration?\))25 b(of)16 b(complex)i(n)o(um)o(b)q(ers,)f(w)o(e)f(can)h +(rede\014ne)h(stan-)37 2370 y(dard)e(Sc)o(heme)g(predicates)g(in)g(the) +f(follo)o(wing)h(manner:)125 2455 y Fv(\(define-method)j(complex?)h +(\(c)h(\))f(#t\))125 2505 y(\(define-method)f(complex?)h +(\(c\))239 b(#f\))125 2604 y(\(define-method)19 b(number?)h(\(n)h +(\))f(#t\))125 2654 y(\(define-method)f(number?)h(\(n\))217 +b(#f\))p 37 2699 735 2 v 89 2726 a Ft(3)107 2742 y Fs(The)13 +b(third)h(parameter)f(of)g(a)g(de\014ne-metho)q(d)i(is)f(a)f(parameter) +g(list)i(whic)o(h)e(follo)o(w)h(the)g(con)o(v)o(en)o(tions)h(used)e +(for)g(lam)o(b)q(da)37 2787 y(expressions.)19 b(In)11 +b(particular)i(it)f(can)f(use)h(the)f(dot)g(notation)i(or)e(a)g(sym)o +(b)q(ol)i(to)e(denote)g(an)h(arbitrary)g(n)o(um)o(b)q(er)g(of)f +(parameters)p eop %%Page: 85 85 -85 84 bop 75 511 a FA(Bibliograph)m(y)94 733 y Fs([1])20 -b(Willi)q(am)12 b(Clinger)g(and)e(Jonathan)h(Rees)f(\(editors\).)j -Fk(Rev)q(ised)1056 717 y Fr(4)1083 733 y Fs(Rep)q(ort)e(on)f(the)g -(Algorithmic)i(Language)f(Sc)o(heme.)155 779 y Fl(A)o(CM)k(Lisp)d -(Pointers)p Fs(,)f(4\(3\),)i(1991.)94 841 y([2])20 b(John)c(K.)e -(Ousterhout.)22 b(An)15 b(X11)g(to)q(olkit)h(based)g(on)f(the)g(Tcl)g -(Language.)23 b(In)14 b Fl(USENIX)g(Winter)g(Confer)n(enc)n(e)p -Fs(,)155 887 y(pages)g(105{115,)g(Jan)o(uary)g(1991.)94 -949 y([3])20 b(John)12 b(K.)f(Ousterhout.)j(Tcl:)j(an)11 -b(em)o(b)q(eddable)j(command)e(language.)k(In)11 b Fl(USENIX)f(Winter)h -(Confer)n(enc)n(e)p Fs(,)e(pages)155 995 y(183{192,)14 -b(Jan)o(uary)g(1990.)94 1057 y([4])20 b(Eric)o(k)c(Gallesio.)23 -b(Extending)17 b(the)d Fj(STk)h Fs(in)o(terpreter.)22 -b(T)m(ec)o(hnical)16 b(rep)q(ort,)f(I3S)f(CNRS)h(/)f(Univ)o(ersit)o -(\023)-18 b(e)16 b(de)f(Nice)g(-)155 1103 y(Sophia)g(An)o(tip)q(olis,)h -(1997.)94 1165 y([5])k(Sho-Huan)15 b(Simon)g(T)m(ung)e(and)h(R.)f(Ken)o -(t)g(Dyb)o(vig.)20 b(Reliable)c(in)o(teractiv)o(e)f(programming)h(with) -e(mo)q(dules.)19 b Fl(LISP)155 1210 y(and)13 b(Symb)n(olic)f -(Computation)p Fs(,)e(9:343{358,)k(1996.)94 1273 y([6])20 -b(Guy)11 b(L.)f(Steele)i(Jr.)g Fl(Common)f(Lisp:)k(the)c(L)n(anguage,)e -(2nd)h(Edition)p Fs(.)g(Digital)j(Press,)e(12)f(Crosb)o(y)h(Driv)o(e,)h -(Bedford,)155 1318 y(MA)h(01730,)h(USA,)e(1990.)94 1381 -y([7])20 b(POSIX)j(Committee.)47 b Fl(System)21 b(Applic)n(ation)e(Pr)n -(o)n(gr)n(am)k(Interfac)n(e)d(\(API\))i([C)h(L)n(anguage])p -Fs(.)43 b(Information)155 1426 y(tec)o(hnology|P)o(ortab)q(le)22 -b(Op)q(erating)e(System)f(In)o(terface)g(\(POSIX\).)f(IEEE)h(Computer)g -(So)q(ciet)o(y)h(Press,)g(1109)155 1472 y(Spring)15 b(Street,)e(Suite)h -(300,)f(Silv)o(er)i(Spring,)f(MD)g(20910,)f(USA,)f(1990.)94 -1534 y([8])20 b(Man)o(uel)15 b(Serrano.)j Fl(Biglo)n(o)12 -b(User's)g(Manual,)g(v1.9b)p Fs(,)f(June)i(1997.)94 1596 -y([9])20 b(C.)f(Queinnec)i(and)e(J-M.)g(Ge\013ro)o(y)m(.)35 -b(P)o(artial)21 b(Ev)n(aluation)h(Applied)f(to)e(Sym)o(b)q(olic)j(P)o -(attern)d(Matc)o(hing)i(with)155 1642 y(In)o(telligen)o(t)f(Bac)o -(ktrac)o(k.)29 b(In)17 b Fl(et)g(al)f Fs(M.)g(Billaud,)21 -b(editor,)d Fl(Workshop)e(in)g(Static)g(A)o(nalysis)p -Fs(,)e(n)o(um)o(b)q(er)k(81{82)g(in)155 1688 y(Bigre,)c(Bordeaux)h(\(F) -m(rance\),)d(Septem)o(b)q(er)i(1992.)75 1750 y([10])20 -b(A.)14 b(W)m(righ)o(t)i(and)f(B.Duba.)22 b(P)o(attern)14 -b(Matc)o(hing)j(for)d(Sc)o(heme.)21 b(T)m(ec)o(hnical)16 -b(rep)q(ort,)f(Departmen)o(t)h(of)e(Computer)155 1796 -y(Science,)h(Rice)e(Univ)o(ersit)o(y)m(,)i(Octob)q(er)e(1993.)75 -1858 y([11])20 b(John)14 b(K.)e(Ousterhout.)18 b Fl(Tcl)c(and)e(the)h -(Tk)h(to)n(olkit)p Fs(.)g(Addison-W)m(esley)m(,)i(1994.)75 -1920 y([12])k(Gregor)13 b(Kic)o(kzales.)18 b(Tin)o(y-clos.)f(Source)c -(a)o(v)n(ailable)j(on)c(parcftp.xero)o(x.com)h(in)g(directory)h -(/pub/mops)r(,)e(Decem-)155 1966 y(b)q(er)i(1992.)75 -2028 y([13])20 b(Apple)14 b(Computer.)k Fl(Dylan:)e(an)d(Obje)n(ct)f -(Oriente)n(d)h(Dynamic)f(L)n(anguage)p Fs(.)i(Apple,)f(April)i(1992.)75 -2090 y([14])20 b(Chris)e(Hanson.)27 b(The)17 b(sos)f(reference)h(man)o -(ual,)i(v)o(ersion)e(1.5.)27 b Fl(in-line)15 b(do)n(cumentatio)o(n)f -(of)i(the)g(SOS)g(p)n(ackage.)155 2136 y(Sour)n(c)n(e)c(available)f(on) -i(martigny.ai.mit.e)n(d)o(u)e(in)i(/ar)n(chive/cp)o(h)e(dir)n(e)n -(ctory)p Fs(,)f(Marc)o(h)k(1993.)75 2198 y([15])20 b(Jim)d(de)f(Rivi)o -(\022)-18 b(eres)18 b(Gregor)e(Kic)o(kzales)i(and)f(Daniel)h(G.)d -(Bobro)o(w.)27 b Fl(The)16 b(A)o(rt)g(of)g(Meta)f(Obje)n(ct)h(Pr)n(oto) -n(c)n(ol)p Fs(.)24 b(MIT)155 2244 y(Press,)13 b(1991.)935 -2924 y FD(85)p eop +85 84 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(85)p 37 64 1838 2 v 251 171 a Fq(\(define-ge)o(ner)o(ic)16 +b(new-+\))251 262 y(\(let)i(\(\(+)h(+\)\))290 353 y(\(define-met)o(ho)o +(d)e(new-+)g(\(\(a)i(\))e(\(b)h(\)\))f(\(+)i(a)g(b\)\))290 +445 y(\(define-met)o(ho)o(d)e(new-+)g(\(\(a)i(\))e(\(b)h +(\)\))330 490 y(\(make-rec)o(ta)o(ngu)o(la)o(r)f(\(+)h(a)i +(\(real-par)o(t)c(b\)\))j(\(imag-par)o(t)e(b\)\)\))290 +582 y(\(define-met)o(ho)o(d)g(new-+)g(\(\(a)i()o(\))d(\(b)j +(\)\))330 627 y(\(make-rec)o(ta)o(ngu)o(la)o(r)e(\(+)h +(\(real-part)e(a\))j(b\))g(\(imag-par)o(t)e(a\)\)\))290 +719 y(\(define-met)o(ho)o(d)g(new-+)g(\(\(a)i()o(\))d(\(b)j +(\))o(\))330 764 y(\(make-rec)o(ta)o(ngu)o(la)o(r)e(\(+)h +(\(real-part)e(a\))j(\(real-part)d(b\)\))683 810 y(\(+)i(\(imag-part)e +(a\))j(\(imag-part)d(b\)\)\)\))290 901 y(\(define-met)o(ho)o(d)h(new-+) +g(\(\(a)i(\))o(\))36 b(a\))290 993 y(\(define-met)o(ho)o(d)17 +b(new-+)g(\(\))i(0\))290 1084 y(\(define-met)o(ho)o(d)e(new-+)g(args)38 +b(\(new-+)17 b(\(car)h(args\))g(\(apply)f(new-+)h(\(cdr)g +(args\)\)\)\)\))251 1175 y(\(set!)g(+)h(new-+\))377 1273 +y FF(Figure)c(C.3:)k FD(Extending)d Fw(+)g FD(for)g(de)n(aling)g(with)g +(c)n(omplex)g(numb)n(ers)125 1440 y Fv(...)125 1490 y(...)37 +1633 y FF(Standard)j(primitiv)o(es)h(in)f(whic)o(h)h(complex)f(n)o(um)o +(b)q(ers)g(are)f(in)o(v)o(olv)o(ed)i(could)g(also)e(b)q(e)h +(rede\014ned)h(in)g(the)37 1690 y(same)15 b(manner.)37 +1746 y(This)h(ends)g(this)g(brief)g(presen)o(tation)f(of)g(the)g +FB(STklos)f FF(extension.)p eop %%Page: 86 86 -86 85 bop 75 417 a FA(Index)75 624 y Ft(!)9 b Fs(.)c(.)h(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)21 b(33)75 670 y Ft(*)9 b Fs(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)21 -b(14)75 716 y Ft(*argc*)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)23 b(63)75 762 y -Ft(*argv*)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)23 b(63)75 807 y Ft(*debug*)6 -b Fs(.)s(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b(32;)13 -b(53,)g(63)75 853 y Ft(*gc-verbos)o(e*)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)23 b(63)75 899 y Ft(*help-path)o(*)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 -b(63)75 945 y Ft(*load-path)o(*)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)16 b(63)75 991 y Ft(*load-suff)o(ix)o(es*)6 -b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)19 b(63)75 1036 -y Ft(*load-verb)o(os)o(e*)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)20 b(63)75 1082 y Ft(*print-ban)o(ne)o(r*)7 b Fs(.)s(.)f(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)20 b(64)75 1128 y Ft(*program-n)o(am)o(e*)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(63)75 -1174 y Ft(*root*)5 b Fs(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)17 b(60;)c(64)75 1220 y Ft(+)c Fs(.)c(.)h(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)21 b(14)75 1266 y Ft(-)9 b Fs(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -21 b(14)75 1311 y Ft(/)9 b Fs(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)21 -b(14)75 1357 y Ft(:accessor)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 b(70)75 1403 y Ft(:allocatio)o(n)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 -b(70)75 1449 y Ft(:class)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)23 b(70)75 1495 y -Ft(:getter)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)21 b(70)75 1540 y Ft(:init-keyw)o(or)o(d)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(70)75 -1586 y Ft(:initform)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)19 b(69)75 1632 y Ft(:instance)6 -b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 -b(70)75 1678 y Ft(:setter)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(70)75 1724 y -Ft(:slot-ref)9 b Fs(.)s(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 -b(70;)13 b(71)75 1770 y Ft(:slot-set!)7 b Fs(.)s(.)f(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)20 b(70;)13 b(71)75 1815 y Ft(:virtual)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)20 b(70)75 1861 y Ft(<)9 b Fs(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)21 -b(14)75 1907 y Ft(<=)7 b Fs(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)20 -b(14)75 1953 y Ft()7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(68)75 1999 y Ft()6 -b Fs(.)t(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)18 b(68;)13 b(74)75 2045 y Ft(=)c Fs(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)21 -b(14)75 2090 y Ft(>)9 b Fs(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)21 -b(14)75 2136 y Ft(>=)7 b Fs(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)20 -b(14)75 2269 y Fa(A)75 2315 y Ft(abs)6 b Fs(.)f(.)h(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 -b(14)75 2361 y(accessor)11 b(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)23 b(70)75 2406 y Ft(acos)5 -b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)17 b(14)75 2452 y Ft(add-signal)o(-h)o(and)o(le) -o(r!)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)22 b(35)75 2498 y Ft(address-of)t -Fs(.)s(.)6 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(34)75 2544 y Ft(address?)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(34)75 2590 y Ft(and)7 -b Fs(.)e(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b(9)75 2636 y Ft(angle)6 -b Fs(.)t(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)18 b(15;)13 b(65)75 2681 y Ft(append)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)23 -b(11)75 2727 y Ft(apply)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)16 b(18)75 -2773 y Ft(apropos)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(53)75 2819 y Ft(asin)5 -b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)17 b(14)1029 624 y Ft(assoc)s -Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)16 b(11)1029 670 y Ft(assq)5 b Fs(.)t(.)h(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -17 b(11)1029 716 y Ft(assv)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 -b(11)1029 761 y Ft(atan)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(14)1029 -807 y Ft(autoload)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)20 b(23)1029 853 y Ft(autoload?)5 -b Fs(.)t(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)19 -b(23)1029 985 y Fa(B)1029 1031 y Ft(basename)7 b Fs(.)s(.)f(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)20 b(32)1029 -1077 y Ft(begin)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(10)1029 1122 -y Ft(bind)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(60)1029 1168 -y Ft(bindtags)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)20 b(61)1029 1214 y Ft(boolean?)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)20 b(10)1029 1260 y Ft(break)6 b Fs(.)t(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)19 b(34;)13 b(61)1029 -1305 y Ft(button)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(26)1029 1351 y Ft(bye)6 -b Fs(.)f(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)19 b(56)1029 1492 y Fa(C)1029 -1537 y Ft(c)9 b Fs(.)c(.)h(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(35)1029 -1583 y Ft(c-string-)o(>st)o(ri)o(ng)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)18 b(50)1029 1629 y Ft(caar)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 -b(11)1029 1675 y Ft(cadr)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(11)1029 -1720 y Ft(call-with)o(-cu)o(rr)o(ent)o(-co)o(nt)o(inu)o(at)o(ion)r -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)16 b(18)1029 -1766 y Ft(call-with)o(-in)o(pu)o(t-f)o(ile)7 b Fs(.)s(.)f(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)21 -b(19)1029 1812 y Ft(call-with)o(-in)o(pu)o(t-s)o(tri)o(ng)t -Fs(.)t(.)6 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)18 b(19)1029 1858 y Ft(call-with)o(-ou)o(tp)o(ut-)o(fil)o(e)7 -b Fs(.)r(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)19 b(19)1029 1903 y Ft(call-with)o(-ou)o(tp)o(ut-)o(str)o -(in)o(g)t Fs(.)s(.)6 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)17 b(19)1029 1949 y Ft(call/cc)9 b Fs(.)s(.)d(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 -b(18)1029 1995 y Ft(canonical)o(-pa)o(th)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)20 b(32)1029 2041 y Ft(car)6 b Fs(.)f(.)g(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)19 b(11)1029 2087 y Ft(case)6 b Fs(.)t(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)18 -b(9)1029 2132 y Ft(catch)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(18)1029 -2178 y Ft(cdddar)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(11)1029 2224 y Ft(cddddr)8 -b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)23 b(11)1029 2270 y Ft(cdr)6 b Fs(.)f(.)g(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)19 -b(11)1029 2315 y Ft(ceiling)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(14)1029 2361 -y Ft(char->int)o(ege)o(r)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)22 b(16)1029 2407 y Ft(char-alph)o(abe)o(ti)o(c?)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)18 b(16)1029 2453 -y Ft(char-ci<=)o(?)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)17 b(16)1029 2498 y Ft(char-ci=)o(?)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(16)1029 2636 y Ft(char-ci>?)5 b Fs(.)t(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)19 b(16)1029 2682 y Ft(char-down)o(cas)o -(e)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)22 -b(16)1029 2727 y Ft(char-lowe)o(r-c)o(as)o(e?)5 b Fs(.)s(.)h(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)18 b(16)1029 2773 y Ft(char-nume)o(ric)o(?)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)22 b(16)1029 -2819 y Ft(char-read)o(y?)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)16 b(21)935 2924 y FD(86)p eop +86 85 bop 37 45 a FE(86)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v eop %%Page: 87 87 -87 86 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(87)p 75 64 1763 2 v 75 179 a Ft(char-upcas)o(e)s Fs(.)s(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 -b(16)75 225 y Ft(char-upper)o(-c)o(ase)o(?)5 b Fs(.)s(.)h(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)18 b(16)75 271 y Ft(char-white)o(sp)o(ace)o(?)5 -b Fs(.)s(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)18 b(16)75 317 y -Ft(char<=?)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)21 b(16)75 363 y Ft(char=?)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)21 b(16)75 501 y Ft(char>?)8 b Fs(.)e(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)23 -b(15)75 547 y Ft(char?)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)16 b(15)75 -593 y(c)o(haracters)10 b(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)22 b(15)75 639 y Ft(chdir)s Fs(.)t(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)16 b(33)75 685 y(class)5 b(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)18 -b(67)75 732 y Ft(class-prec)o(ed)o(enc)o(e-)o(lis)o(t)7 -b Fs(.)s(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)19 b(73)75 778 y Ft(class-slot)o(s)s Fs(.)s(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 -b(69)75 824 y Ft(close-inpu)o(t-)o(por)o(t)5 b Fs(.)s(.)h(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)18 b(21)75 870 y Ft(close-outp)o(ut)o(-po)o(rt)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b(21)75 916 y Ft(close-port)t -Fs(.)s(.)6 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(24)75 962 y Ft(closure?)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(18)75 1008 y(cm)o(u)13 -b(sc)o(heme)f(.)6 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -23 b(82)75 1054 y Ft(complex?)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(13)75 1100 y -Ft(cond)6 b Fs(.)t(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)18 b(9)75 1146 y -Ft(cons)5 b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)17 b(11)75 1192 y(con)o(tin)o(uation)c -(.)6 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)22 b(18;)13 -b(51)75 1238 y Ft(continuati)o(on)o(?)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)22 b(18)75 1284 y Ft(copy-tree)6 b -Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 -b(12)75 1330 y Ft(cos)6 b Fs(.)f(.)h(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 -b(14)75 1376 y Ft(current-er)o(ro)o(r-p)o(or)o(t)8 b -Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)23 b(20)75 1422 y Ft(current-in)o(pu)o(t-p)o(or) -o(t)5 b Fs(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)18 b(20;)13 b(21)75 1469 y Ft(current-mo)o(du)o(le)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(29)75 -1515 y Ft(current-ou)o(tp)o(ut-)o(po)o(rt)t Fs(.)r(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)16 -b(20;)d(22)75 1660 y Fa(D)75 1706 y Ft(decompose-)o(fi)o(le-)o(na)o(me) -6 b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)22 b(32)75 1752 y Ft(default)17 -b(slot)h(value)9 b Fs(.)d(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b(69)75 -1798 y Ft(define-cla)o(ss)t Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(67;)c(68)75 1844 y Ft(define-ext)o(er)o(nal)6 b Fs(.)s(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)19 b(47)75 1890 y Ft(define-gen)o(er)o(ic)7 -b Fs(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 b(73;)13 b(74)75 1936 -y Ft(define-mac)o(ro)t Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(31;)c(32)75 1982 y Ft(define-met)o(ho)o(d)6 b Fs(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)22 b(73)75 2029 y Ft(define-mod)o(ul)o(e)t -Fs(.)s(.)5 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 b(27;)d(29)75 -2075 y Ft(delay)6 b Fs(.)t(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)18 b(10;)13 b(18)75 2121 y Ft(denominato)o(r)6 -b Fs(.)s(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 b(14;)13 -b(64)75 2167 y Ft(describe)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(69)75 2213 y Ft(detail)5 -b Fs(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)17 -b(53;)c(56)75 2259 y Ft(dirname)c Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(32)75 2305 -y Ft(display)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)21 b(21)75 2351 y Ft(do)7 b Fs(.)e(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)20 b(10)75 2397 y Ft(dotimes)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(10)75 -2443 y Ft(dump)5 b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)17 b(51)75 2489 -y Ft(dynamic-wi)o(nd)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)23 b(18)75 2635 y Fa(E)75 2681 y Fs(emacs)13 b(editor)6 -b(.)h(.)f(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)18 -b(82)75 2727 y Ft(environmen)o(t-)o(>li)o(st)s Fs(.)s(.)6 -b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)16 b(30)75 2773 y Ft(environmen)o(t?)7 -b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 -b(30)75 2819 y Ft(eq)7 b Fs(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)20 -b(12)1029 179 y Ft(eq?)9 b Fs(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(11;)13 b(36)1029 -225 y Ft(equal)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(12)1029 272 -y Ft(equal?)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)23 b(11)1029 319 y Ft(eqv)6 b -Fs(.)f(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)19 b(12)1029 366 y Ft(eqv?)5 -b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)17 b(11)1029 412 y Ft(error)s -Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)16 b(52)1029 459 y Ft(eval)5 b Fs(.)t(.)h(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -17 b(50)1029 506 y Ft(eval-stri)o(ng)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 b(51)1029 552 y Ft(even?)s -Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)16 b(14)1029 599 y Ft(exact->in)o(exa)o(ct)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(15)1029 -646 y Ft(exact?)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(13)1029 693 y Ft(exec)5 -b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)17 b(34)1029 739 y Ft(exit)5 b -Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)17 b(56)1029 786 y Ft(exp)6 b Fs(.)f(.)g(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)19 b(14)1029 833 y Ft(expand-fi)o(le-)o(na)o(me)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)18 b(32)1029 879 -y Ft(expand-he)o(ap)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)16 b(52)1029 926 y Ft(export)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 -b(28)1029 973 y Ft(export-al)o(l-s)o(ym)o(bol)o(s)8 b -Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)23 b(29)1029 1020 y Ft(export-sy)o(mbo)o(l)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)22 b(29)1029 -1066 y Ft(expt)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(15)1029 -1113 y Ft(external-)o(exi)o(st)o(s?)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)18 b(50)1029 1262 y Fa(F)1029 1308 y Fs(faq)10 b(.)c(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)22 b(82)1029 1355 y Ft(file-exis)o(ts?)7 b Fs(.)f(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)23 b(33)1029 1402 y Ft(file-is-d)o(ire)o -(ct)o(ory)o(?)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b(33)1029 -1448 y Ft(file-is-e)o(xec)o(ut)o(abl)o(e?)6 b Fs(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)22 -b(33)1029 1495 y Ft(file-is-r)o(ead)o(ab)o(le?)s Fs(.)s(.)6 -b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)16 b(33)1029 1542 y Ft(file-is-r)o(egu)o(la)o -(r?)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)18 b(33)1029 -1589 y Ft(file-is-w)o(rit)o(ab)o(le?)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -16 b(33)1029 1635 y Ft(find-modu)o(le)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 b(28)1029 1682 y Ft(floor)s -Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)16 b(14)1029 1729 y Ft(fluid-let)6 -b Fs(.)t(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)20 b(9)1029 1775 y Ft(flush)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 -b(22)1029 1822 y Ft(for-each)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)20 b(18)1029 1869 y Ft(force)s -Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)16 b(18)1029 1916 y Ft(format)5 b -Fs(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 -b(22;)c(52)1029 2071 y Fa(G)1029 2118 y Fs(garbage)h(collector)s(.)8 -b(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(49)1029 2165 -y Ft(gc)7 b Fs(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)20 b(52)1029 -2212 y Ft(gc-stats)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)20 b(52)1029 2258 y Ft(gcd)6 -b Fs(.)f(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)19 b(14)1029 2305 y Ft(gensym)8 -b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)23 b(13)1029 2352 y Ft(get-inter)o(nal)o(-i)o(nfo)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b(52)1029 2398 y Ft(get-keywo)o(rd)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 -b(25)1029 2445 y Ft(get-outpu)o(t-s)o(tr)o(ing)6 b Fs(.)s(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)19 -b(21;)13 b(22)1029 2492 y Ft(get-signa)o(l-h)o(an)o(dle)o(rs)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)22 b(35)1029 2539 y Ft(get-widge)o(t-d)o(at)o(a)7 -b Fs(.)s(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)19 b(27)1029 -2585 y Ft(getcwd)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(33)1029 2632 y Ft(getenv)8 -b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)23 b(34)1029 2679 y Ft(getpid)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 -b(33)1029 2725 y(getter)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(70)1029 -2772 y Ft(glob)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(33)1029 -2819 y Ft(global-en)o(vir)o(on)o(men)o(t)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 -b(30)p eop +87 86 bop 37 502 a FJ(App)s(endix)33 b(D)37 709 y FC(Mo)s(dules:)52 +b(Examples)37 932 y FF(This)22 b(app)q(endix)g(sho)o(ws)e(some)g +(usages)g(of)g(the)h FB(STk)f FF(mo)q(dules.)37 b(Most)19 +b(of)h(the)h(examples)g(whic)o(h)g(are)37 988 y(exhibited)d(here)d(are) +g(deriv)o(ed)h(from)f(the)g(T)l(ung)h(and)f(Dyb)o(vig)g(pap)q(er)h([5)o +(].)37 1110 y FI(In)n(teractiv)n(e)i(Rede\014nition)37 +1189 y FF(Consider)e(\014rst)f(the)g(de\014nitions,)125 +1276 y Fv(\(define-module)k(A)168 1326 y(\(export)i(square\))168 +1376 y(\(define)g(square)212 1425 y(\(lambda)f(\(x\))h(\(+)h(x)f +(x\)\)\)\))125 1525 y(\(define-module)e(B)168 1575 y(\(import)i(A\))168 +1625 y(\(define)g(distance)212 1674 y(\(lambda)f(\(x)i(y\))255 +1724 y(\(sqrt)f(\(+)h(\(square)e(x\))h(\(square)g(y\)\)\)\)\)\))37 +1861 y FF(Ob)o(viously)l(,)26 b(the)c Fw(square)g FF(function)h(exp)q +(orted)g(from)f Fw(A)g FF(is)h(incorrect,)h(as)e(w)o(e)g(can)h(see)f +(in)i(its)e(usage)37 1911 y(b)q(elo)o(w:)125 1998 y Fv(\(with-module)d +(B)j(\(round)e(\(distance)g(3)i(4\)\)\))343 2047 y Fu(=)-7 +b Fp(\))21 b Fv(4.0)37 2184 y FF(The)16 b(function)g(can)f(b)q(e)h +(rede\014ned)h(\()p FD(c)n(orr)n(e)n(cte)n(d)5 b FF(\))13 +b(b)o(y)i(the)h(follo)o(wing)g(expression:)125 2271 y +Fv(\(with-module)j(A)168 2321 y(\(set!)i(square)299 2371 +y(\(lambda)f(\(x\))i(\(*)f(x)g(x\)\)\)\))37 2507 y FF(And)16 +b(no)o(w,)168 2594 y Fv(\(with-module)k(B)h(\(round)g(\(distance)f(3)h +(4\)\)\))343 2644 y Fu(=)-7 b Fp(\))21 b Fv(5)37 2787 +y FF(whic)o(h)c(is)e(correct.)934 2901 y(87)p eop %%Page: 88 88 -88 87 bop 75 47 a FC(88)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 186 a Fa(H)75 232 y Ft(hash-table)o(->)o(lis)o(t)5 -b Fs(.)s(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)18 b(38)75 278 y -Ft(hash-table)o(-f)o(or-)o(ea)o(ch)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)22 -b(38)75 324 y Ft(hash-table)o(-g)o(et)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)20 b(37)75 370 y Ft(hash-table)o(-h)o(ash)6 -b Fs(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)22 b(37;)13 b(36)75 416 y Ft(hash-table)o(-m)o -(ap)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 -b(38)75 462 y Ft(hash-table)o(-p)o(ut!)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)19 b(37)75 507 y Ft(hash-table)o(-r)o(emo)o(ve)o(!)8 -b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)23 b(37)75 553 y Ft(hash-table)o(-s)o(tat)o(s)5 -b Fs(.)s(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)18 b(38)75 599 y -Ft(hash-table)o(?)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)16 b(37)75 645 y Ft(help,)i(getting)6 b Fs(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(63)75 787 y Fa(I)75 -833 y Ft(if)t Fs(.)5 b(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)17 b(8;)12 b(9)75 -879 y(ilisp)j(pac)o(k)n(age)6 b(.)h(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)18 b(82)75 925 y Ft(imag-part)9 b Fs(.)s(.)c(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(15;)13 b(65)75 971 -y Ft(import)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)23 b(28)75 1017 y Ft(inexact->e)o(xa)o(ct)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(15)75 -1063 y Ft(inexact?)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)20 b(13)75 1108 y(initial)c(en)o(vironmen)o(t)d -(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b(10)75 1154 y Ft(input-port)o(?)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 -b(20)75 1200 y Ft(input-stri)o(ng)o(-po)o(rt)o(?)8 b -Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)23 b(20)75 1246 y Ft(inspect)9 -b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)21 b(53)75 1292 y(instance)9 b(.)f(.)e(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)22 b(69)75 1338 -y Ft(integer->c)o(ha)o(r)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)22 b(16)75 1384 y Ft(integer?)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(13)75 1430 -y(ip)14 b(n)o(um)o(b)q(er)e(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)24 b(44;)13 b(45)75 1571 y Fa(K)75 1617 y Fs(k)o(eyw)o(ord)8 -b(.)f(.)f(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)21 b(69)75 1663 y Ft(keyword->s)o(tr)o(ing)6 b Fs(.)s(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)19 b(25)75 1709 y Ft(keyword?)7 b -Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -20 b(25)75 1851 y Fa(L)75 1897 y Ft(label)s Fs(.)t(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)16 b(26)75 1943 y Ft(lambda)s Fs(.)t(.)5 b(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)15 -b(8)75 1988 y Ft(lcm)6 b Fs(.)f(.)h(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b(14)75 -2034 y Ft(length)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)23 b(11)75 2080 y Ft(let)7 -b Fs(.)e(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b(9)75 2126 y Ft(let*)6 -b Fs(.)t(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)18 b(9)75 2172 y Ft(letrec)8 -b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)23 b(10)75 2218 y Ft(list)7 b Fs(.)e(.)h(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)20 b(11;)13 -b(12)75 2264 y Ft(list*)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)16 b(12)75 -2310 y Ft(list->stri)o(ng)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)23 b(17)75 2355 y Ft(list->vect)o(or)7 b Fs(.)f(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 b(18)75 2401 y Ft(list-ref)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)20 b(11)75 2447 y Ft(list-tail)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 b(11)75 2493 y -Ft(list?)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)16 b(11)75 2539 y Ft(load)5 -b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)17 b(23)75 2585 y Ft(log)6 b Fs(.)f(.)h(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)18 b(14)75 2727 y Fa(M)75 2773 y Ft(machine-ty)o(pe)7 -b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 -b(50)75 2819 y Ft(macro)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)16 b(31)1029 -179 y Ft(macro-bod)o(y)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)17 b(31)1029 224 y Ft(macro-exp)o(and)7 -b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)23 -b(31)1029 270 y Ft(macro-exp)o(and)o(-1)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)20 b(31)1029 316 y(macro-expansion)5 -b(.)j(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b(31)1029 -361 y Ft(macro?)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(31)1029 407 y Ft(magnitude)8 -b Fs(.)s(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 -b(15;)13 b(65)1029 453 y Ft(make)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 -b(69)1029 498 y Ft(make-clie)o(nt-)o(so)o(cke)o(t)8 b -Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)23 b(44)1029 544 y Ft(make-hash)o(-ta)o(bl)o(e)7 -b Fs(.)s(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)19 b(36)1029 -590 y Ft(make-keyw)o(ord)7 b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)23 b(25)1029 635 y Ft(make-pola)o(r)8 b Fs(.)e(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)23 b(15;)13 b(64,)g(72)1029 681 y Ft(make-rect)o(ang)o(ul)o(ar) -8 b Fs(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)23 b(15;)13 b(64,)g(72)1029 727 y Ft(make-serv)o(er-)o(so)o(cke) -o(t)5 b Fs(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)18 b(45;)13 b(44)1029 772 y Ft(make-stri)o(ng)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 -b(16)1029 818 y Ft(make-vect)o(or)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)16 b(17)1029 864 y Ft(map)6 -b Fs(.)f(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)19 b(18)1029 909 y Ft(match-cas)o(e)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(41)1029 955 y Ft(match-lam)o(bda)7 b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)23 b(41)1029 1001 y Ft(max)6 b Fs(.)f(.)g(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)19 b(14)1029 1046 y Ft(member)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(11)1029 -1092 y Ft(memq)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(11)1029 -1138 y Ft(memv)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(11)1029 -1183 y Ft(menu)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(26)1029 -1229 y Ft(min)6 b Fs(.)f(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)19 b(14)1029 -1275 y Ft(module-en)o(vir)o(on)o(men)o(t)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 -b(30)1029 1320 y Ft(module-ex)o(por)o(ts)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)20 b(29)1029 1366 y Ft(module-im)o(por)o(ts)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(29)1029 -1412 y Ft(module-na)o(me)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)16 b(29)1029 1457 y Ft(module-sy)o(mbo)o(ls)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(29)1029 -1503 y Ft(module?)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(28)1029 1549 y Ft(modulo)8 -b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)23 b(14)1029 1678 y Fa(N)1029 1723 y Ft(negative?)5 -b Fs(.)t(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)19 -b(14)1029 1769 y Ft(newline)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(22)1029 1815 -y Ft(next-meth)o(od)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)16 b(74)1029 1860 y Ft(not)6 b Fs(.)f(.)g(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)19 -b(10)1029 1906 y Ft(null?)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(11)1029 -1952 y Ft(number->s)o(tri)o(ng)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)20 b(15)1029 1997 y Ft(number?)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(13)1029 -2043 y Ft(numerator)8 b Fs(.)s(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)22 b(14;)13 b(64)1029 2179 y Fa(O)1029 2225 y Ft(obj)c -Fs(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)21 b(12;)13 b(34)1029 2271 y Ft(odd?)5 b Fs(.)t(.)h(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 -b(14)1029 2316 y Ft(open-file)5 b Fs(.)t(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)19 b(24)1029 2362 y Ft(open-inpu)o(t-f)o -(il)o(e)7 b Fs(.)s(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)19 -b(21)1029 2408 y Ft(open-inpu)o(t-s)o(tr)o(ing)s Fs(.)s(.)6 -b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)16 b(21)1029 2453 y Ft(open-outp)o(ut-)o(fi)o -(le)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)18 b(21)1029 -2499 y Ft(open-outp)o(ut-)o(st)o(rin)o(g)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 -b(21)1029 2545 y Ft(or)8 b Fs(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)21 -b(9)1029 2590 y Ft(output-po)o(rt?)7 b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)23 b(20)1029 2636 y Ft(output-st)o(rin)o(g-)o(por)o -(t?)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)22 b(20)1029 2773 y Fa(P)1029 -2819 y Ft(pair?)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(11)p eop -%%Page: 89 89 -89 88 bop 75 47 a Fz(STk)16 b FC(Reference)f(Man)o(ual)1235 -b(89)p 75 64 1763 2 v 75 179 a Ft(parent-env)o(ir)o(onm)o(en)o(t)8 -b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)23 b(30)75 225 y(pattern)14 b(matc)o(hing)8 -b(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(40)75 271 -y Ft(peek-char)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)19 b(21)75 317 y(pid)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)15 -b(42;)e(43)75 363 y Ft(port->list)t Fs(.)s(.)6 b(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b(24)75 409 y Ft(port->sexp)o(-l)o -(ist)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)19 b(24)75 -455 y Ft(port->stri)o(ng)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)23 b(24)75 501 y Ft(port->stri)o(ng)o(-li)o(st)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b(24)75 547 y Ft(positive?)6 -b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 -b(14)75 593 y(p)q(osix.1)12 b(.)6 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(34)75 639 y -Ft(primitive?)t Fs(.)s(.)6 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)17 b(18)75 685 y Ft(procedure-)o(bo)o(dy)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(19)75 -732 y Ft(procedure-)o(en)o(vir)o(on)o(men)o(t)7 b Fs(.)s(.)e(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)19 -b(30)75 778 y Ft(procedure?)t Fs(.)s(.)6 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)17 b(18)75 824 y Ft(process-al)o(iv)o(e?)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(43)75 -870 y Ft(process-co)o(nt)o(inu)o(e)5 b Fs(.)s(.)h(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)18 b(44)75 916 y Ft(process-er)o(ro)o(r)6 b Fs(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)22 b(43)75 962 y Ft(process-ex)o(it)o(-st)o(at) -o(us)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)22 b(43)75 1008 y Ft(process-in)o(pu)o(t)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(43)75 -1054 y Ft(process-ki)o(ll)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)23 b(44)75 1100 y Ft(process-li)o(st)7 b Fs(.)f(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 b(44)75 1146 y Ft(process-ou)o(tp)o -(ut)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 -b(43)75 1192 y Ft(process-pi)o(d)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)16 b(43)75 1238 y Ft(process-se)o(nd)o(-si)o -(gn)o(al)6 b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)22 b(44)75 1284 y Ft(process-st)o(op)7 -b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 -b(44)75 1330 y Ft(process-wa)o(it)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)23 b(43)75 1376 y Ft(process?)7 b -Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -20 b(43)75 1422 y Ft(promise?)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(18)75 1469 y -Ft(provide)6 b Fs(.)s(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 -b(23;)13 b(24,)g(83)75 1515 y Ft(provided?)c Fs(.)s(.)c(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)21 b(23;)13 b(24)75 1660 y Fa(Q)75 -1706 y Ft(quasiquote)t Fs(.)s(.)6 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)17 b(10)75 1752 y Ft(quit)5 b Fs(.)t(.)h(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)17 -b(56)75 1798 y Ft(quote)t Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)17 b(8)75 -1844 y Ft(quotient)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)20 b(14)75 1990 y Fa(R)75 2036 -y Fs(r4rs)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)20 b(7;)12 b(83)75 2082 y Ft(random)c -Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)23 b(50)75 2128 y Ft(rational?)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 b(13)75 2174 -y Ft(rationaliz)o(e)6 b Fs(.)s(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 -b(14;)13 b(64)75 2220 y Ft(read)c Fs(.)t(.)d(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(21;)12 -b(8)75 2266 y Ft(read-char)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 b(21)75 2312 y Ft(read-from-)o(st)o(rin) -o(g)5 b Fs(.)s(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)18 b(51)75 -2358 y Ft(read-line)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)19 b(21)75 2404 y Ft(real-part)9 -b Fs(.)s(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 -b(15;)13 b(64)75 2450 y Ft(real?)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)16 -b(13)75 2496 y Ft(regexp-rep)o(la)o(ce)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)20 b(40)75 2543 y Ft(regexp-rep)o(la)o(ce-)o(al)o(l)8 -b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)23 b(40)75 2589 y Ft(regexp?)9 -b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)21 b(40)75 2635 y(regular)14 b(expression)f(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b(38)75 2681 y Ft(remainder)6 -b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 -b(14)75 2727 y Ft(remove)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)23 b(12)75 2773 y -Ft(remq)5 b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)17 b(12)75 2819 y Ft(remv)5 -b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)17 b(12)1029 179 y Ft(require)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 -b(23;)d(83)1029 225 y Ft(reverse)c Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(11)1029 -271 y(ro)q(ot)13 b(windo)o(w)7 b(.)g(.)f(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)19 b(60)1029 317 y Ft(round)s Fs(.)t(.)6 -b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)16 b(14)1029 363 y Ft(run-proce)o(ss)s Fs(.)s(.)6 -b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 -b(42)1029 511 y Fa(S)1029 557 y Fs(sc)o(heme)d(rep)q(ository)s(.)c(.)c -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 b(83)1029 603 y Ft(set!)9 -b Fs(.)t(.)d(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)21 b(9;)13 b(70)1029 649 y Ft(set-car!)7 b -Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -20 b(11)1029 695 y Ft(set-cdr!)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)20 b(11)1029 742 -y Ft(set-rando)o(m-s)o(ee)o(d!)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -18 b(50)1029 788 y Ft(set-signa)o(l-h)o(an)o(dle)o(r!)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)22 b(35)1029 834 y Ft(set-widge)o(t-d)o(at)o(a!)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)18 b(27)1029 880 -y Ft(setenv!)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)22 b(34)1029 926 y(setter)5 b(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)18 -b(70)1029 972 y Ft(sigabrt)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 1018 -y Ft(sigalrm)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)22 b(34)1029 1065 y Ft(sigbus)8 b -Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)23 b(34)1029 1111 y Ft(sigchld)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 -1157 y Ft(sigcld)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(34)1029 1203 y Ft(sigcont)9 -b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)22 b(34)1029 1249 y Ft(sigfpe)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(34)1029 -1295 y Ft(sighup)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(34)1029 1342 y Ft(sigill)8 -b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)23 b(34)1029 1388 y Ft(sigint)5 b Fs(.)s(.)h(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(34;)c(35)1029 -1434 y Ft(sigio)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(34)1029 1480 -y Ft(sigiot)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)23 b(34)1029 1526 y Ft(sigkill)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 -b(34;)d(35)1029 1572 y Ft(siglost)c Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 -1619 y Ft(sigpipe)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 1665 y Ft(sigpoll)9 -b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)22 b(34)1029 1711 y Ft(sigprof)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 -1757 y Ft(sigsegv)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 1803 y Ft(sigstop)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 -b(34;)d(35)1029 1849 y Ft(sigsys)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(34)1029 -1896 y Ft(sigterm)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 1942 y Ft(sigtrap)9 -b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)22 b(34)1029 1988 y Ft(sigttin)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 -2034 y Ft(sigttou)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 2080 y Ft(sigurg)8 -b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)23 b(34)1029 2126 y Ft(sigusr1)9 b Fs(.)s(.)d(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 -b(34)1029 2173 y Ft(sigwinch)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)20 b(34)1029 2219 y Ft(sigxcpu)9 -b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)22 b(34)1029 2265 y Ft(sigxfsz)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(34)1029 -2311 y Ft(sin)6 b Fs(.)f(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)19 b(14)1029 -2357 y(slib)c(pac)o(k)n(age)d(.)6 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)24 b(83)1029 2403 y(slot)5 b(.)i(.)f(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)18 -b(67)1029 2450 y Ft(slot-ref)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)20 b(69)1029 2496 y Ft(slot-set!)5 -b Fs(.)t(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)19 -b(69)1029 2542 y Ft(socket-ac)o(cep)o(t-)o(con)o(nec)o(ti)o(on)8 -b Fs(.)e(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)24 -b(45)1029 2588 y Ft(socket-do)o(wn?)7 b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)23 b(46)1029 2634 y Ft(socket-du)o(p)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(46)1029 2680 y Ft(socket-ho)o(st-)o(ad)o(dre)o(ss)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)22 b(44)1029 2727 y Ft(socket-ho)o(st-)o(na)o(me)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)18 b(44)1029 2773 -y Ft(socket-in)o(put)7 b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)23 b(45)1029 2819 y Ft(socket-lo)o(cal)o(-a)o(ddr)o(ess)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)21 b(45)p eop -%%Page: 90 90 -90 89 bop 75 47 a FC(90)1236 b Fz(STk)17 b FC(Reference)d(Man)o(ual)p -75 64 1763 2 v 75 179 a Ft(socket-out)o(pu)o(t)6 b Fs(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(45)75 226 y Ft(socket-por)o(t-)o(num)o -(be)o(r)8 b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b(45)75 274 y Ft(socket-shu)o(td) -o(own)6 b Fs(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(45;)13 b(46)75 321 -y Ft(socket?)c Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)21 b(44)75 369 y Ft(sort)7 b Fs(.)e(.)h(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)20 -b(52;)13 b(33)75 416 y Ft(split-stri)o(ng)7 b Fs(.)f(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)h(.)g(.)g(.)g(.)g(.)23 b(17)75 464 y Ft(sqrt)5 -b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)17 b(15)75 511 y Ft(string)5 b -Fs(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)17 -b(16;)c(17)75 559 y Ft(string->li)o(st)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)23 b(17)75 606 y Ft(string->nu)o(mb)o(er)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b(15)75 -654 y Ft(string->re)o(ge)o(xp)5 b Fs(.)s(.)h(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b(39;)c(38,)g(40)75 -701 y Ft(string->sy)o(mb)o(ol)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)20 b(13)75 749 y Ft(string->wi)o(dg)o(et)7 b Fs(.)s(.)f(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)20 b(26)75 796 y Ft(string-app)o(en)o(d)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(17)75 -844 y Ft(string-ci<)o(=?)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)23 b(17)75 891 y Ft(string-ci<)o(?)s Fs(.)s(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 -b(17)75 939 y Ft(string-ci=)o(?)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)16 b(16)75 986 y Ft(string-ci>)o(=?)7 -b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 -b(17)75 1034 y Ft(string-ci>)o(?)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)16 b(17)75 1081 y Ft(string-cop)o(y)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)16 -b(17)75 1129 y Ft(string-fil)o(l!)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)23 b(17)75 1176 y Ft(string-fin)o(d?)7 -b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 -b(17)75 1224 y Ft(string-ind)o(ex)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)23 b(17)75 1271 y Ft(string-len)o(gt)o(h)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(16)75 -1319 y Ft(string-low)o(er)7 b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)23 b(17)75 1366 y Ft(string-ref)t Fs(.)s(.)6 -b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(16)75 1413 y Ft(string-set)o(!)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)16 b(16)75 1461 y Ft(string-upp)o(er)7 -b Fs(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 -b(17)75 1508 y Ft(string<=?)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 b(16)75 1556 y Ft(string=?)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)19 b(17)75 1698 y Ft(string>?)7 b Fs(.)s(.)f(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(16)75 -1746 y Ft(string?)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(16)75 1793 y Ft(substring)6 -b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 -b(17)75 1841 y Ft(symbol->st)o(ri)o(ng)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)20 b(13)75 1888 y Ft(symbol-bou)o(nd)o(?)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)22 b(30)75 -1936 y Ft(symbol?)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b(12)75 1983 y Ft(system)8 -b Fs(.)e(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)23 b(33)75 2154 y Fa(T)75 2202 y Ft(tan)6 -b Fs(.)f(.)h(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b(14)75 2249 y Ft(the-enviro)o(nm)o(ent)6 -b Fs(.)s(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)19 b(30)75 2296 -y(tilde)14 b(expansion)f(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -23 b(32)75 2344 y Ft(time)5 b Fs(.)t(.)h(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)17 -b(53)75 2391 y(tk)c(to)q(olkit)5 b(.)j(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)18 b(7;)12 b(26,)h(52)75 2439 y Ft(tk-command)7 -b Fs(.)s(.)f(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(26;)13 -b(60)75 2486 y Ft(tk-command)o(?)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)16 b(26)75 2534 y(to)q(olkit)t(.)7 -b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)17 -b(7;)12 b(26,)h(52)75 2581 y(top)g(lev)o(el)i(en)o(vironmen)o(t)6 -b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)19 b(10;)12 -b(30,)h(69,)g(70)75 2629 y Ft(trace-var)6 b Fs(.)s(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)19 b(51)75 2676 -y Ft(transcript)o(-o)o(ff)7 b Fs(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)23 -b(24;)13 b(64)75 2724 y Ft(transcript)o(-o)o(n)t Fs(.)s(.)5 -b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)16 b(24;)d(64)75 2771 y Ft(truncate)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)20 b(14)75 2819 y Ft(try-load)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)20 b(23)1029 186 -y Fa(U)1029 232 y Ft(uncode)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 b(52)1029 -278 y Ft(unless)6 b Fs(.)s(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)18 b(9;)13 b(10)1029 323 y Ft(until)s -Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)16 b(10)1029 369 y Ft(untrace-v)o(ar)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 -b(51)1029 499 y Fa(V)1029 545 y Ft(vector)8 b Fs(.)e(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)23 -b(17)1029 590 y Ft(vector->l)o(ist)7 b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)23 b(18)1029 636 y Ft(vector-co)o(py)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 -b(18)1029 682 y Ft(vector-fi)o(ll!)7 b Fs(.)f(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)23 b(18)1029 727 y Ft(vector-le)o(ngt)o(h)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)22 b(17)1029 -773 y Ft(vector-re)o(f)5 b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)17 b(18)1029 819 y Ft(vector-re)o(siz)o(e)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)22 b(18)1029 -864 y Ft(vector-se)o(t!)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)16 b(18)1029 910 y Ft(vector?)9 b Fs(.)s(.)d(.)g(.)g(.) -g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 -b(17)1029 956 y Ft(version)9 b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)22 b(50)1029 1001 -y Ft(view)5 b Fs(.)t(.)h(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)17 b(53)1029 1131 -y Fa(W)1029 1177 y Ft(when)6 b Fs(.)t(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)18 -b(9)1029 1223 y Ft(when-port)o(-re)o(ad)o(abl)o(e)8 b -Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)23 b(22)1029 1268 y Ft(when-port)o(-wr)o(it)o -(abl)o(e)8 b Fs(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b(23)1029 1314 -y Ft(when-sock)o(et-)o(re)o(ady)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 -b(46)1029 1360 y Ft(while)s Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)16 b(10)1029 -1405 y(widget)5 b(.)i(.)f(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)f(.)h(.)g(.)g(.)18 b(26)1029 1451 y Ft(widget->s)o(tri)o -(ng)7 b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 -b(26)1029 1497 y Ft(widget-na)o(me)s Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 b(27)1029 1542 y Ft(widget?)9 -b Fs(.)s(.)d(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)f(.)22 b(26)1029 1588 y Ft(with-inpu)o(t-f)o(ro)o(m-f)o(ile)7 -b Fs(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)f(.)h(.)g(.)21 b(20)1029 1634 y Ft(with-inpu)o(t-f)o(ro)o(m-s)o -(tri)o(ng)t Fs(.)t(.)6 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)18 b(20)1029 1679 y Ft(with-modu)o(le)s -Fs(.)s(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)16 -b(29)1029 1725 y Ft(with-outp)o(ut-)o(to)o(-fi)o(le)6 -b Fs(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)22 b(20)1029 1771 y Ft(with-outp)o(ut-)o(to)o(-st)o -(rin)o(g)7 b Fs(.)r(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)19 b(20)1029 1816 y Ft(write)s -Fs(.)t(.)6 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)f(.)h(.)g(.)16 b(21)1029 1862 y Ft(write-cha)o(r)5 -b Fs(.)s(.)h(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b(22)1029 1992 y Fa(X)1029 2038 y Fs(x)c(windo)o(w)h(system)d(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f -(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b(7)1029 2175 -y Fa(Z)1029 2221 y Ft(zero?)5 b Fs(.)t(.)h(.)g(.)g(.)g(.)g(.)f(.)h(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) -h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)18 b(14)p +88 87 bop 37 45 a FE(88)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a FI(Lexical)g(principle)37 281 +y FF(This)j(example)f(reuses)h(the)e(mo)q(dules)i Fw(A)f +FF(and)g Fw(B)f FF(of)h(previous)g(section)h(and)f(adds)g(a)f +Fw(Compare)g FF(mo)q(dule)37 338 y(that)f(exp)q(orts)f(the)h +Fw(less-than-4?)23 b FF(predicates,)18 b(whic)o(h)f(states)f(if)i(the)e +(distance)i(from)e(a)g(p)q(oin)o(t)i(to)e(the)37 394 +y(origin)g(is)g(less)g(than)f(4.)125 509 y Fv(\(define-module)k(A)168 +559 y(\(export)i(square\))168 609 y(\(define)g(square)f(\(lambda)g +(\(x\))i(\(*)f(x)h(x\)\)\)\))125 708 y(\(define-module)d(B)168 +758 y(\(import)i(A\))168 808 y(\(export)g(distance\))168 +908 y(\(define)g(distance)212 957 y(\(lambda)f(\(x)i(y\))f(\(sqrt)g +(\(+)g(\(square)f(x\))i(\(square)e(y\)\)\)\)\)\))125 +1057 y(\(define-module)f(Compare)168 1107 y(\(import)i(B\))168 +1157 y(\(define)g(less-than-4?)e(\(lambda)h(\(x)i(y\))f(\(<)g +(\(distance)f(x)i(y\))f(4\)\)\))168 1206 y(\(define)g(square)151 +b(\(lambda)20 b(\(x\))65 b(\(+)21 b(x)h(x\)\)\)\))37 +1369 y FF(Consider)16 b(no)o(w)f(the)g(call,)125 1469 +y Fv(\(with-module)k(compare)h(\(less-than-4?)f(3)j(4\)\))343 +1518 y Fu(=)-7 b Fp(\))21 b Fv(#f)37 1672 y FF(The)h(call)h(to)e +Fw(distance)f FF(done)i(from)e Fw(less-than-4?)38 b FF(indirectly)23 +b(calls)g(the)e Fw(square)g FF(pro)q(cedure)h(of)37 1729 +y(mo)q(dule)17 b Fw(A)e FF(rather)f(than)i(the)f(one)g(de\014ned)i(lo)q +(cally)g(in)f(mo)q(dule)g Fw(Compare)p FF(.)37 1865 y +FI(Mutually)i(Referen)n(tial)f(Mo)r(dules)37 1956 y FF(This)f(example)f +(uses)g(t)o(w)o(o)e(m)o(utually)i(referen)o(tial)h(mo)q(dules)f(tah)o +(t)f(imp)q(ort)h(and)f(exp)q(ort)h(to)f(eac)o(h)g(other)h(to)37 +2012 y(implemen)o(t)i(m)o(utually)f(recursiv)o(e)g(ev)o(en?)21 +b(and)15 b(o)q(dd?)21 b(pro)q(cedures)125 2127 y Fv(\(define-module)e +(Odd\))64 b(;;)21 b(Forward)g(declaration)125 2227 y(\(define-module)e +(Even)168 2276 y(\(import)i(Odd\))168 2326 y(\(export)g(even?\))168 +2376 y(\(define)g(even?)f(\(lambda)h(\(x\))g(\(if)g(\(zero?)g(x\))g(#t) +g(\(odd?)g(\(-)g(x)h(1\)\)\)\)\)\))125 2476 y(\(define-module)d(Odd)168 +2526 y(\(import)i(Even\))168 2575 y(\(export)g(odd?\))168 +2625 y(\(define)g(odd?)g(\(lambda)f(\(x\))h(\(if)g(\(zero?)g(x\))g(#f)h +(\(even?)e(\(-)h(x)h(1\)\)\)\)\)\))37 2787 y FF(Hereafter)15 +b(are)g(some)g(usages)g(of)g(theses)g(pro)q(cedures:)p eop +%%Page: 89 89 +89 88 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(89)p 37 64 1838 2 v 125 190 a Fv(\(with-module)19 b(Odd)i(\(odd?)g +(3\)\))343 240 y Fu(=)-7 b Fp(\))21 b Fv(#t)125 290 y(\(with-module)e +(Odd)i(\(odd?)g(10\)\))343 340 y Fu(=)-7 b Fp(\))21 b +Fv(#f)125 439 y(\(with-module)e(Even)i(\(even?)f(3\)\))343 +489 y Fu(=)-7 b Fp(\))21 b Fv(#f)125 539 y(\(with-module)e(Even)i +(\(even?)f(10\)\))343 589 y Fu(=)-7 b Fp(\))21 b Fv(#t)p +eop +%%Page: 90 90 +90 89 bop 37 45 a FE(90)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v eop +%%Page: 91 91 +91 90 bop 37 503 a FJ(App)s(endix)33 b(E)37 713 y FC(Changes)37 +955 y Fy(In)n(tro)r(duction)37 1060 y FF(This)11 b(app)q(endix)h(lists) +f(the)g(main)g(di\013erences)805 1043 y FA(1)836 1060 +y FF(among)e(the)i(v)m(arious)f(recen)o(t)h(v)o(ersions)f(of)g(STk.)18 +b(Di\013erences)37 1116 y(with)h(older)g(v)o(ersions)g(as)f(w)o(ell)i +(as)e(implemen)o(tation)i(c)o(hanges)e(are)g(describ)q(ed)j(in)e(the)g +(CHANGES)f(\014le)37 1173 y(lo)q(cated)e(in)g(the)g(main)f(directory)h +(of)e(the)i(STk)f(distribution.)37 1325 y Fy(Release)22 +b(3.99.0)37 1423 y Fn(R)n(ele)n(ase)15 b(date:)20 b(04/10/98)37 +1475 y Fu(Changes)15 b(can)f(b)q(e)g(classi\014ed)h(in)e(three)i +(categories:)108 1554 y Fp(\017)22 b Fu(Ab)q(out)14 b(Sc)o(heme)205 +1642 y Ff({)22 b Fu(A)14 b(mo)q(dule)f(system)g(has)h(b)q(een)h(added) +205 1712 y Ff({)22 b Fu(In)o(tegration)12 b(of)g(the)h(Biglo)q(o)e +Fv(match-case)f Fu(and)i Fv(match-lambda)e Fu(primitiv)o(es.)16 +b(F)m(urthermore,)c(the)h(\014le)251 1762 y Fn(biglo)n(o.stk)18 +b Fu(pro)o(vides)c(some)f(compatibilit)o(y)e(b)q(et)o(w)o(een)k +Fk(STk)f Fu(and)g(biglo)q(o)e(mo)q(dules.)205 1831 y +Ff({)22 b Fu(A)14 b(simple)e(F)m(oreign)i(F)m(unction)f(In)o(terface)i +(has)f(b)q(een)h(added.)205 1901 y Ff({)22 b Fu(in)o(tegrates)15 +b(the)f Fn(R)543 1886 y Fm(5)555 1901 y Fl(RS)j Fv(values)12 +b Fu(and)i Fv(call-with-values)205 1971 y Ff({)22 b Fu(m)o(ulti-line)11 +b(commen)o(ts)h(ha)o(v)o(e)i(b)q(een)h(added.)205 2040 +y Ff({)22 b Fu(new)14 b(\014le)g(primitiv)o(es:)j Fv(remove-file)p +Fu(,)11 b Fv(rename-file)g Fu(and)j Fv(temporary-file-na)o(me)p +Fu(.)205 2110 y Ff({)22 b Fu(new)14 b(list)g(primitiv)o(es:)i +Fv(append!)p Fu(,)c Fv(last-pair)p Fu(,)g Fv(remq)p Fu(,)g +Fv(remv)h Fu(and)h Fv(remove)p Fu(.)205 2180 y Ff({)22 +b Fv(load)p Fu(,)17 b Fv(try-load)f Fu(and)h Fv(autoload?)28 +b Fu(can)17 b(n)o(w)h(b)q(e)g(called)f(with)g(a)h(mo)q(dule)e(as)h +(second)i(parameter.)251 2230 y(If)d(this)h(second)h(parameter)e(is)g +(presen)o(t,)j(the)e(loading)e(is)i(done)f(in)h(the)g(en)o(vironmen)o +(t)e(of)h(the)h(giv)o(en)251 2279 y(mo)q(dule.)108 2367 +y Fp(\017)22 b Fu(Ab)q(out)14 b(Tk)205 2455 y Ff({)22 +b Fu(In)o(tegration)14 b(of)f(the)h(Tk8.0)f(to)q(olkit)205 +2524 y Ff({)22 b Fu(Buttons,)16 b(Chec)o(kbuttons)g(and)f(Radiobuttons) +f(can)h(use)g(a)g Fv(:variable)e Fu(and)i Fv(:textvariable)d +Fu(in)i(a)251 2574 y(giv)o(en)g(en)o(vironmen)o(t.)i(This)e(en)o +(vironmen)o(t)f(is)h(giv)o(en)f(with)h(the)g(new)h Fv(:environment)c +Fu(option.)108 2662 y Fp(\017)22 b Fu(Ab)q(out)14 b(STklos)p +37 2699 735 2 v 89 2726 a Ft(1)107 2742 y Fs(Only)k(the)f +(di\013erences)i(whic)o(h)g(a\013ect)e(the)h(language)h(or)e(new)g(p)q +(orts)h(are)f(rep)q(orted)h(here.)30 b(In)18 b(particular,)i(in)o +(ternal)37 2787 y(c)o(hanges,)14 b(pac)o(k)n(ages)g(written)g(in)g(Sc)o +(heme)f(or)g(p)q(erformance)h(enhancemen)o(t)h(are)e(not)g(discussed)i +(here.)934 2901 y FF(91)p eop +%%Page: 92 92 +92 91 bop 37 45 a FE(92)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 205 190 a Ff({)22 b Fu(The)f(MOP)g(of)f +Fk(STklos)h Fu(is)g(no)o(w)f(v)o(ery)g(similar)e(to)j(the)g(CLOS's)f +(MOP)m(.)g(In)h(particular)f(generic)251 240 y(function)d(has)g(b)q +(een)h(added)g(for)f(con)o(trolling)e(slot)i(accesses,)j(as)d(w)o(ell)g +(as)g(n)o(umerous)f(in)o(trosp)q(ection)251 290 y(functions.)205 +355 y Ff({)22 b Fu(When)15 b(a)g(class)g(is)g(rede\014ned,)i(the)e +(instances)h(and)f(metho)q(ds)g(whic)o(h)g(uses)h(it)e(are)i +(rede\014ned)g(accord-)251 405 y(ingly)m(,)10 b(as)h(in)g(CLOS)h +(\(i.e.)17 b(if)10 b(anew)i(slot)f(is)g(added)h(in)f(a)g(class,)h(all)e +(its)h({)g(direct)i(or)e(indirect)h({)f(instances)251 +455 y(will)i(ha)o(v)o(e)g(the)i(new)f(slot)g(added)g(dynamically)m(.)37 +592 y Fy(Release)22 b(3.1.1)37 682 y Fn(R)n(ele)n(ase)15 +b(date:)20 b(09/26/96)37 732 y Fu(This)13 b(release)h(is)f(a)g(bug)g +(correction)g(release.)19 b(It)13 b(corrects)i(a)e(lot)f(of)h(bugs.)k +(A)c(lot)g(of)f(these)i(bugs)f(prev)o(en)o(t)h(to)f(install)37 +782 y(it)h(on)g(some)f(arc)o(hitectures.)37 919 y Fy(Release)22 +b(3.1)37 1010 y Fn(R)n(ele)n(ase)15 b(date:)20 b(07/24/96)108 +1095 y Fp(\017)i Fu(V)m(ersion)14 b(of)f(Tk)h(is)g(no)o(w)f(at)h(Tk4.1) +f(lev)o(el.)108 1168 y Fp(\017)22 b Fu(STk)14 b(has)g(b)q(een)h(p)q +(orted)g(on)e(Windo)o(ws)g(95)h(and)g(Windo)o(ws)f(NT.)108 +1242 y Fp(\017)22 b Fu(P)o(orts)15 b(can)f(ha)o(v)o(e)f(a)h(handler)g +(whic)o(h)f(is)h(executed)i(when)e(p)q(ort)g(b)q(ecomes)g(readable)g +(or)g(writable)g(\(see)h(prim-)151 1292 y(itiv)o(es)f +Fv(when-port-readab)o(le)d Fu(and)j Fv(when-port-writa)o(ble)p +Fu(.)108 1365 y Fp(\017)22 b Fu(So)q(c)o(k)o(ets)15 b(in)e(serv)o(er)j +(mo)q(de)d(allo)o(w)f(m)o(ultiple)f(concurren)o(t)16 +b(connection.)108 1439 y Fp(\017)22 b Fk(STklos)p Fu(:)17 +b(Tw)o(o)10 b(new)h(metho)q(ds:)16 b Fv(object-eqv?)f +Fu(and)10 b Fv(object-equal?)15 b Fu(whic)o(h)10 b(are)h(called)f(when) +h(applying)151 1488 y Fv(eqv?)18 b Fu(or)c Fv(equal?)j +Fu(to)d(instances.)108 1562 y Fp(\017)22 b Fu(New)15 +b(primitiv)o(e:)p Fv(set)o(env!)37 1699 y Fy(Release)22 +b(3.0)37 1789 y Fn(R)n(ele)n(ase)15 b(date:)20 b(01/22/96)108 +1863 y Fp(\017)i Fu(V)m(ersion)14 b(of)f(Tk)h(is)g(at)g(Tk4.0p2)e(lev)o +(el.)108 1936 y Fp(\017)22 b Fu(Closures)d(are)g(fully)d(supp)q(orted)k +(b)o(y)e(Tk.)31 b(That)18 b(means)f(that)h(a)g(callbac)o(k)g(can)g(b)q +(e)h(no)o(w)f(a)f(Sc)o(heme)h(clo-)151 1986 y(sure)f(with)d(its)i(en)o +(vironmen)o(t.)21 b(GC)15 b(problems)f(with)h(closures)h(and)g(usage)f +(of)g(the)h(dirt)o(y)f Fv(address-of)f Fu(are)151 2036 +y(de\014nitiv)o(ely)f(gone.)108 2109 y Fp(\017)22 b Fu(Strings)14 +b(can)g(con)o(tain)g(n)o(ull)f(c)o(harters)i(\(prin)o(ting)e(of)h +(strings)g(is)g(more)e(friendly)i(in)f(write)h(mo)q(de\).)108 +2183 y Fp(\017)22 b Fu(Signals)13 b(can)h(b)q(e)h(redirected)h(to)d(Sc) +o(heme)h(closures.)19 b(The)c(end)f(of)f(a)h(GC)f(is)h(seen)h(as)f(a)g +(signal.)108 2256 y Fp(\017)22 b Fu(T)m(races)15 b(on)e(v)n(ariables)h +(are)g(c)o(hanged)g(\(and)g(re-w)o(ork)g(no)o(w\):)k(the)c(asso)q +(ciated)h(trace)g(m)o(ust)e(b)q(e)h(a)g(th)o(unk.)108 +2330 y Fp(\017)22 b Fu(New)15 b(options)e(for)h(some)f(widgets)h(to)f +(b)q(e)i(more)e(friendly)g(with)h(Sc)o(heme)f(w)o(orld)108 +2403 y Fp(\017)22 b Fk(STklos)p Fu(:)d(if)13 b(a)g(metho)q(d)g(M)h(is)f +(de\014ned)i(and)f(if)f(it)g(is)g(already)h(b)q(ound)g(to)f(a)h(pro)q +(cedure,)h(the)f(old)f(pro)q(cedure)151 2453 y(is)h(called)f(when)i(no) +f(metho)q(d)f(is)g(applicable.)238 2538 y Fv(\(define-method)19 +b(car)i(\(\(x)h(\)\))d(\(-)i(x)h(1\)\))238 2588 +y(\(car)f(10\))456 2638 y Fu(=)-7 b Fp(\))22 b Fv(9)238 +2688 y(\(car)f(\(cons)g('a)g('b\)\))456 2738 y Fu(=)-7 +b Fp(\))22 b Fv(a)p eop +%%Page: 93 93 +93 92 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(93)p 37 64 1838 2 v 108 190 a Fp(\017)22 b Fu(Small)10 +b(c)o(hange)i(in)g(the)h(STklos)e(hierarc)o(h)o(y)m(.)18 +b Fv()10 b Fu(is)i(no)o(w)g(a)g(sub)q(class)h(of)i +Fv()10 b Fu(and)i(its)g(meta)151 240 y(class)i(is)g +Fv()p Fu(.)p eop +%%Page: 94 94 +94 93 bop 37 45 a FE(94)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v eop +%%Page: 95 95 +95 94 bop 37 502 a FJ(App)s(endix)33 b(F)37 711 y FC(Miscellaneous)39 +b(Informations)37 952 y Fy(1)67 b(In)n(tro)r(duction)37 +1045 y Fu(This)17 b(app)q(endix)f(lists)g(a)g(n)o(um)o(b)q(er)g(of)f +(things)h(whic)o(h)h(cannot)f(go)g(elsewhere)i(in)e(this)g(do)q(cumen)o +(t.)25 b(The)16 b(only)g(link)37 1094 y(b)q(et)o(w)o(een)g(the)e(items) +f(listed)h(her)h(is)e(that)h(they)h(should)e(ease)i(y)o(our)f(life)f +(when)h(using)g Fk(STk)p Fu(.)37 1236 y Fy(2)67 b(Ab)r(out)23 +b Fx(STk)37 1336 y FI(2.1)56 b(Latest)18 b(release)37 +1414 y Fk(STk)j Fu(distribution)e(is)h(a)o(v)n(ailable)e(on)i(v)n +(arious)f(sites.)37 b(The)20 b(original)e(distribution)i(site)g(is)g +Fv(kaolin.unice.fr)37 1464 y(\(134.59.132.7\))p Fu(.)14 +b(Files)c(are)g(a)o(v)n(ailable)e(through)i(anon)o(ymous)e(ftp)i(and)g +(are)g(lo)q(cated)g(in)f(the)i Fv(/pub/STk)d Fu(directory)m(.)37 +1514 y(Distribution)17 b(\014le)g(names)g(ha)o(v)o(e)g(the)g(form)f +Fv(STk-x.y.z.tar.gz)p Fu(,)e(where)19 b Fv(x)e Fu(and)g +Fv(y)g Fu(represen)o(t)i(the)f(v)o(ersion)f(the)37 1564 +y(release)f(and)d(sub-release)j(n)o(um)o(b)q(ers)d(of)h(the)g(pac)o(k)n +(age.)37 1684 y FI(2.2)56 b(Sharing)19 b(Co)r(de)37 1762 +y Fu(If)14 b(y)o(ou)f(ha)o(v)o(e)g(written)i(co)q(de)f(that)g(y)o(ou)f +(w)o(an)o(t)g(to)h(share)g(with)g(the)g(\(small\))e Fk(STk)i +Fu(comm)o(uni)o(t)o(y)m(,)c(y)o(ou)j(can)h(dep)q(osit)g(it)37 +1811 y(in)g(the)h(directory)g Fv(/pub/STk/Incomi)o(ng)c +Fu(of)i Fv(kaolin.unice.fr)p Fu(.)j(Mail)d(me)g(a)g(small)f(note)j +(when)f(y)o(ou)g(dep)q(osit)g(a)37 1861 y(\014le)h(in)g(this)g +(directory)g(so)g(I)g(can)g(put)g(in)g(in)f(its)h(de\014nitiv)o(e)g +(place)g(\()p Fv(/pub/STk/Contrib)d Fu(directory)k(con)o(tains)e(the)37 +1911 y(con)o(tributed)h(co)q(de\).)37 2031 y FI(2.3)56 +b Fd(STk)19 b FI(Mailing)f(list)37 2109 y Fu(There)h(is)f(a)g(mailing)c +(list)k(for)f Fk(STk)h Fu(lo)q(cated)g(on)g Fv(kaolin.unice.fr)p +Fu(.)26 b(The)19 b(in)o(ten)o(t)f(of)f(this)h(mailing)c(list)j(is)h(to) +37 2159 y(p)q(ermit)11 b(to)h Fk(STk)g Fu(users)h(to)e(share)i(exp)q +(eriences,)h(exp)q(ose)f(problems,)d(submit)g(ideas)i(and)g(.)6 +b(.)h(.)f(ev)o(erything)12 b(whic)o(h)f(y)o(ou)37 2209 +y(\014nd)k(in)o(teresting)f(\(and)g(whic)o(h)g(is)f(related)i(to)f +Fk(STk)p Fu(\).)37 2259 y(T)m(o)j(subscrib)q(e)h(to)f(the)h(maili)o(ng) +c(list,)j(simply)e(send)j(a)e(message)h(with)f(the)i(w)o(ord)f +Fv(subscribe)e Fu(in)h(the)i Fv(Subject:)37 2309 y Fu(\014eld)c(of)g(y) +o(ou)f(mail.)j(Mail)c(m)o(ust)h(b)q(e)i(sen)o(t)f(to)g(the)h(follo)o +(wing)c(address:)19 b Fv(stk-request@kaolin)o(.unic)o(e.fr)37 +2360 y Fu(T)m(o)10 b(unsubscrib)q(e)i(from)d(the)i(mailing)c(list,)k +(send)g(a)f(mail)e(at)i(previous)h(email)d(address)k(with)e(the)h(w)o +(ord)f Fv(unsubscribe)37 2409 y Fu(in)k(the)g Fv(Subject:)j +Fu(\014eld.)37 2460 y(F)m(or)i(more)f(information)e(on)i(the)i(mailing) +c(list)i(managemen)o(t)e(send)k(a)f(message)f(with)h(the)g(w)o(ord)g +Fv(help)f Fu(in)g(the)37 2510 y Fv(Subject:)i Fu(\014eld)15 +b(of)f(y)o(our)h(mail.)k(In)c(particular,)g(it)f(is)h(p)q(ossible)h(to) +f(\014nd)g(all)f(the)h(messages)g(whic)o(h)g(ha)o(v)o(e)g(already)37 +2560 y(b)q(een)h(sen)o(t)e(on)g(the)g Fk(STk)h Fu(mailing)10 +b(list.)37 2610 y(Subscription/un-subscription/information)i(requests)j +(are)f(pro)q(cessed)i(automatically)10 b(without)j(h)o(uman)f(in)o +(ter-)37 2660 y(v)o(en)o(tion.)18 b(If)c(y)o(ou)f(something)g(go)q(es)h +(wrong,)f(send)i(a)e(mail)f(to)h Fv(eg@unice.fr)p Fu(.)37 +2710 y(Once)j(y)o(ou)d(ha)o(v)o(e)h(prop)q(erly)g(subscrib)q(e)i(to)d +(the)i(mailing)10 b(list,)108 2787 y Fp(\017)22 b Fu(y)o(ou)14 +b(can)g(send)g(y)o(our)g(messages)g(ab)q(out)g Fk(STk)g +Fu(to)g Fv(stk@kaolin.unice)o(.fr)p Fu(,)934 2901 y FF(95)p +eop +%%Page: 96 96 +96 95 bop 37 45 a FE(96)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 108 190 a Fp(\017)22 b Fu(y)o(ou)17 b(will)f(receiv)o(e) +j(all)e(the)h(messages)f(of)g(the)i(maili)o(ng)c(list)i(to)g(the)i +(email)c(address)k(y)o(ou)e(used)h(when)g(y)o(ou)151 +240 y(subscrib)q(ed)e(to)e(the)g(list.)37 356 y FI(2.4)56 +b Fd(STk)19 b FI(F)-6 b(A)n(Q)37 433 y Fu(Marc)17 b(F)m(urrer)h(has)e +(set)i(up)e(a)g(F)-5 b(A)o(Q)17 b(for)f Fk(STk)p Fu(.)26 +b(This)17 b(F)-5 b(A)o(Q)17 b(is)f(regularly)g(p)q(osted)i(on)e(the)h +Fk(STk)g Fu(maili)o(ng)d(list.)25 b(It)37 482 y(can)12 +b(also)f(b)q(e)h(accessed)i(through)e Fv(http://ltiwww.e)o(pfl.c)o(h/) +19 b(furrer/STk/FAQ.h)o(tml)p Fu(.)14 b(ASCI)q(I)e(v)o(ersion)f(of)g +(the)37 532 y(F)-5 b(A)o(Q)15 b(is)f(a)o(v)n(ailable)d(from)i +Fv(http://ltiwww.ep)o(fl.c)o(h/)19 b(furrer/STk/FAQ.tx)o(t)p +Fu(.)37 648 y FI(2.5)56 b(Rep)r(orting)17 b(a)i(bug)37 +725 y Fu(When)10 b(y)o(ou)f(\014nd)g(a)g(bug)g(in)g Fk(STk)p +Fu(,)h(please)g(send)g(its)f(description)h(to)f(the)h(follo)o(wing)d +(address)k Fv(stk-bugs@kaolin)o(.unic)o(e.fr)p Fu(.)37 +774 y(Don't)h(forget)h(to)g(indicate)g(the)g(v)o(ersion)g(y)o(ou)f(use) +i(and)e(the)i(arc)o(hitecture)g(the)g(system)e(is)h(compiled)e(on.)18 +b Fk(STk)13 b Fu(v)o(er-)37 824 y(sion)k(and)f(arc)o(hitecture)j(can)e +(b)q(e)g(found)g(b)o(y)f(using)h(the)g Fv(version)e Fu(and)i +Fv(machine-type)d Fu(Sc)o(heme)j(primitiv)o(es.)24 b(If)37 +874 y(p)q(ossible,)14 b(try)g(to)g(\014nd)g(a)g(small)d(program)i(whic) +o(h)g(exhibit)h(the)g(bug.)37 1011 y Fy(3)67 b Fx(STk)22 +b Fy(and)h(Emacs)37 1102 y Fu(The)13 b(Emacs)e(family)d(editors)k(can)g +(b)q(e)g(customized)g(to)f(ease)i(viewing)d(and)i(editing)f(programs)f +(of)h(a)h(particular)f(sort.)37 1152 y(Hin)o(ts)j(giv)o(en)g(b)q(elo)o +(w)f(enable)i(a)e(\014ne)i(\\in)o(tegration")d(of)h Fk(STk)i +Fu(in)e(Emacs.)37 1267 y FI(Automatic)18 b(sc)n(heme-m)o(o)r(de)d +(setting)37 1344 y Fu(Emacs)g(mo)q(de)e(can)i(b)q(e)g(c)o(hosen)h +(automatically)c(on)i(the)h(\014le's)g(name.)k(T)m(o)14 +b(edit)h(\014le)g(ended)g(b)o(y)g Fv(.stk)21 b Fu(or)14 +b Fv(.stklos)37 1394 y Fu(in)h(Sc)o(heme)g(mo)q(de,)f(y)o(ou)g(ha)o(v)o +(e)h(to)g(set)h(the)g(Elisp)f(v)n(ariable)f Fv(auto-mode-alist)e +Fu(to)i(con)o(trol)h(the)h(corresp)q(ondence)37 1444 +y(b)q(et)o(w)o(een)f(those)f(su\016xes)h(and)e(the)h(sc)o(heme)f(mo)q +(de.)k(The)d(simpler)e(w)o(a)o(y)h(to)g(set)i(this)e(v)n(ariable)f +(consists)j(to)e(add)g(the)37 1493 y(follo)o(wing)f(lines)i(in)f(y)o +(our)h(.)p Fv(emacs)e Fu(startup)j(\014le.)151 1579 y +Fv(;;)22 b(Add)f(the)g('.stk')f(and)i('.stklos')e(suffix)g(in)h(the)h +(auto-mode-alist)c(Emacs)151 1629 y(;;)k(variable.)d(Setting)i(this)g +(variable)f(permits)g(to)i(automagically)d(place)h(the)151 +1679 y(;;)i(buffer)e(in)h(scheme-mode.)151 1728 y(\(setq-default)e +(auto-mode-alist)g(\(append)h(auto-mode-alist)979 1778 +y(\("\\\\.stk$")85 b(.)22 b(scheme-mode\))979 1828 y(\("\\\\.stklos$")d +(.)j(scheme-mode\)\)\))37 1944 y FI(Using)d(Emacs)e(and)j +Fc(CMU)h(Scheme)37 2020 y Fn(CMU)c(Scheme)h Fu(pac)o(k)n(age)e(pac)o(k) +n(age)g(p)q(ermits)f(to)i(run)f(the)h Fk(STk)g Fu(in)o(terpreter)h(in)e +(an)g(Emacs)g(windo)o(w.)25 b(Once)17 b(the)37 2070 y(pac)o(k)n(age)h +(is)g(loaded,)g(y)o(ou)f(can)h(send)h(text)g(to)e(the)i(inferior)e +Fk(STk)h Fu(in)o(terpreter)i(from)c(other)j(bu\013ers)g(con)o(taining) +37 2120 y(Sc)o(heme)13 b(source.)19 b(The)14 b Fn(CMU)f(Scheme)h +Fu(pac)o(k)n(age)f(is)f(distributed)i(with)e(Emacs)h(\(b)q(oth)g +(FSF-Emacs)f(and)h(Xemacs\))37 2170 y(and)h(y)o(ou)g(should)f(ha)o(v)o +(e)h(it)g(if)f(y)o(ou)g(are)h(running)g(this)g(editor.)37 +2220 y(T)m(o)g(use)g(the)h Fn(CMU)f(Scheme)h Fu(pac)o(k)n(age)f(with)f +Fk(STk)p Fu(,)h(place)g(the)g(follo)o(wing)e(lines)i(in)f(y)o(our)h +Fv(.emacs)e Fu(startup)j(\014le.)151 2305 y Fv(;;)22 +b(Use)f(cmu-scheme)e(rather)i(than)g(xscheme)f(which)h(is)g(launched)g +(by)g(default)151 2355 y(;;)h(whence)e(running)g('run-scheme')g +(\(xscheme)g(is)h(wired)g(with)g(CScheme\))151 2405 y(\(autoload)f +('run-scheme)g("cmuscheme")f("Run)i(an)g(inferior)g(Scheme")f(t\))151 +2455 y(\(setq)h(scheme-program-na)o(me)e("stk"\))151 +2505 y(\(setq)i(inferior-scheme-m)o(ode-h)o(ook)e('\(lambda\(\))g +(\(split-window\)\)\))37 2590 y Fu(After)13 b(ha)o(ving)e(en)o(tered)i +(those)g(lines)f(in)f(y)o(our)h Fv(.emacs)e Fu(\014le,)i(y)o(ou)g(can)g +(simply)d(run)k(the)f Fk(STk)g Fu(in)o(terpreter)i(b)o(y)e(t)o(yping) +151 2664 y Fv(M-x)21 b(run-scheme)37 2738 y Fu(Read)e(the)g +Fn(CMU)g(Scheme)h Fu(do)q(cumen)o(tation)d(\(or)i(use)g(the)g(describ)q +(e-mo)q(de)h(Elisp)e(command\))e(for)i(a)h(complete)37 +2787 y(description)c(of)e(this)h(pac)o(k)n(age.)p eop +%%Page: 97 97 +97 96 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1262 +b(97)p 37 64 1838 2 v 37 190 a FI(Using)19 b(Emacs)e(and)j(the)e +Fc(Ilisp)h FI(pac)n(k)m(age)37 268 y Fn(Ilisp)c Fu(is)g(another)h(sc)o +(heme)f(pac)o(k)n(age)g(whic)o(h)g(allo)o(ws)f(to)h(run)g(the)h +Fk(STk)g Fu(in)o(terpreter)h(in)d(an)h(Emacs)g(windo)o(w.)21 +b(This)37 318 y(is)f(a)e(ric)o(h)i(pac)o(k)n(age)e(with)h(a)g(lot)g(of) +f(nice)i(features.)35 b Fn(Ilisp)18 b Fu(comes)h(pre-installed)g(with)g +(Xemacs;)i(it)e(has)g(to)g(b)q(e)37 368 y(installed)14 +b(with)g(FSF)g(Emacs)f(\(the)i(last)f(v)o(ersion)g(of)g +Fn(Ilisp)f Fu(can)h(b)q(e)h(ftp'ed)f(anon)o(ymously)e(from)g +Fv(ftp.cs.cmu.edu)37 418 y Fu(\(128.2.206.173\))f(in)i(the)i +Fv(/user/ai/lang/li)o(sp/ut)o(il/em)o(acs/)o(ilisp)10 +b Fu(directory\).)37 468 y(T)m(o)k(use)g(the)h Fn(Ilisp)e +Fu(pac)o(k)n(age)h(with)f Fk(STk)p Fu(,)h(place)g(the)h(follo)o(wing)c +(lines)j(in)f(y)o(our)h Fv(.emacs)e Fu(startup)j(\014le.)151 +557 y Fv(\(autoload)20 b('run-ilisp)303 b("ilisp")20 +b("Select)h(a)g(new)h(inferior)e(LISP.")g(t\))151 607 +y(\(autoload)g('stk)435 b("ilisp")20 b("Run)h(stk)h(in)f(ILISP.")f(t\)) +151 657 y(\(add-hook)g('ilisp-load-hook)369 707 y('\(lambda)g(\(\))434 +757 y(\(require)h('completer\))434 856 y(;;)h(Define)e(STk)i(dialect)e +(characteristics)434 906 y(\(defdialect)g(stk)h("STk)g(Scheme")478 +956 y(scheme)478 1006 y(\(setq)g(comint-prompt-re)o(gexp)d("^STk>)j +("\))478 1056 y(\(setq)g(ilisp-program)e("stk)i(-interactive"\))478 +1105 y(\(setq)g(comint-ptyp)e(t\))478 1155 y(\(setq)i(comint-always-sc) +o(roll)d(t\))478 1205 y(\(setq)j(ilisp-last-comma)o(nd)e("*"\)\)\)\))37 +1294 y Fu(After)13 b(ha)o(ving)e(en)o(tered)i(those)g(lines)f(in)f(y)o +(our)h Fv(.emacs)e Fu(\014le,)i(y)o(ou)g(can)g(simply)d(run)k(the)f +Fk(STk)g Fu(in)o(terpreter)i(b)o(y)e(t)o(yping)151 1371 +y Fv(M-x)21 b(stk)37 1447 y Fu(The)15 b(Ilisp)e(pac)o(k)n(age)h(comes)f +(with)h(a)f(ric)o(h)h(do)q(cumen)o(tation)f(whic)o(h)h(describ)q(e)h +(ho)o(w)f(to)g(customize)f(the)i(pac)o(k)n(age.)37 1567 +y FI(Other)k(pac)n(k)m(ages)37 1644 y Fu(Another)d(w)o(a)o(y)e(to)h +(use)h Fk(STk)f Fu(and)g(Emacs)f(consists)i(to)f(use)h(a)e(sp)q(ecial)h +(purp)q(ose)i Fk(STk)e Fu(mo)q(de.)20 b(Y)m(ou)14 b(can)h(\014nd)g(t)o +(w)o(o)37 1694 y(suc)o(h)g(mo)q(des)e(in)h(the)g Fv(/pub/Contrib)e +Fu(directory)i(of)g Fv(kaolin.unice.fr)o Fu(.)37 1813 +y FI(3.1)56 b(Using)19 b(the)f(SLIB)g(pac)n(k)m(age)h(with)f +Fd(STk)37 1891 y Fu(Aubrey)h(Ja\013er)g(main)o(tains)d(a)h(pac)o(k)n +(age)h(called)f Fn(SLIB)i Fu(whic)o(h)f(is)f(a)h(p)q(ortable)g(Sc)o +(heme)g(library)f(whic)o(h)h(pro)o(vides)37 1941 y(compatibilit)o(y)10 +b(and)i(utilit)o(y)f(functions)i(for)f(all)f(standard)i(Sc)o(heme)f +(implemen)o(tations.)j(T)m(o)d(use)h(this)f(pac)o(k)n(age,)g(y)o(ou)37 +1991 y(ha)o(v)o(e)i(just)g(to)g(t)o(yp)q(e)151 2067 y +Fv(\(require)20 b("slib"\))37 2144 y Fu(and)c(follo)o(w)d(the)j +(instructions)g(giv)o(en)f(in)g(the)h Fn(SLIB)f Fu(library)g(to)g(use)h +(a)f(particular)h(pac)o(k)n(age.)22 b Fn(Note:)42 b(SLIB)16 +b Fu(uses)37 2193 y(also)g(the)g Fn(r)n(e)n(quir)n(e/pr)n(ovide)f +Fu(mec)o(hanism)f(to)h(load)g(comp)q(onen)o(ts)h(of)f(the)i(library)m +(.)22 b(Once)17 b Fn(SLIB)g Fu(has)f(b)q(een)h(loaded,)37 +2243 y(the)f(standard)g Fk(STk)f Fv(require)f Fu(and)h +Fv(provide)f Fu(are)h(o)o(v)o(erloaded)g(suc)o(h)h(as)f(if)f(their)i +(parameter)f(is)g(a)g(string)g(this)g(is)37 2293 y(the)f(old)f +Fk(STk)g Fu(pro)q(cedure)i(whic)o(h)e(is)g(called,)g(and)g(if)f(their)i +(parameter)e(is)h(a)g(sym)o(b)q(ol,)e(this)i(is)g(the)h +Fn(SLIB)g Fu(one)f(whic)o(h)37 2343 y(is)h(called.)37 +2483 y Fy(4)67 b(Getting)23 b(information)h(ab)r(out)e(Sc)n(heme)37 +2583 y FI(4.1)56 b(The)19 b Fc(R)323 2565 y FA(4)334 +2583 y Fb(RS)j FI(do)r(cumen)n(t)37 2661 y Fn(R)67 2646 +y Fm(4)79 2661 y Fl(RS)d Fu(is)e(the)g(do)q(cumen)o(t)f(whic)o(h)g +(fully)f(describ)q(e)j(the)f(Sc)o(heme)f(Programming)d(Language,)j(it)g +(can)h(b)q(e)f(found)g(in)37 2711 y(the)f(Sc)o(heme)f(rep)q(ository)g +(\(see)h Ff(??)p Fu(\))f(in)f(the)h(directory:)151 2787 +y Fv(ftp.cs.indiana.edu)o(:/pub)o(/sche)o(me-re)o(posi)o(tory/)o(doc)p +eop +%%Page: 98 98 +98 97 bop 37 45 a FE(98)1262 b FB(STk)17 b FE(Reference)g(Man)o(ual)p +37 64 1838 2 v 37 190 a Fu(Aubrey)e(Ja\013er)f(has)g(also)f(translated) +h(this)g(do)q(cumen)o(t)f(in)g(HTML.)g(A)h(v)o(ersion)g(of)f(this)g(do) +q(cumen)o(t)g(is)h(a)o(v)n(ailable)d(at)151 265 y Fv +(file://swiss-ftp.a)o(i.mit)o(.edu/)o(pub/s)o(cm/H)o(TML/r)o(4rs)p +1137 265 14 2 v 13 w(toc.html)37 381 y FI(4.2)56 b(The)19 +b(Sc)n(heme)e(Rep)r(ository)37 458 y Fu(The)f(main)d(site)j(where)g(y)o +(ou)f(can)g(\014nd)h(\(man)o(y\))d(informations)g(ab)q(out)i(Sc)o(heme) +g(is)g(lo)q(cated)h(in)f(the)g(Univ)o(ersit)o(y)h(of)37 +508 y(Indiana.)h(The)d(Sc)o(heme)e(rep)q(ository)i(is)f(main)o(tained)d +(b)o(y)j(Da)o(vid)e(Eb)o(y)m(.)18 b(The)13 b(rep)q(ository)g(curren)o +(tly)h(consists)g(of)e(the)37 558 y(follo)o(wing)g(areas:)108 +632 y Fp(\017)22 b Fu(Lots)14 b(of)f(sc)o(heme)i(co)q(de)f(mean)o(t)f +(for)g(b)q(enc)o(hmarking,)g(library/supp)q(ort,)g(researc)o(h,)i +(education,)f(and)g(fun.)108 707 y Fp(\017)22 b Fu(On-line)9 +b(do)q(cumen)o(ts:)16 b(Mac)o(hine)9 b(readable)h(standards)g(do)q +(cumen)o(ts,)f(standards)h(prop)q(osals,)g(v)n(arious)f(Sc)o(heme-)151 +757 y(related)15 b(tec)o(h)f(rep)q(orts,)h(conference)h(pap)q(ers,)f +(mail)c(arc)o(hiv)o(es,)j(etc.)108 832 y Fp(\017)22 b +Fu(Most)14 b(of)g(the)g(publicly)f(distributable)h(Sc)o(heme)g +(Implemen)o(tatio)o(ns.)108 906 y Fp(\017)22 b Fu(Material)13 +b(designed)i(primarily)c(for)j(instruction.)108 981 y +Fp(\017)22 b Fu(F)m(reely-distributable)14 b(promotional)d(or)j +(demonstration)f(material)f(for)h(Sc)o(heme-related)h(pro)q(ducts.)108 +1056 y Fp(\017)22 b Fu(Utilities)13 b(\(e.g.,)g(Sc)o(hemew)o(eb,)h +(SLaT)m(eX\).)108 1130 y Fp(\017)22 b Fu(Extraneous)15 +b(stu\013,)f(extensions,)h(etc.)37 1205 y(Y)m(ou)f(can)g(access)i(the)e +(Sc)o(heme)g(rep)q(ository)g(with)108 1280 y Fp(\017)22 +b Fv(ftp.cs.indiana.edu)o(:/pub)o(/sche)o(me-re)o(posi)o(tory)108 +1355 y Fp(\017)g Fv(http://www.cs.indi)o(ana.e)o(du/sc)o(heme-)o(repo)o +(sitor)o(y/SRh)o(ome.h)o(tml)37 1429 y Fu(The)15 b(Sc)o(heme)f(Rep)q +(ository)f(is)h(mirrored)f(in)h(Europ)q(e:)108 1504 y +Fp(\017)22 b Fv(ftp.inria.fr:/lang)o(/Sche)o(me)108 1579 +y Fp(\017)g Fv(faui80.informatik.)o(uni-e)o(rlang)o(en.de)o(:/pu)o +(b/sch)o(eme/y)o(orku)108 1653 y Fp(\017)g Fv(ftp.informatik.uni)o +(-muen)o(chen.)o(de:/p)o(ub/c)o(omp/p)o(rogra)o(mming)o(/lang)o(uages)o +(/sch)o(eme/s)o(cheme)o(-repo)o(sitor)o(y)37 1770 y FI(4.3)56 +b(Usenet)18 b(newsgroup)h(and)g(other)f(addresses)37 +1846 y Fu(There)e(is)d(a)h(usenet)h(newsgroup)g(ab)q(out)f(the)g(Sc)o +(heme)g(Programming)c(language:)17 b Fv(comp.lang.scheme)p +Fu(.)37 1896 y(F)m(ollo)o(wing)12 b(addresses)k(con)o(tains)e(also)f +(material)f(ab)q(out)h(the)i(Sc)o(heme)f(language)108 +1983 y Fp(\017)22 b Fv(http://www.cs.cmu.)o(edu:8)o(001/W)o(eb/Gr)o +(oups)o(/AI/h)o(tml/f)o(aqs/l)o(ang/s)o(cheme)o(/top)o(.html)6 +b Fu(con)o(tains)j(the)151 2033 y(Sc)o(heme)14 b(F)-5 +b(A)o(Q.)108 2108 y Fp(\017)22 b Fv(http://www-swiss.a)o(i.mit)o(.edu/) +o(schem)o(e-ho)o(me.ht)o(ml)11 b Fu(is)j(the)g(Sc)o(heme)g(Home)f(page) +g(at)h(MIT)108 2183 y Fp(\017)22 b Fv(http://www.ai.mit.)o(edu/p)o +(rojec)o(ts/su)o(/su.)o(html)10 b Fu(is)k(the)h(Sc)o(heme)e +(Underground)i(w)o(eb)f(page)p eop +%%Page: 99 99 +99 98 bop 37 523 a FC(Bibliograph)m(y)58 747 y Fu([1])22 +b(William)14 b(Clinger)j(and)g(Jonathan)h(Rees)g(\(editors\).)30 +b Fl(Rev)q(ised)1150 732 y Fm(4)1188 747 y Fu(Rep)q(ort)18 +b(on)f(the)h(Algorithmic)d(Language)125 796 y(Sc)o(heme.)j +Fn(A)o(CM)c(Lisp)h(Pointers)p Fu(,)e(4\(3\),)g(1991.)58 +871 y([2])22 b(John)11 b(K.)h(Ousterhout.)j(An)d(X11)f(to)q(olkit)f +(based)i(on)g(the)g(Tcl)f(Language.)j(In)d Fn(USENIX)i(Winter)g(Confer) +n(enc)n(e)p Fu(,)125 921 y(pages)h(105{115,)e(Jan)o(uary)i(1991.)58 +996 y([3])22 b(John)15 b(K.)g(Ousterhout.)23 b(Tcl:)e(an)15 +b(em)o(b)q(eddable)f(command)f(language.)20 b(In)c Fn(USENIX)g(Winter)g +(Confer)n(enc)n(e)p Fu(,)125 1045 y(pages)e(183{192,)e(Jan)o(uary)i +(1990.)58 1120 y([4])22 b(Eric)o(k)13 b(Gallesio.)h(Extending)f(the)h +Fk(STk)f Fu(in)o(terpreter.)18 b(T)m(ec)o(hnical)13 b(rep)q(ort,)g(I3S) +g(CNRS)f(/)h(Univ)o(ersit)o(\023)-20 b(e)13 b(de)g(Nice)125 +1170 y(-)g(Sophia)h(An)o(tip)q(olis,)e(1997.)58 1245 +y([5])22 b(Sho-Huan)17 b(Simon)f(T)m(ung)h(and)g(R.)g(Ken)o(t)i(Dyb)o +(vig.)28 b(Reliable)16 b(in)o(teractiv)o(e)i(programming)c(with)j(mo)q +(dules.)125 1295 y Fn(LISP)e(and)h(Symb)n(olic)f(Computation)p +Fu(,)f(9:343{358,)c(1996.)58 1369 y([6])22 b(Guy)16 b(L.)h(Steele)h +(Jr.)27 b Fn(Common)18 b(Lisp:)25 b(the)17 b(L)n(anguage,)j(2nd)e +(Edition)p Fu(.)28 b(Digital)14 b(Press,)19 b(12)e(Crosb)o(y)g(Driv)o +(e,)125 1419 y(Bedford,)d(MA)g(01730,)e(USA,)i(1990.)58 +1494 y([7])22 b(POSIX)d(Committee.)31 b Fn(System)20 +b(Applic)n(ation)g(Pr)n(o)n(gr)n(am)e(Interfac)n(e)i(\(API\))f([C)g(L)n +(anguage])p Fu(.)34 b(Information)125 1544 y(tec)o(hnology|P)o(ortable) +12 b(Op)q(erating)h(System)f(In)o(terface)h(\(POSIX\).)g(IEEE)g +(Computer)f(So)q(ciet)o(y)h(Press,)h(1109)125 1593 y(Spring)f(Street,)i +(Suite)f(300,)f(Silv)o(er)g(Spring,)g(MD)h(20910,)e(USA,)i(1990.)58 +1668 y([8])22 b(Man)o(uel)13 b(Serrano.)19 b Fn(Biglo)n(o)c(User's)f +(Manual,)h(v1.9b)p Fu(,)f(June)h(1997.)58 1743 y([9])22 +b(C.)15 b(Queinnec)i(and)e(J-M.)h(Ge\013ro)o(y)m(.)22 +b(P)o(artial)15 b(Ev)n(aluation)f(Applied)i(to)f(Sym)o(b)q(olic)f(P)o +(attern)i(Matc)o(hing)f(with)125 1793 y(In)o(telligen)o(t)e(Bac)o +(ktrac)o(k.)19 b(In)13 b Fn(et)i(al)f Fu(M.)f(Billaud,)f(editor,)i +Fn(Workshop)i(in)f(Static)g(A)o(nalysis)p Fu(,)e(n)o(um)o(b)q(er)g +(81{82)f(in)125 1842 y(Bigre,)i(Bordeaux)g(\(F)m(rance\),)g(Septem)o(b) +q(er)h(1992.)37 1917 y([10])22 b(A.)10 b(W)m(righ)o(t)f(and)i(B.Duba.)h +(P)o(attern)f(Matc)o(hing)f(for)g(Sc)o(heme.)j(T)m(ec)o(hnical)d(rep)q +(ort,)i(Departmen)o(t)e(of)g(Computer)125 1967 y(Science,)15 +b(Rice)e(Univ)o(ersit)o(y)m(,)g(Octob)q(er)j(1993.)37 +2042 y([11])22 b(John)14 b(K.)g(Ousterhout.)19 b Fn(Tcl)14 +b(and)i(the)f(Tk)g(to)n(olkit)p Fu(.)i(Addison-W)m(esley)m(,)12 +b(1994.)37 2116 y([12])22 b(Gregor)d(Kic)o(kzales.)36 +b(Tin)o(y-clos.)e(Source)20 b(a)o(v)n(ailable)d(on)j(parcftp.xero)o +(x.com)e(in)h(directory)h(/pub/mops)n(,)125 2166 y(Decem)o(b)q(er)14 +b(1992.)37 2241 y([13])22 b(Apple)14 b(Computer.)j Fn(Dylan:)j(an)15 +b(Obje)n(ct)f(Oriente)n(d)h(Dynamic)g(L)n(anguage)p Fu(.)20 +b(Apple,)13 b(April)g(1992.)37 2316 y([14])22 b(Chris)13 +b(Hanson.)18 b(The)13 b(sos)h(reference)i(man)o(ual,)11 +b(v)o(ersion)i(1.5.)j Fn(in-line)e(do)n(cumentation)i(of)e(the)g(SOS)h +(p)n(ackage.)125 2366 y(Sour)n(c)n(e)g(available)g(on)g +(martigny.ai.mit.e)n(du)f(in)h(/ar)n(chive/cph)g(dir)n(e)n(ctory)p +Fu(,)e(Marc)o(h)h(1993.)37 2440 y([15])22 b(Jim)12 b(de)h(Rivi)o(\022) +-20 b(eres)14 b(Gregor)f(Kic)o(kzales)h(and)f(Daniel)f(G.)h(Bobro)o(w.) +k Fn(The)d(A)o(rt)g(of)g(Meta)h(Obje)n(ct)e(Pr)n(oto)n(c)n(ol)p +Fu(.)k(MIT)125 2490 y(Press,)e(1991.)934 2901 y FF(99)p +eop +%%Page: 100 100 +100 99 bop 37 424 a FC(Index)37 636 y Fv(!)t Fu(.)6 b(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)18 b(38)37 686 y Fv(*)t Fu(.)6 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)18 +b(15)37 736 y Fv(*argc*)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)18 b(71)37 787 y Fv(*argv*)t +Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)18 b(71)37 837 y Fv(*debug*)9 b Fu(.)c(.)h(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)22 b(36;)13 b(61,)g(71)37 888 y Fv(*gc-verbose*)d +Fu(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)26 b(71)37 +938 y Fv(*help-path*)5 b Fu(.)t(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)19 b(72)37 988 y Fv(*image-path*)10 b Fu(.)c(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)26 b(72)37 1039 y Fv(*load-path*)5 b Fu(.)t(.)h(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b(71)37 1089 y Fv(*load-suffixes*)7 +b Fu(.)s(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b(71)37 1139 y Fv(*load-verbose*)8 +b Fu(.)t(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)22 b(71)37 1190 y +Fv(*print-banner*)8 b Fu(.)t(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)22 +b(72)37 1240 y Fv(*program-name*)8 b Fu(.)t(.)f(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +22 b(72)37 1291 y Fv(*root*)7 b Fu(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)f(.)21 b(68;)13 b(72)37 1341 y Fv(*start-withdrawn*)s +Fu(.)s(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)17 b(72)37 1391 y Fv(*stk-library*)8 +b Fu(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)24 b(72)37 1442 +y Fv(*tk-patch-level*)5 b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 +b(72)37 1492 y Fv(*tk-version*)10 b Fu(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)26 b(72)37 1542 y Fv(+)t Fu(.)6 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)18 +b(15)37 1593 y Fv(-)t Fu(.)6 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)18 +b(15)37 1643 y Fv(/)t Fu(.)6 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)18 +b(15)37 1694 y Fv(:accessor)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)22 b(78)37 1744 y Fv(:allocation)5 +b Fu(.)t(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)19 +b(78)37 1794 y Fv(:class)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)18 b(78)37 1845 y Fv(:getter)11 +b Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +26 b(78)37 1895 y Fv(:init-keyword)8 b Fu(.)e(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)24 b(78)37 1945 y Fv(:initform)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)22 b(78)37 1996 y Fv(:instance)8 +b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)22 +b(78)37 2046 y Fv(:setter)11 b Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)26 b(78)37 2097 y Fv(:slot-ref)10 +b Fu(.)c(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)25 b(78;)13 +b(79)37 2147 y Fv(:slot-set!)c Fu(.)c(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +23 b(78;)13 b(79)37 2197 y Fv(:virtual)d Fu(.)5 b(.)h(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)24 b(78)37 2248 y +Fv(<)t Fu(.)6 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)18 b(15)37 2298 y +Fv(<=)11 b Fu(.)c(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)25 b(15)37 2348 y Fv()10 +b Fu(.)5 b(.)h(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)24 +b(76)37 2399 y Fv()9 b Fu(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)23 b(76;)13 b(83)37 2449 y Fv(=)t +Fu(.)6 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)18 b(15)37 2500 y Fv(>)t +Fu(.)6 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)18 b(15)37 2550 y Fv(>=)11 +b Fu(.)c(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)25 b(15)37 2687 y Fa(A)37 2737 +y Fv(abs)10 b Fu(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b(15)37 2787 y(accessor)6 +b(.)i(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +20 b(78)1029 636 y Fv(acos)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(16)1029 +686 y Fv(add-signal-handle)o(r!)9 b Fu(.)s(.)d(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)22 b(40)1029 +735 y Fv(address-of)6 b Fu(.)t(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)20 b(39)1029 785 y Fv(address?)10 b Fu(.)t(.)d(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)23 b(39)1029 835 +y Fv(and)10 b Fu(.)c(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)25 b(9)1029 885 y +Fv(angle)9 b Fu(.)c(.)h(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)24 b(16;)12 b(74)1029 935 y Fv(append)t Fu(.)5 b(.)h(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)18 +b(12)1029 984 y Fv(append!)10 b Fu(.)c(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)25 b(12)1029 1034 y Fv(apply)6 +b Fu(.)f(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)20 b(20)1029 1084 y Fv(apropos)10 b Fu(.)c(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)25 b(61)1029 +1134 y Fv(asin)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(16)1029 1184 y Fv(assoc)6 +b Fu(.)f(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)20 b(12)1029 1234 y Fv(assq)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 +b(12)1029 1283 y Fv(assv)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(12)1029 +1333 y Fv(atan)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(16)1029 1383 y Fv(autoload)10 +b Fu(.)t(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)23 +b(26)1029 1433 y Fv(autoload?)8 b Fu(.)t(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)22 b(26)1029 1556 y Fa(B)1029 +1606 y Fv(basename)10 b Fu(.)t(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)23 b(37)1029 1655 y Fv(begin)6 b Fu(.)f(.)h(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)20 +b(10)1029 1705 y Fv(bind)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(69)1029 +1755 y Fv(bindtags)10 b Fu(.)t(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)23 b(69)1029 1805 y Fv(boolean?)10 b +Fu(.)t(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)23 +b(11)1029 1855 y Fv(break)9 b Fu(.)c(.)h(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)24 b(39;)12 b(69)1029 1905 y Fv(button)t +Fu(.)5 b(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)18 b(29)1029 1954 y Fv(bye)10 b Fu(.)5 b(.)h(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)23 +b(64)1029 2090 y Fa(C)1029 2140 y Fv(c)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)18 b(40)1029 2190 y Fv(c-string->string)t Fu(.)t(.)6 +b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)18 b(57)1029 2239 y Fv(caar)8 b Fu(.)d(.)h(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 +b(12)1029 2289 y Fv(cadr)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(12)1029 +2339 y Fv(call-with-current)o(-cont)o(inuat)o(ion)7 b +Fu(.)t(.)f(.)g(.)g(.)h(.)f(.)21 b(20)1029 2389 y Fv(call-with-input-f)o +(ile)7 b Fu(.)s(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)21 b(21)1029 2439 y Fv(call-with-input-s)o(tring)r +Fu(.)t(.)6 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +17 b(21)1029 2488 y Fv(call-with-output-)o(file)5 b Fu(.)s(.)h(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 +b(21)1029 2538 y Fv(call-with-output-)o(strin)o(g)8 b +Fu(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)24 +b(22)1029 2588 y Fv(call-with-values)t Fu(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)18 +b(91)1029 2638 y Fv(call/cc)6 b Fu(.)t(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)20 b(20;)12 b(21)1029 2688 y Fv(canonical-path)c +Fu(.)t(.)e(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)22 b(37)1029 2738 +y Fv(car)10 b Fu(.)5 b(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)23 b(12)1029 2787 y Fv(case)9 +b Fu(.)c(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)23 b(9)922 2901 y FF(100)p eop +%%Page: 101 101 +101 100 bop 37 45 a FB(STk)17 b FE(Reference)h(Man)o(ual)1236 +b(101)p 37 64 1838 2 v 37 190 a Fv(catch)6 b Fu(.)g(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)20 +b(21)37 240 y Fv(cdddar)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)18 b(12)37 291 y Fv(cddddr)t +Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)18 b(12)37 341 y Fv(cdr)10 b Fu(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)24 +b(12)37 391 y Fv(ceiling)11 b Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)26 b(16)37 441 y Fv(char->integer)8 +b Fu(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)24 b(17)37 491 +y Fv(char-alphabetic?)5 b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 +b(17)37 541 y Fv(char-ci<=?)6 b Fu(.)f(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)20 b(17)37 591 y Fv(char-ci=?)6 b Fu(.)f(.)h(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)20 b(17)37 741 y Fv(char-ci>?)8 +b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)22 +b(17)37 791 y Fv(char-downcase)8 b Fu(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)24 b(18)37 841 y Fv(char-lower-case?)5 b Fu(.)s(.)i(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +19 b(17)37 891 y Fv(char-numeric?)8 b Fu(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)24 b(17)37 941 y Fv(char-ready?)5 b Fu(.)t(.)h(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)19 b(24)37 991 y Fv(char-upcase)5 +b Fu(.)t(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)19 +b(17)37 1042 y Fv(char-upper-case?)5 b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 +b(17)37 1092 y Fv(char-whitespace?)5 b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 +b(17)37 1142 y Fv(char<=?)11 b Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)26 b(17)37 1192 y Fv(char=?)11 b Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)26 b(17)37 1342 y Fv(char>?)t Fu(.)6 +b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +18 b(17)37 1392 y Fv(char?)6 b Fu(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)20 b(17)37 1442 +y(c)o(haracters)5 b(.)k(.)d(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)19 b(17)37 1492 y Fv(chdir)6 b Fu(.)g(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)20 b(38)37 +1542 y(class)10 b(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b(75)37 1592 y Fv(class-precedence-lis)o +(t)5 b Fu(.)t(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)19 b(82)37 1642 y Fv(class-slots)5 b Fu(.)t(.)h(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b(76)37 1692 y Fv(close-input-port)5 +b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 b(24)37 1742 y Fv(close-output-port)s +Fu(.)s(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)17 b(24)37 1792 y Fv(close-port)6 +b Fu(.)f(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)20 +b(27)37 1843 y Fv(closure?)10 b Fu(.)5 b(.)h(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)24 b(20)37 1893 y(cm)o(u)13 +b(sc)o(heme)7 b(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)21 +b(96)37 1943 y Fv(complex?)10 b Fu(.)5 b(.)h(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)24 b(15)37 1993 y Fv(cond)9 +b Fu(.)d(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)23 b(9)37 2043 y Fv(cons)8 b Fu(.)e(.)g(.)g(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)22 +b(12)37 2093 y(con)o(tin)o(uation)5 b(.)h(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)19 b(20;)13 b(59)37 2143 y Fv(continuation?)8 b Fu(.)e(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)24 b(20)37 2193 y Fv(copy-tree)8 +b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)22 +b(13)37 2243 y Fv(cos)10 b Fu(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b(16)37 +2293 y Fv(current-error-port)7 b Fu(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)24 b(22)37 +2343 y Fv(current-input-port)7 b Fu(.)t(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)21 b(22;)13 b(23,)g(24)37 2393 y Fv(current-module)8 +b Fu(.)t(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)22 b(32)37 2443 y +Fv(current-output-port)5 b Fu(.)t(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)20 b(22;)13 b(23,)g(25)37 2587 y Fa(D)37 2637 +y Fv(decompose-file-name)8 b Fu(.)t(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)23 b(37)37 2687 +y Fv(default)e(slot)g(value)9 b Fu(.)d(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)24 b(78)37 +2737 y Fv(define-class)6 b Fu(.)t(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)20 +b(75;)13 b(76)37 2787 y Fv(define-external)d Fu(.)s(.)d(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)24 +b(55;)13 b(54)1029 190 y Fv(define-generic)8 b Fu(.)t(.)e(.)g(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)22 b(82)1029 241 y Fv(define-macro)9 b Fu(.)e(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)26 b(36)1029 291 y Fv(define-method)7 +b Fu(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)24 b(82)1029 +341 y Fv(define-module)7 b Fu(.)t(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b(30;)13 b(32,)f(33)1029 +392 y Fv(delay)d Fu(.)c(.)h(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)24 b(10;)12 b(20)1029 442 y Fv(denominator)c +Fu(.)t(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)22 b(16;)12 b(73)1029 +492 y Fv(describe)e Fu(.)t(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)23 b(77)1029 543 y Fv(detail)t Fu(.)5 b(.)h(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)18 b(63)1029 +593 y Fv(dirname)10 b Fu(.)c(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)h(.)f(.)25 b(37)1029 643 y Fv(display)10 b +Fu(.)c(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)25 +b(24)1029 693 y Fv(do)11 b Fu(.)6 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)25 b(10)1029 +744 y Fv(dotimes)10 b Fu(.)c(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)h(.)f(.)25 b(10)1029 794 y Fv(dump)8 b Fu(.)d(.)h(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 +b(59)1029 844 y Fv(dynamic-wind)9 b Fu(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)26 b(20)1029 992 y Fa(E)1029 1042 y Fu(emacs)13 +b(editor)e(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)24 +b(96)1029 1093 y Fv(environment->list)r Fu(.)t(.)6 b(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)17 +b(34)1029 1143 y Fv(environment?)9 b Fu(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)26 b(34)1029 1193 y Fv(eq)11 b Fu(.)6 b(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)25 +b(13)1029 1244 y Fv(eq?)7 b Fu(.)e(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)21 b(11;)13 b(41,)f(42)1029 1294 y Fv(equal)6 +b Fu(.)f(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)20 b(13)1029 1344 y Fv(equal?)t Fu(.)5 b(.)h(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)18 b(11)1029 +1395 y Fv(eqv)10 b Fu(.)5 b(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)23 b(13)1029 1445 +y Fv(eqv?)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(11)1029 1495 y Fv(error)6 +b Fu(.)f(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)20 b(59)1029 1545 y Fv(eval)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 +b(58)1029 1596 y Fv(eval-string)5 b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)18 b(58)1029 1646 y Fv(even?)6 b Fu(.)f(.)h(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)20 +b(15)1029 1696 y Fv(exact->inexact)8 b Fu(.)t(.)e(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)22 b(16)1029 1747 y Fv(exact?)t Fu(.)5 b(.)h(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)18 b(15)1029 +1797 y Fv(exec)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(39)1029 1847 y Fv(exit)8 +b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)21 b(63)1029 1898 y Fv(exp)10 b Fu(.)5 +b(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)23 b(16)1029 1948 y Fv(expand-file-name)t +Fu(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)18 b(36)1029 1998 y Fv(expand-heap)5 +b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)18 +b(60)1029 2048 y Fv(export)t Fu(.)5 b(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)18 b(31)1029 2099 +y Fv(export-all-symbol)o(s)8 b Fu(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)24 b(32)1029 +2149 y Fv(export-symbol)7 b Fu(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)24 +b(32)1029 2199 y Fv(expt)8 b Fu(.)d(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)21 b(16)1029 +2250 y Fv(external-exists?)t Fu(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)18 +b(57)1029 2385 y Fa(F)1029 2435 y Fu(faq)5 b(.)h(.)g(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)19 +b(96)1029 2486 y Fv(file-exists?)9 b Fu(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)26 b(37)1029 2536 y Fv(file-is-directory)o(?)8 +b Fu(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)24 b(37)1029 2586 y Fv(file-is-executabl)o(e?)9 +b Fu(.)s(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)22 b(37)1029 2636 y Fv(file-is-readable?)r +Fu(.)t(.)6 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)17 b(37)1029 2687 y Fv(file-is-regular?)t +Fu(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)18 b(37)1029 2737 y Fv(file-is-writable?)r +Fu(.)t(.)6 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)17 b(37)1029 2787 y Fv(find-module)5 +b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)18 +b(31)p eop +%%Page: 102 102 +102 101 bop 37 45 a FE(102)1236 b FB(STk)17 b FE(Reference)g(Man)o(ual) +p 37 64 1838 2 v 37 190 a Fv(floor)6 b Fu(.)g(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)20 b(16)37 +240 y Fv(fluid-let)s Fu(.)5 b(.)h(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)17 b(9;)c(10)37 290 y Fv(flush)6 b Fu(.)g(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)20 b(25)37 +340 y Fv(for-each)10 b Fu(.)5 b(.)h(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)24 b(20)37 390 y Fv(force)6 b Fu(.)g(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)20 +b(20)37 439 y Fv(format)7 b Fu(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)21 b(24;)13 b(59)37 574 y Fa(G)37 624 +y Fu(garbage)h(collector)7 b(.)g(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)21 +b(56)37 673 y Fv(gc)11 b Fu(.)c(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)25 b(59)37 +723 y Fv(gc-stats)10 b Fu(.)5 b(.)h(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)24 b(60)37 773 y Fv(gcd)10 b Fu(.)c(.)g(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)24 +b(16)37 823 y Fv(gensym)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)18 b(14)37 873 y Fv(get-internal-info)s +Fu(.)s(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)17 b(60)37 922 y Fv(get-keyword)5 +b Fu(.)t(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)19 +b(28)37 972 y Fv(get-output-string)6 b Fu(.)s(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)20 b(23;)13 +b(25)37 1022 y Fv(get-signal-handlers)8 b Fu(.)t(.)e(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)23 +b(41)37 1072 y Fv(get-widget-data)7 b Fu(.)s(.)g(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)21 +b(30)37 1122 y Fv(getcwd)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)18 b(38)37 1172 y Fv(getenv)t +Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)18 b(39)37 1221 y Fv(getpid)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)18 b(38)37 +1271 y(getter)7 b(.)h(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)21 b(78)37 1321 y Fv(glob)11 +b Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +25 b(37;)13 b(38)37 1371 y Fv(global-environment)7 b +Fu(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)h(.)24 b(34)37 1506 y Fa(H)37 1556 y Fv(hash-table->list)5 +b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 b(44)37 1606 y Fv(hash-table-for-each)8 +b Fu(.)t(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)23 b(43)37 1656 y Fv(hash-table-get)8 b Fu(.)t(.)f(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)22 b(42)37 1705 y Fv(hash-table-hash)10 +b Fu(.)s(.)d(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)g(.)24 b(42;)13 b(41)37 1755 y Fv(hash-table-map)8 +b Fu(.)t(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)22 b(43)37 1805 y +Fv(hash-table-put!)7 b Fu(.)s(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)21 +b(42)37 1855 y Fv(hash-table-remove!)7 b Fu(.)f(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)24 +b(43)37 1905 y Fv(hash-table-stats)5 b Fu(.)s(.)i(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)19 +b(44)37 1955 y Fv(hash-table?)5 b Fu(.)t(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)19 b(42)37 2004 y Fv(help,)i(getting)9 +b Fu(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)24 b(72)37 2140 +y Fa(I)37 2190 y Fv(if)s Fu(.)7 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)18 +b(9)37 2239 y(ilisp)13 b(pac)o(k)n(age)d(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)24 b(97)37 2289 y Fv(imag-part)10 +b Fu(.)c(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)25 b(16;)13 +b(74)37 2339 y Fv(import)t Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)18 b(31)37 2389 y Fv(inexact->exact)8 +b Fu(.)t(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)22 b(16)37 2439 y +Fv(inexact?)10 b Fu(.)5 b(.)h(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)24 b(15)37 2488 y(initial)12 b(en)o(vironmen)o(t)7 +b(.)e(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)21 b(11)37 2538 y Fv(input-port?)5 +b Fu(.)t(.)h(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)19 +b(22)37 2588 y Fv(input-string-port?)7 b Fu(.)f(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)24 +b(22)37 2638 y Fv(inspect)11 b Fu(.)6 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)26 b(61)37 2688 y(instance)5 +b(.)i(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) +19 b(77)37 2738 y Fv(integer->char)8 b Fu(.)e(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)24 b(17)37 2787 y Fv(integer?)10 b Fu(.)5 b(.)h(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)24 b(15)1029 190 +y(ip)13 b(n)o(um)o(b)q(er)t(.)6 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)g(.)h(.)f(.)g(.)18 b(51)1029 325 y Fa(K)10