Control features





`=̀13`(ndexfile(index-entry "procedure?" "tt" main )procedure?obj)
procedure
`=̀13`(ndexfile(index-entry "apply" "tt" main )applyproc args)
procedure
`=̀13`(ndexfile(index-entry "apply" "tt" main )applyproc arg1 … args)
procedure
`=̀13`(ndexfile(index-entry "map" "tt" main )mapproc list1 list2 … )
procedure
`=̀13`(ndexfile(index-entry "for-each" "tt" main )for-eachproc list1 list2 … )
procedure
`=̀13`(ndexfile(index-entry "force" "tt" main )forcepromise)
procedure
Identical to R4RS.





`=̀13`(ndexfile(index-entry "call-with-current-continuation" "tt" main )call-with-current-continuationproc)
procedure
`=̀13`(ndexfile(index-entry "call/cc" "tt" main )call/ccproc)
procedure
ndexfile(index-entry "Call/cc" "tt" aux )Call/cc is a shorter name for ndexfile(index-entry "call-with-current-continuation" "tt" aux )call-with-current-continuation. ndexfile(index-entry "continuation" "rm" main )





`=̀13`(ndexfile(index-entry "closure?" "tt" main )closure?obj)
procedure
returns #t if obj is a procedure created by evaluating a lambda expression, otherwise returns #f.





`=̀13`(ndexfile(index-entry "primitive?" "tt" main )primitive?obj)
procedure
returns #t if obj is a procedure and is not a closure, otherwise returns #f.





`=̀13`(ndexfile(index-entry "promise?" "tt" main )promise?obj)
procedure
returns #t if obj is an object returned by the application of ndexfile(index-entry "delay" "tt" aux )delay, otherwise returns #f.





`=̀13`(ndexfile(index-entry "continuation?" "tt" main )continuation?obj)
procedure
ndexfile(index-entry "continuation" "rm" main ) returns #t if obj is a continuation obtained by ndexfile(index-entry "call/cc" "tt" aux )call/cc, otherwise returns #f.





`=̀13`(ndexfile(index-entry "dynamic-wind" "tt" main )dynamic-windthunk1 thunk2 thunk3)
procedure
Thunk1, thunk2 and thunk3 are called in order. The result of ndexfile(index-entry "dynamic-wind" "tt" aux )dynamic-wind is the value returned by thunk2. If thunk2 escapes from its continuation during evaluation (by calling a continuation obtained by ndexfile(index-entry "call/cc" "tt" aux )call/cc or on error), thunk3 is called. If thunk2 is later reentered, thunk1 is called.





`=̀13`(ndexfile(index-entry "catch" "tt" main )catchexpression1 expression2 … )
syntax
The expressions are evaluated from left to right. If an error occurs, evaluation of the expressions is aborted, and #t is returned to ndexfile(index-entry "catch" "tt" aux )catch's caller. If evaluation finishes without an error, ndexfile(index-entry "catch" "tt" aux )catch returns #f. $\Longrightarrow$
$\Longrightarrow$ unspecified error makeotherˆ`=̀13`


          gobblecr(let* ((x 0)       (y (catch             (set! x 1)             (/ 0) ; causes a "division by 0" error             (set! x 2))))  (cons x y))   (1 . #t)





`=̀13`(ndexfile(index-entry "procedure-body" "tt" main )procedure-bodyprocedure)
procedure
returns the body of procedure. If procedure is not a closure, ndexfile(index-entry "procedure-body" "tt" aux )procedure-body returns #f. $\Longrightarrow$
$\Longrightarrow$ unspecified error makeotherˆ`=̀13`


          gobblecr(define (f a b)   (+ a (* b 2)))

(procedure-body f) (lambda (a b) (+ a (* b 2)))(procedure-body car) #f