racket/collects/honu/core/private/syntax.rkt
2010-10-22 10:48:11 -06:00

42 lines
1.0 KiB
Racket

#lang scheme
(provide (all-defined-out))
#;
(define-syntax (honu-syntax stx)
(syntax-case stx ()
[(_ expr)
#'(honu-unparsed-expr expr)
#;
(begin
(debug "honu syntax ~a\n" stx)
(raise-syntax-error 'honu-syntax "dont call this")
#'(make-honu-transformer (lambda (stx ctx)
(debug "honu syntax ~a\n" stx)
#'(expr ...))))]))
#;
(define-syntax honu-unparsed-expr
(lambda (stx) (raise-syntax-error 'honu-unparsed-expr "dont use this")))
(define honu-scheme-syntax 'honu-scheme-syntax)
#;
(define honu-scheme-syntax (gensym))
#;
(define-syntax-rule (scheme-syntax stx)
(syntax-property (syntax stx) honu-scheme-syntax #t))
(define (raw-scheme? stx)
(syntax-property stx honu-scheme-syntax))
(define (apply-scheme-syntax stx)
(syntax-property stx honu-scheme-syntax #t))
#;
(define-syntax (scheme-syntax stx)
(syntax-case stx ()
[(_ x ...)
(lambda () '(syntax-property #'(x ...) honu-scheme-syntax #t))]))