i r confused added by evhan on Thu Jan 30 09:29:35 2014

(define-syntax enum
  (ir-macro-transformer
   (lambda (form inject compare?)
     `(define-values (,(inject (cadr form))
                      ,@(map (lambda (x) (symbol-append (inject (cadr form)) '- (inject x)))
                             (cddr form)))
        (values ,@(map (lambda (x) `',x) (inject (cdr form))))))))

(enum my foo bar)
(pretty-print `(,my ,my-foo ,my-bar))