require.ss
#lang scheme
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; OS.plt
;;
;; OS dependent expressions.
;;
;; Bonzai Lab, LLC.  All rights reserved.
;;
;; released under LGPL.
;;
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; require.ss - shorthand for system-dependent require expression 
;; yc 9/2/2009
(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)