#lang scheme
(require (for-syntax scheme/base) "expression.ss")
(define-syntax require/os
(syntax-rules ()
((~ (key s1 ...) ...)
(+:os (key (require s1 ...)) ...))))
(define-syntax require/windows
(syntax-rules ()
((~ s1 ...)
(require/os (:windows s1 ...)))))
(define-syntax require/macosx
(syntax-rules ()
((~ s1 ...)
(require/os (:macosx s1 ...)))))
(define-syntax require/unix
(syntax-rules ()
((~ s1 ...)
(require/os (:unix s1 ...)))))
(provide require/windows require/unix require/macosx require/os)