diff --git a/macro.rkt b/macro.rkt index d5f9ae1..13abffb 100644 --- a/macro.rkt +++ b/macro.rkt @@ -5,9 +5,17 @@ (define-syntax (macro-map stx) (syntax-case stx () - [(_ macro-name item) - #'(cons (macro-name item) '())] - [(_ macro-name item0 items ...) + [(_ macro-name (list item0)) #'(cons - (macro-name item0) - (macro-map macro-name items ...))])) + (macro-name item0) '())] + + [(_ macro-name (list item0 items ...)) + #'(cons + (macro-name item0) + (macro-map macro-name (list items ...)))])) + + +(define-syntax-rule (add x) + (+ 1 x)) + +(macro-map add (list 24 25 30)) \ No newline at end of file