#lang scheme/base (define-syntax-rule (aand test result yes ...) (let ((result test)) (and result yes ...))) (define-syntax-rule (aif test result yes no) (let ((result test)) (if result yes no))) (define-syntax-rule (awhen test result yes ...) (aif test result (begin yes ...) (void))) (provide aand aif awhen)