> I am rather new to scheme here, but I find this a rather uneasy point:
> all the let-syntax, define-syntax etc. uses the form (syntax-rules...)
> for definition. My question is why was this chosen to be the
> definition language? I mean, wouldn't it save me a few keystrokes if I
> could directly specify the transformation like:
> (define-syntax (mymacro param1 param2)
> (if (> param1 0) param2 #f)
> (...) ... ) ; Other syntaxes
> Not that its biting me too much, but still, why was the 'syntax-rules'
> part chosen to be a part of the spec? The only thing I can think of is
> that, maybe, I could specify my own constructs there in place of
> 'syntax-rules' that would allow let-, define-syntax etc. to work with
> my own template language. If that is the case, how do I make such a
> construct?
The syntax (define-syntax name transformer-specification) associates