; Copyright (c) 1993-2008 by Richard Kelsey and Jonathan Rees. See file COPYING.

; Support for different kinds of syntax transformers

; We just use a vector with a tag in slot 0.

; 2-argument version of syntax transformers
; (syntax free-identifier=?)
(define (make-transformer/free-identifier=? proc)
  (vector 'transformer/free-identifier=? proc))

(define (transformer/free-identifier=?? thing)
  (and (vector? thing)
       (= 2 (vector-length thing))
       (eq? 'transformer/free-identifier=? (vector-ref thing 0))))

(define (transformer/free-identifier=?-proc thing)
  (vector-ref thing 1))

