www

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

list-lang.rkt (534B)


      1 #lang racket
      2 
      3 (require typed/racket);(only-meta-in 0 typed/racket))
      4 
      5 (provide (except-out (all-from-out typed/racket)
      6                      #%module-begin)
      7          (rename-out [module-begin #%module-begin]))
      8 
      9 (require (for-syntax syntax/parse))
     10 
     11 (define-syntax (module-begin stx)
     12   (syntax-parse stx
     13     [(_ forms ... ((~literal define-list-values) name rest ...) values ...)
     14      #'(#%module-begin (define-for-syntax name '(values ...))
     15                        (define name rest ... '(values ...))
     16                        forms ...)]))