Artifact
2df7a6a9868ca434f45ccf530d3ffd92b7b5d624:
0000: 0a 23 21 72 36 72 73 0a 28 6c 69 62 72 61 72 79 .#!r6rs.(library
0010: 20 28 73 72 66 69 20 70 72 69 76 61 74 65 20 61 (srfi private a
0020: 75 78 69 6c 69 61 72 79 2d 6b 65 79 77 6f 72 64 uxiliary-keyword
0030: 29 0a 09 20 28 65 78 70 6f 72 74 20 64 65 66 69 ).. (export defi
0040: 6e 65 2d 61 75 78 69 6c 69 61 72 79 2d 6b 65 79 ne-auxiliary-key
0050: 77 6f 72 64 20 64 65 66 69 6e 65 2d 61 75 78 69 word define-auxi
0060: 6c 69 61 72 79 2d 6b 65 79 77 6f 72 64 73 29 0a liary-keywords).
0070: 09 20 28 69 6d 70 6f 72 74 20 28 73 63 68 65 6d . (import (schem
0080: 65 29 29 0a 0a 09 20 28 64 65 66 69 6e 65 2d 73 e))... (define-s
0090: 79 6e 74 61 78 20 64 65 66 69 6e 65 2d 61 75 78 yntax define-aux
00a0: 69 6c 69 61 72 79 2d 6b 65 79 77 6f 72 64 0a 09 iliary-keyword..
00b0: 20 20 20 28 73 79 6e 74 61 78 2d 72 75 6c 65 73 (syntax-rules
00c0: 20 28 29 0a 09 20 20 20 20 20 5b 28 5f 20 6e 61 ().. [(_ na
00d0: 6d 65 29 0a 09 20 20 20 20 20 20 28 64 65 66 69 me).. (defi
00e0: 6e 65 2d 73 79 6e 74 61 78 20 6e 61 6d 65 20 0a ne-syntax name .
00f0: 09 09 28 6c 61 6d 62 64 61 20 28 78 29 0a 09 09 ..(lambda (x)...
0100: 20 20 28 73 79 6e 74 61 78 2d 76 69 6f 6c 61 74 (syntax-violat
0110: 69 6f 6e 20 27 6e 61 6d 65 20 22 6d 69 73 70 6c ion 'name "mispl
0120: 61 63 65 64 20 75 73 65 20 6f 66 20 61 75 78 69 aced use of auxi
0130: 6c 69 61 72 79 20 6b 65 79 77 6f 72 64 22 20 78 liary keyword" x
0140: 29 29 29 5d 29 29 0a 09 20 0a 09 20 28 64 65 66 )))])).. .. (def
0150: 69 6e 65 2d 73 79 6e 74 61 78 20 64 65 66 69 6e ine-syntax defin
0160: 65 2d 61 75 78 69 6c 69 61 72 79 2d 6b 65 79 77 e-auxiliary-keyw
0170: 6f 72 64 73 0a 09 20 20 20 28 73 79 6e 74 61 78 ords.. (syntax
0180: 2d 72 75 6c 65 73 20 28 29 0a 09 20 20 20 20 20 -rules ()..
0190: 5b 28 5f 20 6e 61 6d 65 2a 20 2e 2e 2e 29 0a 09 [(_ name* ...)..
01a0: 20 20 20 20 20 20 28 62 65 67 69 6e 20 28 64 65 (begin (de
01b0: 66 69 6e 65 2d 61 75 78 69 6c 69 61 72 79 2d 6b fine-auxiliary-k
01c0: 65 79 77 6f 72 64 20 6e 61 6d 65 2a 29 20 2e 2e eyword name*) ..
01d0: 2e 29 5d 29 29 29 0a 09 20 0a .)]))).. .