22 lines
744 B
Racket
22 lines
744 B
Racket
#lang racket/base
|
|
|
|
(require racket/base racket/contract syntax/parse/define syntax/wrap-modbeg
|
|
(for-syntax racket/base)
|
|
racket/draw pict ppict/pict ppict/tag ppict/align)
|
|
|
|
(provide (rename-out [x:#%module-begin #%module-begin])
|
|
(except-out (all-from-out racket/base racket/contract racket/draw pict
|
|
ppict/pict ppict/tag ppict/align)
|
|
#%module-begin))
|
|
|
|
(define-syntax x:#%module-begin
|
|
(make-wrapping-module-begin #'x:wrap-object))
|
|
|
|
(define-syntax-parse-rule (x:wrap-object body:expr)
|
|
#:with id (datum->syntax #'body 'icon-pict)
|
|
#:do [(syntax-local-lift-provide #'id)]
|
|
(define/contract id pict? body))
|
|
|
|
(module reader syntax/module-reader
|
|
capybara/pict)
|