GOOF----LE-8-2.0l-]'4ho] gapply:nconc2last gapply gcall-with-current-continuation gcall-with-values g dynamic-wind fr g OPEN_READ fw g OPEN_WRITE fr+ g OPEN_BOTH f /dev/null g *null-device* g open-file gopen-input-file gopen-output-file g open-io-file gclose-input-port gcall-with-input-file gclose-output-port gcall-with-output-file gset-current-input-port gwith-input-from-port gset-current-output-port gwith-output-to-port gset-current-error-port gwith-error-to-port gwith-input-from-file gwith-output-to-file gwith-error-to-file gcall-with-input-string gwith-input-from-string !gcall-with-output-string "gwith-output-to-string #gwith-error-to-string $f %g read-char &gthe-eof-objectC5hh(B]h-1345@gfun gargs gfilenamefice-9/r4rs.scm ! "   "   gnamegapplyCRh]B~gproc  gfilenamefice-9/r4rs.scm #  $    gnamegcall-with-current-continuationCRh]4>6<gproducer  gconsumer  gfilenamefice-9/r4rs.scm %  &    gnamegcall-with-valuesCRhH}]4>"GV4>X4>"GCX4>"GFugin  Cgthunk  Cgout   Cgfilenamefice-9/r4rs.scm '  Y   Y  ! Y   C gnameg dynamic-windg documentationfAll three arguments must be 0-argument procedures. Guard @var{in} is called, then @var{thunk}, then guard @var{out}. If, any time during the execution of @var{thunk}, the continuation of the @code{dynamic_wind} expression is escaped non-locally, @var{out} is called. If the continuation of the dynamic-wind is re-entered, @var{in} is called. Thus @var{in} and @var{out} may be called any number of times. @lisp (define x 'normal-binding) @result{} x (define a-cont (call-with-current-continuation (lambda (escape) (let ((old-x x)) (dynamic-wind ;; in-guard: ;; (lambda () (set! x 'special-binding)) ;; thunk ;; (lambda () (display x) (newline) (call-with-current-continuation escape) (display x) (newline) x) ;; out-guard: ;; (lambda () (set! x old-x))))))) ;; Prints: special-binding ;; Evaluates to: @result{} a-cont x @result{} normal-binding (a-cont #f) ;; Prints: special-binding ;; Evaluates to: @result{} a-cont ;; the value of the (define a-cont...) x @result{} normal-binding a-cont @result{} special-binding @end lispCRR R  R  Rh2]6*gstr  gfilenamefice-9/r4rs.scm t x   gnamegopen-input-fileg documentationfTakes a string naming an existing file and returns an input port capable of delivering characters from the file. If the file cannot be opened, an error is signalled.CR h]6gstr  gfilenamefice-9/r4rs.scm z    gnamegopen-output-fileg documentationfTakes a string naming an output file to be created and returns an output port capable of writing characters to a new file by that name. If the file cannot be opened, an error is signalled. If a file with the given name already exists, the effect is unspecified.CR h]6gstr  gfilenamefice-9/r4rs.scm   gnameg open-io-fileg documentationf2Open file with name STR for both input and output.CRh88]454> G4>"GE0gstr  1gproc  1gp  1gvals   1gfilenamefice-9/r4rs.scm        1   1 gnamegcall-with-input-fileg documentationfEPROC should be a procedure of one argument, and STR should be a string naming a file. The file must already exist. These procedures call PROC with one argument: the port obtained by opening the named file for input or output. If the file cannot be opened, an error is signalled. If the procedure returns, then the port is closed automatically and the values yielded by the procedure are returned. If the procedure does not return, then the port will not be closed automatically unless it is possible to prove that the port will never again be used for a read or write operation.CRh8V]454> G4>"GENgstr  1gproc  1gp  1gvals   1gfilenamefice-9/r4rs.scm        1   1 gnamegcall-with-output-fileg documentationfbPROC should be a procedure of one argument, and STR should be a string naming a file. The behaviour is unspecified if the file already exists. These procedures call PROC with one argument: the port obtained by opening the named file for input or output. If the file cannot be opened, an error is signalled. If the procedure returns, then the port is closed automatically and the values yielded by the procedure are returned. If the procedure does not return, then the port will not be closed automatically unless it is possible to prove that the port will never again be used for a read or write operation.CRhi]4M5NCagfilenamefice-9/r4rs.scm   )   gnamegswaportsChX] HOQ4>"GV4>X4>"GCX4>"GFgport  Tgthunk  Tgswaports   Tgfilenamefice-9/r4rs.scm      T gnamegwith-input-from-portCRhi]4M5NCagfilenamefice-9/r4rs.scm   )   gnamegswaportsChX] HOQ4>"GV4>X4>"GCX4>"GFgport  Tgthunk  Tgswaports   Tgfilenamefice-9/r4rs.scm      T gnamegwith-output-to-portCRhi]4M5NCagfilenamefice-9/r4rs.scm   )   gnamegswaportsChX] HOQ4>"GV4>X4>"GCX4>"GFgport  Tgthunk  Tgswaports   Tgfilenamefice-9/r4rs.scm      T gnamegwith-error-to-portCRh[]L6Sgp  gfilenamefice-9/r4rs.scm    Ch]O6gfile  gthunk  gfilenamefice-9/r4rs.scm     gnamegwith-input-from-fileg documentationf THUNK must be a procedure of no arguments, and FILE must be a string naming a file. The file must already exist. The file is opened for input, an input port connected to it is made the default value returned by `current-input-port', and the THUNK is called with no arguments. When the THUNK returns, the port is closed and the previous default is restored. Returns the values yielded by THUNK. If an escape procedure is used to escape from the continuation of these procedures, their behavior is implementation dependent.CRh[]L6Sgp  gfilenamefice-9/r4rs.scm    Ch]O6gfile  gthunk  gfilenamefice-9/r4rs.scm     gnamegwith-output-to-fileg documentationf*THUNK must be a procedure of no arguments, and FILE must be a string naming a file. The effect is unspecified if the file already exists. The file is opened for output, an output port connected to it is made the default value returned by `current-output-port', and the THUNK is called with no arguments. When the THUNK returns, the port is closed and the previous default is restored. Returns the values yielded by THUNK. If an escape procedure is used to escape from the continuation of these procedures, their behavior is implementation dependent.CRh[]L6Sgp  gfilenamefice-9/r4rs.scm    Ch]O6gfile  gthunk  gfilenamefice-9/r4rs.scm     gnamegwith-error-to-fileg documentationf)THUNK must be a procedure of no arguments, and FILE must be a string naming a file. The effect is unspecified if the file already exists. The file is opened for output, an output port connected to it is made the default value returned by `current-error-port', and the THUNK is called with no arguments. When the THUNK returns, the port is closed and the previous default is restored. Returns the values yielded by THUNK. If an escape procedure is used to escape from the continuation of these procedures, their behavior is implementation dependent.CRh[]L6Sgp  gfilenamefice-9/r4rs.scm    Ch#]O6gstring  gthunk  gfilenamefice-9/r4rs.scm     gnamegwith-input-from-stringg documentationfxTHUNK must be a procedure of no arguments. The test of STRING is opened for input, an input port connected to it is made, and the THUNK is called with no arguments. When the THUNK returns, the port is closed. Returns the values yielded by THUNK. If an escape procedure is used to escape from the continuation of these procedures, their behavior is implementation dependent.C R!h[]L6Sgp  gfilenamefice-9/r4rs.scm    Ch]O6gthunk  gfilenamefice-9/r4rs.scm   gnamegwith-output-to-stringg documentationf/Calls THUNK and returns its output as a string.C"R!h[]L6Sgp  gfilenamefice-9/r4rs.scm    Ch]O6gthunk  gfilenamefice-9/r4rs.scm   gnamegwith-error-to-stringg documentationf5Calls THUNK and returns its error output as a string.C#R4i$%h[]6Sgp  gfilenamefice-9/r4rs.scm 2  >   C5&RC:gfilenamefice-9/r4rs.scm ! Y #  %  '  n   n  o   o  p   p  r   r M t  z s   j  g  "I % &p ' '  ' / (]  (`   (b C6