Hex Artifact Content
Not logged in

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