dure with the same arity as PROC that returns the `not' of PROC's result." (lambda args (not (apply proc args)))) (define (const value) "Return a procedure that accepts any number of arguments and returns VALUE." (lambda _ value)) (define (and=> value procedure) "When VALUE is #f, return #f. Otherwise, return (PROC VALUE)." (and value (procedure value))) (define call/cc call-with-current-continuation) (define-syntax false-if-exception (syntax-rules () ((false-if-exception expr) (catch #t (lambda () expr) (lambda args #f))) ((false-if-exception expr #:warning template arg ...) (catch #t (lambda () expr) (lambda (key . args) (for-each (lambda (s) (if (not (string-null? s)) (format (current-warning-port) ";;; ~a\n" s))) (string-split (call-with-output-string (lambda (port) (format port template arg ...) (print-exception port #f key args))) #\newline)) #f)))))