www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

utils.rkt (472B)


      1 #lang racket
      2 
      3 (require scribble/manual
      4          (for-syntax syntax/parse))
      5 
      6 (provide def-orig)
      7 
      8 (define-syntax def-orig
      9   (syntax-parser
     10     [(_ orig:id [lib ...] o:id ...)
     11      #`(begin
     12          (module orig racket/base
     13            (require scribble/manual)
     14            (require (for-label lib ...))
     15            (define o (racket o))
     16            ...
     17            (provide (prefix-out orig (prefix-out : o)) ...))
     18          #,(datum->syntax #'orig `(require (quote ,#'orig))))]))