Artifact
a3fedd275e699e052c3c6af5cbadf1e2222e32fe:
0000: 23 21 72 36 72 73 0a 3b 3b 20 43 6f 70 79 72 69 #!r6rs.;; Copyri
0010: 67 68 74 20 28 63 29 20 32 30 30 39 20 44 65 72 ght (c) 2009 Der
0020: 69 63 6b 20 45 64 64 69 6e 67 74 6f 6e 2e 20 20 ick Eddington.
0030: 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 All rights reser
0040: 76 65 64 2e 20 20 4c 69 63 65 6e 73 65 64 20 75 ved. Licensed u
0050: 6e 64 65 72 20 61 6e 0a 3b 3b 20 4d 49 54 2d 73 nder an.;; MIT-s
0060: 74 79 6c 65 20 6c 69 63 65 6e 73 65 2e 20 20 4d tyle license. M
0070: 79 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 20 y license is in
0080: 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 4c the file named L
0090: 49 43 45 4e 53 45 20 66 72 6f 6d 20 74 68 65 20 ICENSE from the
00a0: 6f 72 69 67 69 6e 61 6c 0a 3b 3b 20 63 6f 6c 6c original.;; coll
00b0: 65 63 74 69 6f 6e 20 74 68 69 73 20 66 69 6c 65 ection this file
00c0: 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 is distributed
00d0: 77 69 74 68 2e 20 20 49 66 20 74 68 69 73 20 66 with. If this f
00e0: 69 6c 65 20 69 73 20 72 65 64 69 73 74 72 69 62 ile is redistrib
00f0: 75 74 65 64 20 77 69 74 68 0a 3b 3b 20 73 6f 6d uted with.;; som
0100: 65 20 6f 74 68 65 72 20 63 6f 6c 6c 65 63 74 69 e other collecti
0110: 6f 6e 2c 20 6d 79 20 6c 69 63 65 6e 73 65 20 6d on, my license m
0120: 75 73 74 20 61 6c 73 6f 20 62 65 20 69 6e 63 6c ust also be incl
0130: 75 64 65 64 2e 0a 0a 28 69 6d 70 6f 72 74 0a 20 uded...(import.
0140: 20 28 72 6e 72 73 29 0a 20 20 28 73 75 72 66 61 (rnrs). (surfa
0150: 67 65 20 73 32 35 20 6d 75 6c 74 69 2d 64 69 6d ge s25 multi-dim
0160: 65 6e 73 69 6f 6e 61 6c 2d 61 72 72 61 79 73 29 ensional-arrays)
0170: 0a 20 20 28 73 75 72 66 61 67 65 20 73 32 35 20 . (surfage s25
0180: 6d 75 6c 74 69 2d 64 69 6d 65 6e 73 69 6f 6e 61 multi-dimensiona
0190: 6c 2d 61 72 72 61 79 73 20 61 72 6c 69 62 29 0a l-arrays arlib).
01a0: 20 20 28 73 75 72 66 61 67 65 20 73 37 38 20 6c (surfage s78 l
01b0: 69 67 68 74 77 65 69 67 68 74 2d 74 65 73 74 69 ightweight-testi
01c0: 6e 67 29 0a 20 20 28 73 72 66 69 20 70 72 69 76 ng). (srfi priv
01d0: 61 74 65 20 69 6e 63 6c 75 64 65 29 29 0a 0a 28 ate include))..(
01e0: 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 20 70 61 define-syntax pa
01f0: 73 74 20 28 73 79 6e 74 61 78 2d 72 75 6c 65 73 st (syntax-rules
0200: 20 28 29 20 28 28 5f 20 2e 20 72 29 20 28 62 65 () ((_ . r) (be
0210: 67 69 6e 29 29 29 29 0a 0a 28 6c 65 74 2d 73 79 gin))))..(let-sy
0220: 6e 74 61 78 20 28 28 6f 72 0a 20 20 20 20 20 20 ntax ((or.
0230: 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d (syntax-
0240: 72 75 6c 65 73 20 28 65 72 72 6f 72 29 0a 20 20 rules (error).
0250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 ((
0260: 5f 20 65 78 70 72 20 28 65 72 72 6f 72 20 6d 73 _ expr (error ms
0270: 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 g)).
0280: 20 20 20 20 20 28 63 68 65 63 6b 20 65 78 70 72 (check expr
0290: 20 3d 3e 20 23 54 29 29 0a 20 20 20 20 20 20 20 => #T)).
02a0: 20 20 20 20 20 20 20 20 20 28 28 5f 20 2e 20 72 ((_ . r
02b0: 29 20 28 6f 72 20 2e 20 72 29 29 29 29 29 0a 20 ) (or . r))))).
02c0: 20 28 69 6e 63 6c 75 64 65 2f 72 65 73 6f 6c 76 (include/resolv
02d0: 65 20 28 22 73 72 66 69 22 20 22 73 32 35 22 29 e ("srfi" "s25")
02e0: 20 22 6c 69 73 74 2e 73 63 6d 22 29 29 0a 0a 28 "list.scm"))..(
02f0: 63 68 65 63 6b 2d 72 65 70 6f 72 74 29 0a check-report).