[plt-scheme] Are macros a programming language?

From: Grant Rettke (grettke at acm.org)
Date: Sun Oct 21 10:57:44 EDT 2007

On 10/21/07, Carl Eastlund <cce at ccs.neu.edu> wrote:
> Why aren't they Scheme?

My thought was that it generates Scheme, but it is not Scheme.

For example I wanted to iterate over a list of arguments. I couldn't
(which only means I don't know how not that it is impossible) just
iterate over the n-ary arguments and emit the desired code.

I ended up recursively matching patterns to perform iteration (though
Chongkai Zhu showed me a nicer way); the iteration didn't look like

((_ name)
       (if (not (identifier? (syntax name)))
            "property names must be identifiers, not expressions"
            (syntax name)))
          (define property-name null)
          (define/public name
              [() property-name]
              [(value) (set! property-name value)]))))))
    ((_ name names ...)
        (property name)
        (property names ...))))))

Posted on the users mailing list.