Hex Artifact Content
Not logged in

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                    .)]))).. .