#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 yes (void))) (provide aand aif awhen)