This page is part of the web mail archives of SRFI 53 from before July 7th, 2015. The new archives for SRFI 53 contain all messages, not just those from before July 7th, 2015.
On Tue, 23 Mar 2004, Alex Shinn wrote: > I have the same pet-peeve with {define,let,letrec}-syntax and > syntax-rules, but in > > (define-syntax-computation foo > (computation-rules () ...)) > > computation-rules is a noiseword. You could just as easily write > > (define-syntax-computation foo () > ...) > > [snip] > > Am I missing something? Yes. DEFINE-SYNTAX is supposed to be the _universal_ derived syntax definition form. DEFINE-SYNTAX-COMPUTATION should be the noise word; you should be able to do things like: (define-syntax foo (syntax-rules () ...)) (define-syntax bar (explicit-renaming (lambda (form rename compare) ...))) (define-syntax baz (syntax-computations () ;or computation-rules, or whatever ...)) (define-syntax quux (syntactic-closures (lambda (form creation-env usage-env) ...))) The fact that you currently cannot extend the set of transformer forms for the right-hand-sides of syntax definitions is due to entirely separate issues regarding module systems, environment towers, and other matters. If R6RS defines a Scheme48-style module system, as has been suggested at the 2003 Scheme Workshop, you'll certainly be able to easily extend that set without saying 'this set is extended by this SRFI but I sha'n't tell you how,' as is necessary currently.