|
|
@ -8,12 +8,12 @@
|
|
|
|
;; To suppress this behavior, use def/c to wrap any name.
|
|
|
|
;; To suppress this behavior, use def/c to wrap any name.
|
|
|
|
;; If that name isn't already defined, you'll get the usual syntax error.
|
|
|
|
;; If that name isn't already defined, you'll get the usual syntax error.
|
|
|
|
|
|
|
|
|
|
|
|
(define-syntax-rule (top~ . id)
|
|
|
|
(define-syntax-rule (top~ . ID)
|
|
|
|
(make-default-tag-function 'id))
|
|
|
|
(make-default-tag-function 'ID))
|
|
|
|
|
|
|
|
|
|
|
|
(define-syntax (def/c stx)
|
|
|
|
(define-syntax (def/c stx)
|
|
|
|
(syntax-case stx ()
|
|
|
|
(syntax-case stx ()
|
|
|
|
[(_ x)
|
|
|
|
[(_ X)
|
|
|
|
(if (identifier-binding #'x )
|
|
|
|
(if (identifier-binding #'X )
|
|
|
|
#'x
|
|
|
|
#'X
|
|
|
|
#'(#%top . x))]))
|
|
|
|
#'(#%top . X))]))
|