Artifact
64a1cd90c0d8cbb6ab04414e5e694dbb9d701bef:
- File
srfi/s25/op-ctor.scm
— part of check-in
[80c8c83034]
at
2016-07-07 18:11:39
on branch trunk
— initial import
(user:
ovenpasta@pizzahack.eu
size: 23366)
0000: 28 62 65 67 69 6e 0a 20 20 28 64 65 66 69 6e 65 (begin. (define
0010: 20 61 72 72 61 79 3a 6f 70 74 2d 61 72 67 73 20 array:opt-args
0020: 27 28 63 74 6f 72 20 28 34 29 29 29 0a 20 20 28 '(ctor (4))). (
0030: 64 65 66 69 6e 65 20 28 61 72 72 61 79 3a 6f 70 define (array:op
0040: 74 69 6d 69 7a 65 20 66 20 72 29 0a 20 20 20 20 timize f r).
0050: 28 63 61 73 65 20 72 0a 20 20 20 20 20 20 28 28 (case r. ((
0060: 30 29 20 28 6c 65 74 20 28 28 6e 30 20 28 66 29 0) (let ((n0 (f)
0070: 29 29 20 28 61 72 72 61 79 3a 30 20 6e 30 29 29 )) (array:0 n0))
0080: 29 0a 20 20 20 20 20 20 28 28 31 29 20 28 6c 65 ). ((1) (le
0090: 74 20 28 28 6e 30 20 28 66 20 30 29 29 29 20 28 t ((n0 (f 0))) (
00a0: 61 72 72 61 79 3a 31 20 6e 30 20 28 2d 20 28 66 array:1 n0 (- (f
00b0: 20 31 29 20 6e 30 29 29 29 29 0a 20 20 20 20 20 1) n0)))).
00c0: 20 28 28 32 29 0a 20 20 20 20 20 20 20 28 6c 65 ((2). (le
00d0: 74 20 28 28 6e 30 20 28 66 20 30 20 30 29 29 29 t ((n0 (f 0 0)))
00e0: 0a 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 . (array
00f0: 3a 32 20 6e 30 20 28 2d 20 28 66 20 31 20 30 29 :2 n0 (- (f 1 0)
0100: 20 6e 30 29 20 28 2d 20 28 66 20 30 20 31 29 20 n0) (- (f 0 1)
0110: 6e 30 29 29 29 29 0a 20 20 20 20 20 20 28 28 33 n0)))). ((3
0120: 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 ). (let ((
0130: 6e 30 20 28 66 20 30 20 30 20 30 29 29 29 0a 20 n0 (f 0 0 0))).
0140: 20 20 20 20 20 20 20 20 28 61 72 72 61 79 3a 33 (array:3
0150: 0a 20 20 20 20 20 20 20 20 20 20 20 6e 30 0a 20 . n0.
0160: 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 66 20 (- (f
0170: 31 20 30 20 30 29 20 6e 30 29 0a 20 20 20 20 20 1 0 0) n0).
0180: 20 20 20 20 20 20 28 2d 20 28 66 20 30 20 31 20 (- (f 0 1
0190: 30 29 20 6e 30 29 0a 20 20 20 20 20 20 20 20 20 0) n0).
01a0: 20 20 28 2d 20 28 66 20 30 20 30 20 31 29 20 6e (- (f 0 0 1) n
01b0: 30 29 29 29 29 0a 20 20 20 20 20 20 28 65 6c 73 0)))). (els
01c0: 65 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 e. (let ((
01d0: 76 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 v.
01e0: 28 64 6f 20 28 28 6b 20 30 20 28 2b 20 6b 20 31 (do ((k 0 (+ k 1
01f0: 29 29 20 28 76 20 27 28 29 20 28 63 6f 6e 73 20 )) (v '() (cons
0200: 30 20 76 29 29 29 0a 20 20 20 20 20 20 20 20 20 0 v))).
0210: 20 20 20 20 20 20 20 20 20 28 28 3d 20 6b 20 72 ((= k r
0220: 29 20 76 29 29 29 29 0a 20 20 20 20 20 20 20 20 ) v)))).
0230: 20 28 6c 65 74 20 28 28 6e 30 20 28 61 70 70 6c (let ((n0 (appl
0240: 79 20 66 20 76 29 29 29 0a 20 20 20 20 20 20 20 y f v))).
0250: 20 20 20 20 28 61 70 70 6c 79 0a 20 20 20 20 20 (apply.
0260: 20 20 20 20 20 20 20 61 72 72 61 79 3a 6e 0a 20 array:n.
0270: 20 20 20 20 20 20 20 20 20 20 20 6e 30 0a 20 20 n0.
0280: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
0290: 3a 63 6f 65 66 66 69 63 69 65 6e 74 73 20 66 20 :coefficients f
02a0: 6e 30 20 76 20 76 29 29 29 29 29 29 29 0a 20 20 n0 v v))))))).
02b0: 28 64 65 66 69 6e 65 20 28 61 72 72 61 79 3a 6f (define (array:o
02c0: 70 74 69 6d 69 7a 65 2d 65 6d 70 74 79 20 72 29 ptimize-empty r)
02d0: 0a 20 20 20 20 28 6c 65 74 20 28 28 78 20 28 6d . (let ((x (m
02e0: 61 6b 65 2d 76 65 63 74 6f 72 20 28 2b 20 72 20 ake-vector (+ r
02f0: 31 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 76 1) 0))). (v
0300: 65 63 74 6f 72 2d 73 65 74 21 20 78 20 72 20 2d ector-set! x r -
0310: 31 29 0a 20 20 20 20 20 20 78 29 29 0a 20 20 28 1). x)). (
0320: 64 65 66 69 6e 65 20 28 61 72 72 61 79 3a 63 6f define (array:co
0330: 65 66 66 69 63 69 65 6e 74 73 20 66 20 6e 30 20 efficients f n0
0340: 76 73 20 76 70 29 0a 20 20 20 20 28 63 61 73 65 vs vp). (case
0350: 20 76 70 0a 20 20 20 20 20 20 28 28 28 29 29 20 vp. ((())
0360: 27 28 29 29 0a 20 20 20 20 20 20 28 65 6c 73 65 '()). (else
0370: 0a 20 20 20 20 20 20 20 28 73 65 74 2d 63 61 72 . (set-car
0380: 21 20 76 70 20 31 29 0a 20 20 20 20 20 20 20 28 ! vp 1). (
0390: 6c 65 74 20 28 28 6e 20 28 2d 20 28 61 70 70 6c let ((n (- (appl
03a0: 79 20 66 20 76 73 29 20 6e 30 29 29 29 0a 20 20 y f vs) n0))).
03b0: 20 20 20 20 20 20 20 28 73 65 74 2d 63 61 72 21 (set-car!
03c0: 20 76 70 20 30 29 0a 20 20 20 20 20 20 20 20 20 vp 0).
03d0: 28 63 6f 6e 73 20 6e 20 28 61 72 72 61 79 3a 63 (cons n (array:c
03e0: 6f 65 66 66 69 63 69 65 6e 74 73 20 66 20 6e 30 oefficients f n0
03f0: 20 76 73 20 28 63 64 72 20 76 70 29 29 29 29 29 vs (cdr vp)))))
0400: 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 61 72 )). (define (ar
0410: 72 61 79 3a 76 65 63 74 6f 72 2d 69 6e 64 65 78 ray:vector-index
0420: 20 78 20 6b 73 29 0a 20 20 20 20 28 64 6f 20 28 x ks). (do (
0430: 28 73 75 6d 20 30 20 28 2b 20 73 75 6d 20 28 2a (sum 0 (+ sum (*
0440: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 6b (vector-ref x k
0450: 29 20 28 63 61 72 20 6b 73 29 29 29 29 0a 20 20 ) (car ks)))).
0460: 20 20 20 20 20 20 20 28 6b 73 20 6b 73 20 28 63 (ks ks (c
0470: 64 72 20 6b 73 29 29 0a 20 20 20 20 20 20 20 20 dr ks)).
0480: 20 28 6b 20 30 20 28 2b 20 6b 20 31 29 29 29 0a (k 0 (+ k 1))).
0490: 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 3f 20 ((null?
04a0: 6b 73 29 20 28 2b 20 73 75 6d 20 28 76 65 63 74 ks) (+ sum (vect
04b0: 6f 72 2d 72 65 66 20 78 20 6b 29 29 29 29 29 0a or-ref x k))))).
04c0: 20 20 28 64 65 66 69 6e 65 20 28 61 72 72 61 79 (define (array
04d0: 3a 73 68 61 70 65 2d 69 6e 64 65 78 29 20 27 23 :shape-index) '#
04e0: 28 32 20 31 20 30 29 29 0a 20 20 28 64 65 66 69 (2 1 0)). (defi
04f0: 6e 65 20 28 61 72 72 61 79 3a 65 6d 70 74 79 2d ne (array:empty-
0500: 73 68 61 70 65 2d 69 6e 64 65 78 29 20 27 23 28 shape-index) '#(
0510: 30 20 30 20 2d 31 29 29 0a 20 20 28 64 65 66 69 0 0 -1)). (defi
0520: 6e 65 20 28 61 72 72 61 79 3a 73 68 61 70 65 2d ne (array:shape-
0530: 76 65 63 74 6f 72 2d 69 6e 64 65 78 20 78 20 72 vector-index x r
0540: 20 6b 29 0a 20 20 20 20 28 2b 0a 20 20 20 20 20 k). (+.
0550: 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (* (vector-ref x
0560: 20 30 29 20 72 29 0a 20 20 20 20 20 28 2a 20 28 0) r). (* (
0570: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 31 29 20 vector-ref x 1)
0580: 6b 29 0a 20 20 20 20 20 28 76 65 63 74 6f 72 2d k). (vector-
0590: 72 65 66 20 78 20 32 29 29 29 0a 20 20 28 64 65 ref x 2))). (de
05a0: 66 69 6e 65 20 28 61 72 72 61 79 3a 61 63 74 6f fine (array:acto
05b0: 72 2d 69 6e 64 65 78 20 78 20 6b 29 0a 20 20 20 r-index x k).
05c0: 20 28 2b 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 (+ (* (vector-r
05d0: 65 66 20 78 20 30 29 20 6b 29 20 28 76 65 63 74 ef x 0) k) (vect
05e0: 6f 72 2d 72 65 66 20 78 20 31 29 29 29 0a 20 20 or-ref x 1))).
05f0: 28 64 65 66 69 6e 65 20 28 61 72 72 61 79 3a 30 (define (array:0
0600: 20 6e 30 29 20 28 76 65 63 74 6f 72 20 6e 30 29 n0) (vector n0)
0610: 29 0a 20 20 28 64 65 66 69 6e 65 20 28 61 72 72 ). (define (arr
0620: 61 79 3a 31 20 6e 30 20 6e 31 29 20 28 76 65 63 ay:1 n0 n1) (vec
0630: 74 6f 72 20 6e 31 20 6e 30 29 29 0a 20 20 28 64 tor n1 n0)). (d
0640: 65 66 69 6e 65 20 28 61 72 72 61 79 3a 32 20 6e efine (array:2 n
0650: 30 20 6e 31 20 6e 32 29 20 28 76 65 63 74 6f 72 0 n1 n2) (vector
0660: 20 6e 31 20 6e 32 20 6e 30 29 29 0a 20 20 28 64 n1 n2 n0)). (d
0670: 65 66 69 6e 65 20 28 61 72 72 61 79 3a 33 20 6e efine (array:3 n
0680: 30 20 6e 31 20 6e 32 20 6e 33 29 20 28 76 65 63 0 n1 n2 n3) (vec
0690: 74 6f 72 20 6e 31 20 6e 32 20 6e 33 20 6e 30 29 tor n1 n2 n3 n0)
06a0: 29 0a 20 20 28 64 65 66 69 6e 65 20 28 61 72 72 ). (define (arr
06b0: 61 79 3a 6e 20 6e 30 20 6e 31 20 6e 32 20 6e 33 ay:n n0 n1 n2 n3
06c0: 20 6e 34 20 2e 20 6e 73 29 0a 20 20 20 20 28 61 n4 . ns). (a
06d0: 70 70 6c 79 20 76 65 63 74 6f 72 20 6e 31 20 6e pply vector n1 n
06e0: 32 20 6e 33 20 6e 34 20 28 61 70 70 65 6e 64 20 2 n3 n4 (append
06f0: 6e 73 20 28 6c 69 73 74 20 6e 30 29 29 29 29 0a ns (list n0)))).
0700: 20 20 28 64 65 66 69 6e 65 20 28 61 72 72 61 79 (define (array
0710: 3a 6d 61 6b 65 72 20 72 29 0a 20 20 20 20 28 63 :maker r). (c
0720: 61 73 65 20 72 0a 20 20 20 20 20 20 28 28 30 29 ase r. ((0)
0730: 20 61 72 72 61 79 3a 30 29 0a 20 20 20 20 20 20 array:0).
0740: 28 28 31 29 20 61 72 72 61 79 3a 31 29 0a 20 20 ((1) array:1).
0750: 20 20 20 20 28 28 32 29 20 61 72 72 61 79 3a 32 ((2) array:2
0760: 29 0a 20 20 20 20 20 20 28 28 33 29 20 61 72 72 ). ((3) arr
0770: 61 79 3a 33 29 0a 20 20 20 20 20 20 28 65 6c 73 ay:3). (els
0780: 65 20 61 72 72 61 79 3a 6e 29 29 29 0a 20 20 28 e array:n))). (
0790: 64 65 66 69 6e 65 20 61 72 72 61 79 3a 69 6e 64 define array:ind
07a0: 65 78 65 72 2f 76 65 63 74 6f 72 0a 20 20 20 20 exer/vector.
07b0: 28 6c 65 74 20 28 28 65 6d 0a 20 20 20 20 20 20 (let ((em.
07c0: 20 20 20 20 20 28 76 65 63 74 6f 72 0a 20 20 20 (vector.
07d0: 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 (lambd
07e0: 61 20 28 78 20 69 29 20 28 2b 20 28 76 65 63 74 a (x i) (+ (vect
07f0: 6f 72 2d 72 65 66 20 78 20 30 29 29 29 0a 20 20 or-ref x 0))).
0800: 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 (lamb
0810: 64 61 20 28 78 20 69 29 0a 20 20 20 20 20 20 20 da (x i).
0820: 20 20 20 20 20 20 20 20 28 2b 0a 20 20 20 20 20 (+.
0830: 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 (* (v
0840: 65 63 74 6f 72 2d 72 65 66 20 78 20 30 29 20 28 ector-ref x 0) (
0850: 76 65 63 74 6f 72 2d 72 65 66 20 69 20 30 29 29 vector-ref i 0))
0860: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0870: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 31 (vector-ref x 1
0880: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))).
0890: 20 28 6c 61 6d 62 64 61 20 28 78 20 69 29 0a 20 (lambda (x i).
08a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b (+
08b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
08c0: 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (* (vector-ref
08d0: 78 20 30 29 20 28 76 65 63 74 6f 72 2d 72 65 66 x 0) (vector-ref
08e0: 20 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 i 0)).
08f0: 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f (* (vecto
0900: 72 2d 72 65 66 20 78 20 31 29 20 28 76 65 63 74 r-ref x 1) (vect
0910: 6f 72 2d 72 65 66 20 69 20 31 29 29 0a 20 20 20 or-ref i 1)).
0920: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
0930: 63 74 6f 72 2d 72 65 66 20 78 20 32 29 29 29 0a ctor-ref x 2))).
0940: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
0950: 6d 62 64 61 20 28 78 20 69 29 0a 20 20 20 20 20 mbda (x i).
0960: 20 20 20 20 20 20 20 20 20 20 28 2b 0a 20 20 20 (+.
0970: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 (*
0980: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 30 29 (vector-ref x 0)
0990: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 30 (vector-ref i 0
09a0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
09b0: 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 (* (vector-re
09c0: 66 20 78 20 31 29 20 28 76 65 63 74 6f 72 2d 72 f x 1) (vector-r
09d0: 65 66 20 69 20 31 29 29 0a 20 20 20 20 20 20 20 ef i 1)).
09e0: 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 (* (vec
09f0: 74 6f 72 2d 72 65 66 20 78 20 32 29 20 28 76 65 tor-ref x 2) (ve
0a00: 63 74 6f 72 2d 72 65 66 20 69 20 32 29 29 0a 20 ctor-ref i 2)).
0a10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
0a20: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 33 29 29 vector-ref x 3))
0a30: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ). (
0a40: 6c 61 6d 62 64 61 20 28 78 20 69 29 0a 20 20 20 lambda (x i).
0a50: 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 0a 20 (+.
0a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
0a70: 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 * (vector-ref x
0a80: 30 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 0) (vector-ref i
0a90: 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 0)).
0aa0: 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d (* (vector-
0ab0: 72 65 66 20 78 20 31 29 20 28 76 65 63 74 6f 72 ref x 1) (vector
0ac0: 2d 72 65 66 20 69 20 31 29 29 0a 20 20 20 20 20 -ref i 1)).
0ad0: 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 (* (v
0ae0: 65 63 74 6f 72 2d 72 65 66 20 78 20 32 29 20 28 ector-ref x 2) (
0af0: 76 65 63 74 6f 72 2d 72 65 66 20 69 20 32 29 29 vector-ref i 2))
0b00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0b10: 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (* (vector-ref
0b20: 78 20 33 29 20 28 76 65 63 74 6f 72 2d 72 65 66 x 3) (vector-ref
0b30: 20 69 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 i 3)).
0b40: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
0b50: 65 66 20 78 20 34 29 29 29 0a 20 20 20 20 20 20 ef x 4))).
0b60: 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (lambda (
0b70: 78 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 x i).
0b80: 20 20 20 20 28 2b 0a 20 20 20 20 20 20 20 20 20 (+.
0b90: 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f (* (vecto
0ba0: 72 2d 72 65 66 20 78 20 30 29 20 28 76 65 63 74 r-ref x 0) (vect
0bb0: 6f 72 2d 72 65 66 20 69 20 30 29 29 0a 20 20 20 or-ref i 0)).
0bc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 (*
0bd0: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 31 29 (vector-ref x 1)
0be0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 31 (vector-ref i 1
0bf0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
0c00: 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 (* (vector-re
0c10: 66 20 78 20 32 29 20 28 76 65 63 74 6f 72 2d 72 f x 2) (vector-r
0c20: 65 66 20 69 20 32 29 29 0a 20 20 20 20 20 20 20 ef i 2)).
0c30: 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 (* (vec
0c40: 74 6f 72 2d 72 65 66 20 78 20 33 29 20 28 76 65 tor-ref x 3) (ve
0c50: 63 74 6f 72 2d 72 65 66 20 69 20 33 29 29 0a 20 ctor-ref i 3)).
0c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
0c70: 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 * (vector-ref x
0c80: 34 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 4) (vector-ref i
0c90: 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 4)).
0ca0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
0cb0: 20 78 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 x 5))).
0cc0: 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 78 20 (lambda (x
0cd0: 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 i).
0ce0: 20 20 28 2b 0a 20 20 20 20 20 20 20 20 20 20 20 (+.
0cf0: 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d (* (vector-
0d00: 72 65 66 20 78 20 30 29 20 28 76 65 63 74 6f 72 ref x 0) (vector
0d10: 2d 72 65 66 20 69 20 30 29 29 0a 20 20 20 20 20 -ref i 0)).
0d20: 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 (* (v
0d30: 65 63 74 6f 72 2d 72 65 66 20 78 20 31 29 20 28 ector-ref x 1) (
0d40: 76 65 63 74 6f 72 2d 72 65 66 20 69 20 31 29 29 vector-ref i 1))
0d50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0d60: 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (* (vector-ref
0d70: 78 20 32 29 20 28 76 65 63 74 6f 72 2d 72 65 66 x 2) (vector-ref
0d80: 20 69 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 i 2)).
0d90: 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f (* (vecto
0da0: 72 2d 72 65 66 20 78 20 33 29 20 28 76 65 63 74 r-ref x 3) (vect
0db0: 6f 72 2d 72 65 66 20 69 20 33 29 29 0a 20 20 20 or-ref i 3)).
0dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 (*
0dd0: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 34 29 (vector-ref x 4)
0de0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 34 (vector-ref i 4
0df0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
0e00: 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 (* (vector-re
0e10: 66 20 78 20 35 29 20 28 76 65 63 74 6f 72 2d 72 f x 5) (vector-r
0e20: 65 66 20 69 20 35 29 29 0a 20 20 20 20 20 20 20 ef i 5)).
0e30: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
0e40: 2d 72 65 66 20 78 20 36 29 29 29 0a 20 20 20 20 -ref x 6))).
0e50: 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 (lambda
0e60: 20 28 78 20 69 29 0a 20 20 20 20 20 20 20 20 20 (x i).
0e70: 20 20 20 20 20 20 28 2b 0a 20 20 20 20 20 20 20 (+.
0e80: 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 (* (vec
0e90: 74 6f 72 2d 72 65 66 20 78 20 30 29 20 28 76 65 tor-ref x 0) (ve
0ea0: 63 74 6f 72 2d 72 65 66 20 69 20 30 29 29 0a 20 ctor-ref i 0)).
0eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
0ec0: 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 * (vector-ref x
0ed0: 31 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 1) (vector-ref i
0ee0: 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 1)).
0ef0: 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d (* (vector-
0f00: 72 65 66 20 78 20 32 29 20 28 76 65 63 74 6f 72 ref x 2) (vector
0f10: 2d 72 65 66 20 69 20 32 29 29 0a 20 20 20 20 20 -ref i 2)).
0f20: 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 (* (v
0f30: 65 63 74 6f 72 2d 72 65 66 20 78 20 33 29 20 28 ector-ref x 3) (
0f40: 76 65 63 74 6f 72 2d 72 65 66 20 69 20 33 29 29 vector-ref i 3))
0f50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0f60: 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (* (vector-ref
0f70: 78 20 34 29 20 28 76 65 63 74 6f 72 2d 72 65 66 x 4) (vector-ref
0f80: 20 69 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 i 4)).
0f90: 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f (* (vecto
0fa0: 72 2d 72 65 66 20 78 20 35 29 20 28 76 65 63 74 r-ref x 5) (vect
0fb0: 6f 72 2d 72 65 66 20 69 20 35 29 29 0a 20 20 20 or-ref i 5)).
0fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 (*
0fd0: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 36 29 (vector-ref x 6)
0fe0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 36 (vector-ref i 6
0ff0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
1000: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
1010: 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 7))).
1020: 20 20 20 28 6c 61 6d 62 64 61 20 28 78 20 69 29 (lambda (x i)
1030: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1040: 28 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (+.
1050: 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 (* (vector-re
1060: 66 20 78 20 30 29 20 28 76 65 63 74 6f 72 2d 72 f x 0) (vector-r
1070: 65 66 20 69 20 30 29 29 0a 20 20 20 20 20 20 20 ef i 0)).
1080: 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 (* (vec
1090: 74 6f 72 2d 72 65 66 20 78 20 31 29 20 28 76 65 tor-ref x 1) (ve
10a0: 63 74 6f 72 2d 72 65 66 20 69 20 31 29 29 0a 20 ctor-ref i 1)).
10b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
10c0: 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 * (vector-ref x
10d0: 32 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 2) (vector-ref i
10e0: 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 2)).
10f0: 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d (* (vector-
1100: 72 65 66 20 78 20 33 29 20 28 76 65 63 74 6f 72 ref x 3) (vector
1110: 2d 72 65 66 20 69 20 33 29 29 0a 20 20 20 20 20 -ref i 3)).
1120: 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 (* (v
1130: 65 63 74 6f 72 2d 72 65 66 20 78 20 34 29 20 28 ector-ref x 4) (
1140: 76 65 63 74 6f 72 2d 72 65 66 20 69 20 34 29 29 vector-ref i 4))
1150: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1160: 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (* (vector-ref
1170: 78 20 35 29 20 28 76 65 63 74 6f 72 2d 72 65 66 x 5) (vector-ref
1180: 20 69 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 i 5)).
1190: 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f (* (vecto
11a0: 72 2d 72 65 66 20 78 20 36 29 20 28 76 65 63 74 r-ref x 6) (vect
11b0: 6f 72 2d 72 65 66 20 69 20 36 29 29 0a 20 20 20 or-ref i 6)).
11c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 (*
11d0: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 37 29 (vector-ref x 7)
11e0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 37 (vector-ref i 7
11f0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
1200: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
1210: 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 8))).
1220: 20 20 20 28 6c 61 6d 62 64 61 20 28 78 20 69 29 (lambda (x i)
1230: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1240: 28 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (+.
1250: 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 (* (vector-re
1260: 66 20 78 20 30 29 20 28 76 65 63 74 6f 72 2d 72 f x 0) (vector-r
1270: 65 66 20 69 20 30 29 29 0a 20 20 20 20 20 20 20 ef i 0)).
1280: 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 (* (vec
1290: 74 6f 72 2d 72 65 66 20 78 20 31 29 20 28 76 65 tor-ref x 1) (ve
12a0: 63 74 6f 72 2d 72 65 66 20 69 20 31 29 29 0a 20 ctor-ref i 1)).
12b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
12c0: 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 * (vector-ref x
12d0: 32 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 2) (vector-ref i
12e0: 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 2)).
12f0: 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d (* (vector-
1300: 72 65 66 20 78 20 33 29 20 28 76 65 63 74 6f 72 ref x 3) (vector
1310: 2d 72 65 66 20 69 20 33 29 29 0a 20 20 20 20 20 -ref i 3)).
1320: 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 (* (v
1330: 65 63 74 6f 72 2d 72 65 66 20 78 20 34 29 20 28 ector-ref x 4) (
1340: 76 65 63 74 6f 72 2d 72 65 66 20 69 20 34 29 29 vector-ref i 4))
1350: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1360: 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (* (vector-ref
1370: 78 20 35 29 20 28 76 65 63 74 6f 72 2d 72 65 66 x 5) (vector-ref
1380: 20 69 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 i 5)).
1390: 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f (* (vecto
13a0: 72 2d 72 65 66 20 78 20 36 29 20 28 76 65 63 74 r-ref x 6) (vect
13b0: 6f 72 2d 72 65 66 20 69 20 36 29 29 0a 20 20 20 or-ref i 6)).
13c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 (*
13d0: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 37 29 (vector-ref x 7)
13e0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 37 (vector-ref i 7
13f0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
1400: 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 (* (vector-re
1410: 66 20 78 20 38 29 20 28 76 65 63 74 6f 72 2d 72 f x 8) (vector-r
1420: 65 66 20 69 20 38 29 29 0a 20 20 20 20 20 20 20 ef i 8)).
1430: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
1440: 2d 72 65 66 20 78 20 39 29 29 29 29 29 0a 20 20 -ref x 9))))).
1450: 20 20 20 20 20 20 20 20 28 69 74 0a 20 20 20 20 (it.
1460: 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (lambda (
1470: 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 w).
1480: 28 6c 61 6d 62 64 61 20 28 78 20 69 29 0a 20 20 (lambda (x i).
1490: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 0a (+.
14a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
14b0: 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (* (vector-ref x
14c0: 20 30 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 0) (vector-ref
14d0: 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 i 0)).
14e0: 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 (* (vector
14f0: 2d 72 65 66 20 78 20 31 29 20 28 76 65 63 74 6f -ref x 1) (vecto
1500: 72 2d 72 65 66 20 69 20 31 29 29 0a 20 20 20 20 r-ref i 1)).
1510: 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 (* (
1520: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 32 29 20 vector-ref x 2)
1530: 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 32 29 (vector-ref i 2)
1540: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
1550: 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 (* (vector-ref
1560: 20 78 20 33 29 20 28 76 65 63 74 6f 72 2d 72 65 x 3) (vector-re
1570: 66 20 69 20 33 29 29 0a 20 20 20 20 20 20 20 20 f i 3)).
1580: 20 20 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 (* (vect
1590: 6f 72 2d 72 65 66 20 78 20 34 29 20 28 76 65 63 or-ref x 4) (vec
15a0: 74 6f 72 2d 72 65 66 20 69 20 34 29 29 0a 20 20 tor-ref i 4)).
15b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a (*
15c0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 35 (vector-ref x 5
15d0: 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 ) (vector-ref i
15e0: 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 5)).
15f0: 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 2d 72 (* (vector-r
1600: 65 66 20 78 20 36 29 20 28 76 65 63 74 6f 72 2d ef x 6) (vector-
1610: 72 65 66 20 69 20 36 29 29 0a 20 20 20 20 20 20 ref i 6)).
1620: 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 76 65 (* (ve
1630: 63 74 6f 72 2d 72 65 66 20 78 20 37 29 20 28 76 ctor-ref x 7) (v
1640: 65 63 74 6f 72 2d 72 65 66 20 69 20 37 29 29 0a ector-ref i 7)).
1650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1660: 28 2a 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (* (vector-ref x
1670: 20 38 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 8) (vector-ref
1680: 69 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 i 8)).
1690: 20 20 20 20 20 20 28 2a 20 28 76 65 63 74 6f 72 (* (vector
16a0: 2d 72 65 66 20 78 20 39 29 20 28 76 65 63 74 6f -ref x 9) (vecto
16b0: 72 2d 72 65 66 20 69 20 39 29 29 0a 20 20 20 20 r-ref i 9)).
16c0: 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 20 (do
16d0: 28 28 78 69 0a 20 20 20 20 20 20 20 20 20 20 20 ((xi.
16e0: 20 20 20 20 20 20 20 20 20 20 20 30 0a 20 20 20 0.
16f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1700: 20 20 20 28 2b 0a 20 20 20 20 20 20 20 20 20 20 (+.
1710: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 (*
1720: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 75 29 (vector-ref x u)
1730: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 20 75 (vector-ref i u
1740: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
1750: 20 20 20 20 20 20 20 20 20 20 78 69 29 29 0a 20 xi)).
1760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1770: 20 20 20 20 28 75 20 28 2d 20 77 20 31 29 20 28 (u (- w 1) (
1780: 2d 20 75 20 31 29 29 29 0a 20 20 20 20 20 20 20 - u 1))).
1790: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3c ((<
17a0: 20 75 20 31 30 29 20 78 69 29 29 0a 20 20 20 20 u 10) xi)).
17b0: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
17c0: 74 6f 72 2d 72 65 66 20 78 20 77 29 29 29 29 29 tor-ref x w)))))
17d0: 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 ). (lambda
17e0: 28 72 29 20 28 69 66 20 28 3c 20 72 20 31 30 29 (r) (if (< r 10)
17f0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 65 6d 20 (vector-ref em
1800: 72 29 20 28 69 74 20 72 29 29 29 29 29 0a 20 20 r) (it r))))).
1810: 28 64 65 66 69 6e 65 20 61 72 72 61 79 3a 69 6e (define array:in
1820: 64 65 78 65 72 2f 61 72 72 61 79 0a 20 20 20 20 dexer/array.
1830: 28 6c 65 74 20 28 28 65 6d 0a 20 20 20 20 20 20 (let ((em.
1840: 20 20 20 20 20 28 76 65 63 74 6f 72 0a 20 20 20 (vector.
1850: 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 (lambd
1860: 61 20 28 78 20 76 20 69 29 20 28 2b 20 28 76 65 a (x v i) (+ (ve
1870: 63 74 6f 72 2d 72 65 66 20 78 20 30 29 29 29 0a ctor-ref x 0))).
1880: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
1890: 6d 62 64 61 20 28 78 20 76 20 69 29 0a 20 20 20 mbda (x v i).
18a0: 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 0a 20 (+.
18b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
18c0: 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.
18d0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
18e0: 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 0).
18f0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
1900: 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d v (array:actor-
1910: 69 6e 64 65 78 20 69 20 30 29 29 29 0a 20 20 20 index i 0))).
1920: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
1930: 63 74 6f 72 2d 72 65 66 20 78 20 31 29 29 29 0a ctor-ref x 1))).
1940: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
1950: 6d 62 64 61 20 28 78 20 76 20 69 29 0a 20 20 20 mbda (x v i).
1960: 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 0a 20 (+.
1970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
1980: 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.
1990: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
19a0: 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 0).
19b0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
19c0: 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d v (array:actor-
19d0: 69 6e 64 65 78 20 69 20 30 29 29 29 0a 20 20 20 index i 0))).
19e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a (*.
19f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a00: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 31 (vector-ref x 1
1a10: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
1a20: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
1a30: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
1a40: 64 65 78 20 69 20 31 29 29 29 0a 20 20 20 20 20 dex i 1))).
1a50: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
1a60: 6f 72 2d 72 65 66 20 78 20 32 29 29 29 0a 20 20 or-ref x 2))).
1a70: 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 (lamb
1a80: 64 61 20 28 78 20 76 20 69 29 0a 20 20 20 20 20 da (x v i).
1a90: 20 20 20 20 20 20 20 20 20 20 28 2b 0a 20 20 20 (+.
1aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a (*.
1ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 30 (vector-ref x 0
1ad0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
1ae0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
1af0: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
1b00: 64 65 78 20 69 20 30 29 29 29 0a 20 20 20 20 20 dex i 0))).
1b10: 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 (*.
1b20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
1b30: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 31 29 0a vector-ref x 1).
1b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b50: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 (vector-ref v (
1b60: 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 array:actor-inde
1b70: 78 20 69 20 31 29 29 29 0a 20 20 20 20 20 20 20 x i 1))).
1b80: 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 (*.
1b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
1ba0: 63 74 6f 72 2d 72 65 66 20 78 20 32 29 0a 20 20 ctor-ref x 2).
1bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
1bc0: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 vector-ref v (ar
1bd0: 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 ray:actor-index
1be0: 69 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 i 2))).
1bf0: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
1c00: 65 66 20 78 20 33 29 29 29 0a 20 20 20 20 20 20 ef x 3))).
1c10: 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (lambda (
1c20: 78 20 76 20 69 29 0a 20 20 20 20 20 20 20 20 20 x v i).
1c30: 20 20 20 20 20 20 28 2b 0a 20 20 20 20 20 20 20 (+.
1c40: 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 (*.
1c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
1c60: 63 74 6f 72 2d 72 65 66 20 78 20 30 29 0a 20 20 ctor-ref x 0).
1c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
1c80: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 vector-ref v (ar
1c90: 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 ray:actor-index
1ca0: 69 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 i 0))).
1cb0: 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 (*.
1cc0: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
1cd0: 6f 72 2d 72 65 66 20 78 20 31 29 0a 20 20 20 20 or-ref x 1).
1ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
1cf0: 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 ctor-ref v (arra
1d00: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 y:actor-index i
1d10: 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 1))).
1d20: 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 (*.
1d30: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
1d40: 2d 72 65 66 20 78 20 32 29 0a 20 20 20 20 20 20 -ref x 2).
1d50: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
1d60: 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a or-ref v (array:
1d70: 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 32 29 actor-index i 2)
1d80: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
1d90: 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 (*.
1da0: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
1db0: 65 66 20 78 20 33 29 0a 20 20 20 20 20 20 20 20 ef x 3).
1dc0: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
1dd0: 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 -ref v (array:ac
1de0: 74 6f 72 2d 69 6e 64 65 78 20 69 20 33 29 29 29 tor-index i 3)))
1df0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1e00: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 34 (vector-ref x 4
1e10: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))).
1e20: 20 28 6c 61 6d 62 64 61 20 28 78 20 76 20 69 29 (lambda (x v i)
1e30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1e40: 28 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (+.
1e50: 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 (*.
1e60: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
1e70: 65 66 20 78 20 30 29 0a 20 20 20 20 20 20 20 20 ef x 0).
1e80: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
1e90: 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 -ref v (array:ac
1ea0: 74 6f 72 2d 69 6e 64 65 78 20 69 20 30 29 29 29 tor-index i 0)))
1eb0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1ec0: 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 (*.
1ed0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
1ee0: 20 78 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 x 1).
1ef0: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
1f00: 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f ef v (array:acto
1f10: 72 2d 69 6e 64 65 78 20 69 20 31 29 29 29 0a 20 r-index i 1))).
1f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
1f30: 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.
1f40: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
1f50: 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2).
1f60: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
1f70: 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d v (array:actor-
1f80: 69 6e 64 65 78 20 69 20 32 29 29 29 0a 20 20 20 index i 2))).
1f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a (*.
1fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 33 (vector-ref x 3
1fc0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
1fd0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
1fe0: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
1ff0: 64 65 78 20 69 20 33 29 29 29 0a 20 20 20 20 20 dex i 3))).
2000: 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 (*.
2010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2020: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 34 29 0a vector-ref x 4).
2030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2040: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 (vector-ref v (
2050: 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 array:actor-inde
2060: 78 20 69 20 34 29 29 29 0a 20 20 20 20 20 20 20 x i 4))).
2070: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
2080: 2d 72 65 66 20 78 20 35 29 29 29 0a 20 20 20 20 -ref x 5))).
2090: 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 (lambda
20a0: 20 28 78 20 76 20 69 29 0a 20 20 20 20 20 20 20 (x v i).
20b0: 20 20 20 20 20 20 20 20 28 2b 0a 20 20 20 20 20 (+.
20c0: 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 (*.
20d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
20e0: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 30 29 0a vector-ref x 0).
20f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2100: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 (vector-ref v (
2110: 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 array:actor-inde
2120: 78 20 69 20 30 29 29 29 0a 20 20 20 20 20 20 20 x i 0))).
2130: 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 (*.
2140: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
2150: 63 74 6f 72 2d 72 65 66 20 78 20 31 29 0a 20 20 ctor-ref x 1).
2160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2170: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 vector-ref v (ar
2180: 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 ray:actor-index
2190: 69 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 i 1))).
21a0: 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 (*.
21b0: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
21c0: 6f 72 2d 72 65 66 20 78 20 32 29 0a 20 20 20 20 or-ref x 2).
21d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
21e0: 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 ctor-ref v (arra
21f0: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 y:actor-index i
2200: 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 2))).
2210: 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 (*.
2220: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
2230: 2d 72 65 66 20 78 20 33 29 0a 20 20 20 20 20 20 -ref x 3).
2240: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
2250: 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a or-ref v (array:
2260: 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 33 29 actor-index i 3)
2270: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
2280: 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 (*.
2290: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
22a0: 65 66 20 78 20 34 29 0a 20 20 20 20 20 20 20 20 ef x 4).
22b0: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
22c0: 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 -ref v (array:ac
22d0: 74 6f 72 2d 69 6e 64 65 78 20 69 20 34 29 29 29 tor-index i 4)))
22e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
22f0: 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 (*.
2300: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2310: 20 78 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 x 5).
2320: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
2330: 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f ef v (array:acto
2340: 72 2d 69 6e 64 65 78 20 69 20 35 29 29 29 0a 20 r-index i 5))).
2350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2360: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 36 29 29 vector-ref x 6))
2370: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ). (
2380: 6c 61 6d 62 64 61 20 28 78 20 76 20 69 29 0a 20 lambda (x v i).
2390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b (+
23a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
23b0: 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 (*.
23c0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
23d0: 20 78 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 x 0).
23e0: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
23f0: 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f ef v (array:acto
2400: 72 2d 69 6e 64 65 78 20 69 20 30 29 29 29 0a 20 r-index i 0))).
2410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2420: 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.
2430: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
2440: 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 1).
2450: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2460: 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d v (array:actor-
2470: 69 6e 64 65 78 20 69 20 31 29 29 29 0a 20 20 20 index i 1))).
2480: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a (*.
2490: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
24a0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 32 (vector-ref x 2
24b0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
24c0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
24d0: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
24e0: 64 65 78 20 69 20 32 29 29 29 0a 20 20 20 20 20 dex i 2))).
24f0: 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 (*.
2500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2510: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 33 29 0a vector-ref x 3).
2520: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2530: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 (vector-ref v (
2540: 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 array:actor-inde
2550: 78 20 69 20 33 29 29 29 0a 20 20 20 20 20 20 20 x i 3))).
2560: 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 (*.
2570: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
2580: 63 74 6f 72 2d 72 65 66 20 78 20 34 29 0a 20 20 ctor-ref x 4).
2590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
25a0: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 vector-ref v (ar
25b0: 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 ray:actor-index
25c0: 69 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 i 4))).
25d0: 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 (*.
25e0: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
25f0: 6f 72 2d 72 65 66 20 78 20 35 29 0a 20 20 20 20 or-ref x 5).
2600: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
2610: 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 ctor-ref v (arra
2620: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 y:actor-index i
2630: 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 5))).
2640: 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 (*.
2650: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
2660: 2d 72 65 66 20 78 20 36 29 0a 20 20 20 20 20 20 -ref x 6).
2670: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
2680: 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a or-ref v (array:
2690: 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 36 29 actor-index i 6)
26a0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
26b0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
26c0: 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 7))).
26d0: 20 20 20 28 6c 61 6d 62 64 61 20 28 78 20 76 20 (lambda (x v
26e0: 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 i).
26f0: 20 20 28 2b 0a 20 20 20 20 20 20 20 20 20 20 20 (+.
2700: 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 (*.
2710: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
2720: 2d 72 65 66 20 78 20 30 29 0a 20 20 20 20 20 20 -ref x 0).
2730: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
2740: 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a or-ref v (array:
2750: 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 30 29 actor-index i 0)
2760: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
2770: 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 (*.
2780: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
2790: 65 66 20 78 20 31 29 0a 20 20 20 20 20 20 20 20 ef x 1).
27a0: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
27b0: 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 -ref v (array:ac
27c0: 74 6f 72 2d 69 6e 64 65 78 20 69 20 31 29 29 29 tor-index i 1)))
27d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
27e0: 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 (*.
27f0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2800: 20 78 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 x 2).
2810: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
2820: 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f ef v (array:acto
2830: 72 2d 69 6e 64 65 78 20 69 20 32 29 29 29 0a 20 r-index i 2))).
2840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2850: 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.
2860: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
2870: 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3).
2880: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2890: 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d v (array:actor-
28a0: 69 6e 64 65 78 20 69 20 33 29 29 29 0a 20 20 20 index i 3))).
28b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a (*.
28c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
28d0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 34 (vector-ref x 4
28e0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
28f0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
2900: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
2910: 64 65 78 20 69 20 34 29 29 29 0a 20 20 20 20 20 dex i 4))).
2920: 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 (*.
2930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2940: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 35 29 0a vector-ref x 5).
2950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2960: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 (vector-ref v (
2970: 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 array:actor-inde
2980: 78 20 69 20 35 29 29 29 0a 20 20 20 20 20 20 20 x i 5))).
2990: 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 (*.
29a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
29b0: 63 74 6f 72 2d 72 65 66 20 78 20 36 29 0a 20 20 ctor-ref x 6).
29c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
29d0: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 vector-ref v (ar
29e0: 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 ray:actor-index
29f0: 69 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 i 6))).
2a00: 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 (*.
2a10: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
2a20: 6f 72 2d 72 65 66 20 78 20 37 29 0a 20 20 20 20 or-ref x 7).
2a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
2a40: 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 ctor-ref v (arra
2a50: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 y:actor-index i
2a60: 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 7))).
2a70: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2a80: 20 78 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 x 8))).
2a90: 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 78 20 (lambda (x
2aa0: 76 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 v i).
2ab0: 20 20 20 20 28 2b 0a 20 20 20 20 20 20 20 20 20 (+.
2ac0: 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 (*.
2ad0: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
2ae0: 6f 72 2d 72 65 66 20 78 20 30 29 0a 20 20 20 20 or-ref x 0).
2af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
2b00: 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 ctor-ref v (arra
2b10: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 y:actor-index i
2b20: 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 0))).
2b30: 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 (*.
2b40: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
2b50: 2d 72 65 66 20 78 20 31 29 0a 20 20 20 20 20 20 -ref x 1).
2b60: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
2b70: 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a or-ref v (array:
2b80: 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 31 29 actor-index i 1)
2b90: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
2ba0: 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 (*.
2bb0: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
2bc0: 65 66 20 78 20 32 29 0a 20 20 20 20 20 20 20 20 ef x 2).
2bd0: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
2be0: 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 -ref v (array:ac
2bf0: 74 6f 72 2d 69 6e 64 65 78 20 69 20 32 29 29 29 tor-index i 2)))
2c00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2c10: 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 (*.
2c20: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2c30: 20 78 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 x 3).
2c40: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
2c50: 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f ef v (array:acto
2c60: 72 2d 69 6e 64 65 78 20 69 20 33 29 29 29 0a 20 r-index i 3))).
2c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2c80: 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.
2c90: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 (vector-ref x
2ca0: 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 4).
2cb0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2cc0: 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d v (array:actor-
2cd0: 69 6e 64 65 78 20 69 20 34 29 29 29 0a 20 20 20 index i 4))).
2ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a (*.
2cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2d00: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 35 (vector-ref x 5
2d10: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
2d20: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
2d30: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
2d40: 64 65 78 20 69 20 35 29 29 29 0a 20 20 20 20 20 dex i 5))).
2d50: 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 (*.
2d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2d70: 76 65 63 74 6f 72 2d 72 65 66 20 78 20 36 29 0a vector-ref x 6).
2d80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2d90: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 (vector-ref v (
2da0: 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 array:actor-inde
2db0: 78 20 69 20 36 29 29 29 0a 20 20 20 20 20 20 20 x i 6))).
2dc0: 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 (*.
2dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
2de0: 63 74 6f 72 2d 72 65 66 20 78 20 37 29 0a 20 20 ctor-ref x 7).
2df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
2e00: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 vector-ref v (ar
2e10: 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 ray:actor-index
2e20: 69 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 i 7))).
2e30: 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 (*.
2e40: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
2e50: 6f 72 2d 72 65 66 20 78 20 38 29 0a 20 20 20 20 or-ref x 8).
2e60: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
2e70: 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 ctor-ref v (arra
2e80: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 y:actor-index i
2e90: 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 8))).
2ea0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
2eb0: 20 78 20 39 29 29 29 29 29 0a 20 20 20 20 20 20 x 9))))).
2ec0: 20 20 20 20 28 69 74 0a 20 20 20 20 20 20 20 20 (it.
2ed0: 20 20 20 28 6c 61 6d 62 64 61 20 28 77 29 0a 20 (lambda (w).
2ee0: 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d (lam
2ef0: 62 64 61 20 28 78 20 76 20 69 29 0a 20 20 20 20 bda (x v i).
2f00: 20 20 20 20 20 20 20 20 20 20 20 28 2b 0a 20 20 (+.
2f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a (*
2f20: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2f30: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 (vector-ref x
2f40: 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 0).
2f50: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
2f60: 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 v (array:actor-i
2f70: 6e 64 65 78 20 69 20 30 29 29 29 0a 20 20 20 20 ndex i 0))).
2f80: 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 (*.
2f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2fa0: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 31 29 (vector-ref x 1)
2fb0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2fc0: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 (vector-ref v
2fd0: 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 (array:actor-ind
2fe0: 65 78 20 69 20 31 29 29 29 0a 20 20 20 20 20 20 ex i 1))).
2ff0: 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 (*.
3000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 (v
3010: 65 63 74 6f 72 2d 72 65 66 20 78 20 32 29 0a 20 ector-ref x 2).
3020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3030: 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 (vector-ref v (a
3040: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
3050: 20 69 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 i 2))).
3060: 20 20 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 (*.
3070: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
3080: 74 6f 72 2d 72 65 66 20 78 20 33 29 0a 20 20 20 tor-ref x 3).
3090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 (v
30a0: 65 63 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 ector-ref v (arr
30b0: 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 ay:actor-index i
30c0: 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3))).
30d0: 20 20 20 20 20 20 28 2a 0a 20 20 20 20 20 20 20 (*.
30e0: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
30f0: 72 2d 72 65 66 20 78 20 34 29 0a 20 20 20 20 20 r-ref x 4).
3100: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
3110: 74 6f 72 2d 72 65 66 20 76 20 28 61 72 72 61 79 tor-ref v (array
3120: 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 34 :actor-index i 4
3130: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))).
3140: 20 20 20 20 28 2a 0a 20 20 20 20 20 20 20 20 20 (*.
3150: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
3160: 72 65 66 20 78 20 35 29 0a 20 20 20 20 20 20 20 ref x 5).
3170: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
3180: 72 2d 72 65 66 20 76 20 28 61 72 72 61 79 3a 61 r-ref v (array:a
3190: 63 74 6f 72 2d 69 6e 64 65 78 20 69 20 35 29 29 ctor-index i 5))
31a0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
31b0: 20 20 28 2a 0a 20 20 20 20 20 20 20 20 20 20 20 (*.
31c0: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
31d0: 66 20 78 20 36 29 0a 20 20 20 20 20 20 20 20 20 f x 6).
31e0: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
31f0: 72 65 66 20 76 20 28 61 72 72 61 79 3a 61 63 74 ref v (array:act
3200: 6f 72 2d 69 6e 64 65 78 20 69 20 36 29 29 29 0a or-index i 6))).
3210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3220: 28 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (*.
3230: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
3240: 78 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 x 7).
3250: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
3260: 66 20 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 f v (array:actor
3270: 2d 69 6e 64 65 78 20 69 20 37 29 29 29 0a 20 20 -index i 7))).
3280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a (*
3290: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
32a0: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 (vector-ref x
32b0: 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 8).
32c0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
32d0: 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 v (array:actor-i
32e0: 6e 64 65 78 20 69 20 38 29 29 29 0a 20 20 20 20 ndex i 8))).
32f0: 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 (*.
3300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3310: 28 76 65 63 74 6f 72 2d 72 65 66 20 78 20 39 29 (vector-ref x 9)
3320: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3330: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 (vector-ref v
3340: 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 (array:actor-ind
3350: 65 78 20 69 20 39 29 29 29 0a 20 20 20 20 20 20 ex i 9))).
3360: 20 20 20 20 20 20 20 20 20 20 28 64 6f 20 28 28 (do ((
3370: 78 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 xi.
3380: 20 20 20 20 20 20 20 20 20 30 0a 20 20 20 20 20 0.
3390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
33a0: 20 28 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 (+.
33b0: 20 20 20 20 20 20 20 20 20 20 20 28 2a 0a 20 20 (*.
33c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
33d0: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
33e0: 66 20 78 20 75 29 0a 20 20 20 20 20 20 20 20 20 f x u).
33f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
3400: 76 65 63 74 6f 72 2d 72 65 66 0a 20 20 20 20 20 vector-ref.
3410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3420: 20 20 20 20 20 76 0a 20 20 20 20 20 20 20 20 20 v.
3430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3440: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
3450: 64 65 78 20 69 20 75 29 29 29 0a 20 20 20 20 20 dex i u))).
3460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3470: 20 20 78 69 29 29 0a 20 20 20 20 20 20 20 20 20 xi)).
3480: 20 20 20 20 20 20 20 20 20 20 20 20 28 75 20 28 (u (
3490: 2d 20 77 20 31 29 20 28 2d 20 75 20 31 29 29 29 - w 1) (- u 1)))
34a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
34b0: 20 20 20 20 20 28 28 3c 20 75 20 31 30 29 20 78 ((< u 10) x
34c0: 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 i)).
34d0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
34e0: 78 20 77 29 29 29 29 29 29 0a 20 20 20 20 20 20 x w)))))).
34f0: 28 6c 61 6d 62 64 61 20 28 72 29 20 28 69 66 20 (lambda (r) (if
3500: 28 3c 20 72 20 31 30 29 20 28 76 65 63 74 6f 72 (< r 10) (vector
3510: 2d 72 65 66 20 65 6d 20 72 29 20 28 69 74 20 72 -ref em r) (it r
3520: 29 29 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 ))))). (define
3530: 61 72 72 61 79 3a 61 70 70 6c 69 65 72 2d 74 6f array:applier-to
3540: 2d 76 65 63 74 6f 72 0a 20 20 20 20 28 6c 65 74 -vector. (let
3550: 20 28 28 65 6d 0a 20 20 20 20 20 20 20 20 20 20 ((em.
3560: 20 28 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 (vector.
3570: 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 (lambda (p
3580: 20 76 29 20 28 70 29 29 0a 20 20 20 20 20 20 20 v) (p)).
3590: 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 (lambda (p
35a0: 20 76 29 20 28 70 20 28 76 65 63 74 6f 72 2d 72 v) (p (vector-r
35b0: 65 66 20 76 20 30 29 29 29 0a 20 20 20 20 20 20 ef v 0))).
35c0: 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (lambda (
35d0: 70 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 p v).
35e0: 20 20 20 20 28 70 20 28 76 65 63 74 6f 72 2d 72 (p (vector-r
35f0: 65 66 20 76 20 30 29 20 28 76 65 63 74 6f 72 2d ef v 0) (vector-
3600: 72 65 66 20 76 20 31 29 29 29 0a 20 20 20 20 20 ref v 1))).
3610: 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 (lambda
3620: 28 70 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 (p v).
3630: 20 20 20 20 20 28 70 0a 20 20 20 20 20 20 20 20 (p.
3640: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
3650: 72 65 66 20 76 20 30 29 0a 20 20 20 20 20 20 20 ref v 0).
3660: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
3670: 2d 72 65 66 20 76 20 31 29 0a 20 20 20 20 20 20 -ref v 1).
3680: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
3690: 72 2d 72 65 66 20 76 20 32 29 29 29 0a 20 20 20 r-ref v 2))).
36a0: 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 (lambd
36b0: 61 20 28 70 20 76 29 0a 20 20 20 20 20 20 20 20 a (p v).
36c0: 20 20 20 20 20 20 20 28 70 0a 20 20 20 20 20 20 (p.
36d0: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
36e0: 72 2d 72 65 66 20 76 20 30 29 0a 20 20 20 20 20 r-ref v 0).
36f0: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
3700: 6f 72 2d 72 65 66 20 76 20 31 29 0a 20 20 20 20 or-ref v 1).
3710: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
3720: 74 6f 72 2d 72 65 66 20 76 20 32 29 0a 20 20 20 tor-ref v 2).
3730: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
3740: 63 74 6f 72 2d 72 65 66 20 76 20 33 29 29 29 0a ctor-ref v 3))).
3750: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
3760: 6d 62 64 61 20 28 70 20 76 29 0a 20 20 20 20 20 mbda (p v).
3770: 20 20 20 20 20 20 20 20 20 20 28 70 0a 20 20 20 (p.
3780: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
3790: 63 74 6f 72 2d 72 65 66 20 76 20 30 29 0a 20 20 ctor-ref v 0).
37a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 (v
37b0: 65 63 74 6f 72 2d 72 65 66 20 76 20 31 29 0a 20 ector-ref v 1).
37c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
37d0: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 32 29 0a vector-ref v 2).
37e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
37f0: 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 33 29 (vector-ref v 3)
3800: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3810: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 34 (vector-ref v 4
3820: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))).
3830: 20 28 6c 61 6d 62 64 61 20 28 70 20 76 29 0a 20 (lambda (p v).
3840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 (p
3850: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3860: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 30 (vector-ref v 0
3870: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
3880: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 (vector-ref v
3890: 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 1).
38a0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
38b0: 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2).
38c0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
38d0: 76 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 v 3).
38e0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
38f0: 20 76 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 v 4).
3900: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
3910: 66 20 76 20 35 29 29 29 0a 20 20 20 20 20 20 20 f v 5))).
3920: 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 (lambda (p
3930: 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 v).
3940: 20 20 20 28 70 0a 20 20 20 20 20 20 20 20 20 20 (p.
3950: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
3960: 66 20 76 20 30 29 0a 20 20 20 20 20 20 20 20 20 f v 0).
3970: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
3980: 65 66 20 76 20 31 29 0a 20 20 20 20 20 20 20 20 ef v 1).
3990: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
39a0: 72 65 66 20 76 20 32 29 0a 20 20 20 20 20 20 20 ref v 2).
39b0: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
39c0: 2d 72 65 66 20 76 20 33 29 0a 20 20 20 20 20 20 -ref v 3).
39d0: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
39e0: 72 2d 72 65 66 20 76 20 34 29 0a 20 20 20 20 20 r-ref v 4).
39f0: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
3a00: 6f 72 2d 72 65 66 20 76 20 35 29 0a 20 20 20 20 or-ref v 5).
3a10: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
3a20: 74 6f 72 2d 72 65 66 20 76 20 36 29 29 29 0a 20 tor-ref v 6))).
3a30: 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d (lam
3a40: 62 64 61 20 28 70 20 76 29 0a 20 20 20 20 20 20 bda (p v).
3a50: 20 20 20 20 20 20 20 20 20 28 70 0a 20 20 20 20 (p.
3a60: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
3a70: 74 6f 72 2d 72 65 66 20 76 20 30 29 0a 20 20 20 tor-ref v 0).
3a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
3a90: 63 74 6f 72 2d 72 65 66 20 76 20 31 29 0a 20 20 ctor-ref v 1).
3aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 (v
3ab0: 65 63 74 6f 72 2d 72 65 66 20 76 20 32 29 0a 20 ector-ref v 2).
3ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
3ad0: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 33 29 0a vector-ref v 3).
3ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3af0: 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 34 29 (vector-ref v 4)
3b00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3b10: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 35 (vector-ref v 5
3b20: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
3b30: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 (vector-ref v
3b40: 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6).
3b50: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
3b60: 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 7))).
3b70: 20 20 20 28 6c 61 6d 62 64 61 20 28 70 20 76 29 (lambda (p v)
3b80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3b90: 28 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (p.
3ba0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 (vector-ref v
3bb0: 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 0).
3bc0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
3bd0: 76 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 v 1).
3be0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
3bf0: 20 76 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 v 2).
3c00: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
3c10: 66 20 76 20 33 29 0a 20 20 20 20 20 20 20 20 20 f v 3).
3c20: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
3c30: 65 66 20 76 20 34 29 0a 20 20 20 20 20 20 20 20 ef v 4).
3c40: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
3c50: 72 65 66 20 76 20 35 29 0a 20 20 20 20 20 20 20 ref v 5).
3c60: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
3c70: 2d 72 65 66 20 76 20 36 29 0a 20 20 20 20 20 20 -ref v 6).
3c80: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
3c90: 72 2d 72 65 66 20 76 20 37 29 0a 20 20 20 20 20 r-ref v 7).
3ca0: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
3cb0: 6f 72 2d 72 65 66 20 76 20 38 29 29 29 29 29 0a or-ref v 8))))).
3cc0: 20 20 20 20 20 20 20 20 20 20 28 69 74 0a 20 20 (it.
3cd0: 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 (lambda
3ce0: 20 28 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 (r).
3cf0: 20 20 28 6c 61 6d 62 64 61 20 28 70 20 76 29 0a (lambda (p v).
3d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
3d10: 61 70 70 6c 79 0a 20 20 20 20 20 20 20 20 20 20 apply.
3d20: 20 20 20 20 20 20 70 0a 20 20 20 20 20 20 20 20 p.
3d30: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
3d40: 72 65 66 20 76 20 30 29 0a 20 20 20 20 20 20 20 ref v 0).
3d50: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
3d60: 2d 72 65 66 20 76 20 31 29 0a 20 20 20 20 20 20 -ref v 1).
3d70: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
3d80: 72 2d 72 65 66 20 76 20 32 29 0a 20 20 20 20 20 r-ref v 2).
3d90: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
3da0: 6f 72 2d 72 65 66 20 76 20 33 29 0a 20 20 20 20 or-ref v 3).
3db0: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
3dc0: 74 6f 72 2d 72 65 66 20 76 20 34 29 0a 20 20 20 tor-ref v 4).
3dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
3de0: 63 74 6f 72 2d 72 65 66 20 76 20 35 29 0a 20 20 ctor-ref v 5).
3df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 (v
3e00: 65 63 74 6f 72 2d 72 65 66 20 76 20 36 29 0a 20 ector-ref v 6).
3e10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
3e20: 76 65 63 74 6f 72 2d 72 65 66 20 76 20 37 29 0a vector-ref v 7).
3e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3e40: 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 38 29 (vector-ref v 8)
3e50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3e60: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 20 39 (vector-ref v 9
3e70: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
3e80: 20 20 28 64 6f 20 28 28 6b 20 72 20 28 2d 20 6b (do ((k r (- k
3e90: 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 1)).
3ea0: 20 20 20 20 20 20 20 20 20 20 28 72 0a 20 20 20 (r.
3eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3ec0: 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 20 '().
3ed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f (co
3ee0: 6e 73 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 ns (vector-ref v
3ef0: 20 28 2d 20 6b 20 31 29 29 20 72 29 29 29 0a 20 (- k 1)) r))).
3f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3f10: 20 20 20 28 28 3d 20 6b 20 31 30 29 20 72 29 29 ((= k 10) r))
3f20: 29 29 29 29 29 0a 20 20 20 20 20 20 28 6c 61 6d ))))). (lam
3f30: 62 64 61 20 28 72 29 20 28 69 66 20 28 3c 20 72 bda (r) (if (< r
3f40: 20 31 30 29 20 28 76 65 63 74 6f 72 2d 72 65 66 10) (vector-ref
3f50: 20 65 6d 20 72 29 20 28 69 74 20 72 29 29 29 29 em r) (it r))))
3f60: 29 0a 20 20 28 64 65 66 69 6e 65 20 61 72 72 61 ). (define arra
3f70: 79 3a 61 70 70 6c 69 65 72 2d 74 6f 2d 61 63 74 y:applier-to-act
3f80: 6f 72 0a 20 20 20 20 28 6c 65 74 20 28 28 65 6d or. (let ((em
3f90: 0a 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 . (vec
3fa0: 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 tor.
3fb0: 20 28 6c 61 6d 62 64 61 20 28 70 20 61 29 20 28 (lambda (p a) (
3fc0: 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 p)).
3fd0: 20 28 6c 61 6d 62 64 61 20 28 70 20 61 29 20 28 (lambda (p a) (
3fe0: 70 20 28 61 72 72 61 79 2d 72 65 66 20 61 20 30 p (array-ref a 0
3ff0: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))).
4000: 20 28 6c 61 6d 62 64 61 20 28 70 20 61 29 0a 20 (lambda (p a).
4010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 (p
4020: 20 28 61 72 72 61 79 2d 72 65 66 20 61 20 30 29 (array-ref a 0)
4030: 20 28 61 72 72 61 79 2d 72 65 66 20 61 20 31 29 (array-ref a 1)
4040: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
4050: 28 6c 61 6d 62 64 61 20 28 70 20 61 29 0a 20 20 (lambda (p a).
4060: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 0a (p.
4070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4080: 28 61 72 72 61 79 2d 72 65 66 20 61 20 30 29 0a (array-ref a 0).
4090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
40a0: 28 61 72 72 61 79 2d 72 65 66 20 61 20 31 29 0a (array-ref a 1).
40b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
40c0: 28 61 72 72 61 79 2d 72 65 66 20 61 20 32 29 29 (array-ref a 2))
40d0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ). (
40e0: 6c 61 6d 62 64 61 20 28 70 20 61 29 0a 20 20 20 lambda (p a).
40f0: 20 20 20 20 20 20 20 20 20 20 20 20 28 70 0a 20 (p.
4100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4110: 61 72 72 61 79 2d 72 65 66 20 61 20 30 29 0a 20 array-ref a 0).
4120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4130: 61 72 72 61 79 2d 72 65 66 20 61 20 31 29 0a 20 array-ref a 1).
4140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4150: 61 72 72 61 79 2d 72 65 66 20 61 20 32 29 0a 20 array-ref a 2).
4160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4170: 61 72 72 61 79 2d 72 65 66 20 61 20 33 29 29 29 array-ref a 3)))
4180: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c . (l
4190: 61 6d 62 64 61 20 28 70 20 61 29 0a 20 20 20 20 ambda (p a).
41a0: 20 20 20 20 20 20 20 20 20 20 20 28 70 0a 20 20 (p.
41b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 (a
41c0: 72 72 61 79 2d 72 65 66 20 61 20 30 29 0a 20 20 rray-ref a 0).
41d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 (a
41e0: 72 72 61 79 2d 72 65 66 20 61 20 31 29 0a 20 20 rray-ref a 1).
41f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 (a
4200: 72 72 61 79 2d 72 65 66 20 61 20 32 29 0a 20 20 rray-ref a 2).
4210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 (a
4220: 72 72 61 79 2d 72 65 66 20 61 20 33 29 0a 20 20 rray-ref a 3).
4230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 (a
4240: 72 72 61 79 2d 72 65 66 20 61 20 34 29 29 29 0a rray-ref a 4))).
4250: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
4260: 6d 62 64 61 20 28 70 20 61 29 0a 20 20 20 20 20 mbda (p a).
4270: 20 20 20 20 20 20 20 20 20 20 28 70 0a 20 20 20 (p.
4280: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 (ar
4290: 72 61 79 2d 72 65 66 20 61 20 30 29 0a 20 20 20 ray-ref a 0).
42a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 (ar
42b0: 72 61 79 2d 72 65 66 20 61 20 31 29 0a 20 20 20 ray-ref a 1).
42c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 (ar
42d0: 72 61 79 2d 72 65 66 20 61 20 32 29 0a 20 20 20 ray-ref a 2).
42e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 (ar
42f0: 72 61 79 2d 72 65 66 20 61 20 33 29 0a 20 20 20 ray-ref a 3).
4300: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 (ar
4310: 72 61 79 2d 72 65 66 20 61 20 34 29 0a 20 20 20 ray-ref a 4).
4320: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 (ar
4330: 72 61 79 2d 72 65 66 20 61 20 35 29 29 29 0a 20 ray-ref a 5))).
4340: 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d (lam
4350: 62 64 61 20 28 70 20 61 29 0a 20 20 20 20 20 20 bda (p a).
4360: 20 20 20 20 20 20 20 20 20 28 70 0a 20 20 20 20 (p.
4370: 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 (arr
4380: 61 79 2d 72 65 66 20 61 20 30 29 0a 20 20 20 20 ay-ref a 0).
4390: 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 (arr
43a0: 61 79 2d 72 65 66 20 61 20 31 29 0a 20 20 20 20 ay-ref a 1).
43b0: 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 (arr
43c0: 61 79 2d 72 65 66 20 61 20 32 29 0a 20 20 20 20 ay-ref a 2).
43d0: 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 (arr
43e0: 61 79 2d 72 65 66 20 61 20 33 29 0a 20 20 20 20 ay-ref a 3).
43f0: 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 (arr
4400: 61 79 2d 72 65 66 20 61 20 34 29 0a 20 20 20 20 ay-ref a 4).
4410: 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 (arr
4420: 61 79 2d 72 65 66 20 61 20 35 29 0a 20 20 20 20 ay-ref a 5).
4430: 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 (arr
4440: 61 79 2d 72 65 66 20 61 20 36 29 29 29 0a 20 20 ay-ref a 6))).
4450: 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 (lamb
4460: 64 61 20 28 70 20 61 29 0a 20 20 20 20 20 20 20 da (p a).
4470: 20 20 20 20 20 20 20 20 28 70 0a 20 20 20 20 20 (p.
4480: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
4490: 79 2d 72 65 66 20 61 20 30 29 0a 20 20 20 20 20 y-ref a 0).
44a0: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
44b0: 79 2d 72 65 66 20 61 20 31 29 0a 20 20 20 20 20 y-ref a 1).
44c0: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
44d0: 79 2d 72 65 66 20 61 20 32 29 0a 20 20 20 20 20 y-ref a 2).
44e0: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
44f0: 79 2d 72 65 66 20 61 20 33 29 0a 20 20 20 20 20 y-ref a 3).
4500: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
4510: 79 2d 72 65 66 20 61 20 34 29 0a 20 20 20 20 20 y-ref a 4).
4520: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
4530: 79 2d 72 65 66 20 61 20 35 29 0a 20 20 20 20 20 y-ref a 5).
4540: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
4550: 79 2d 72 65 66 20 61 20 36 29 0a 20 20 20 20 20 y-ref a 6).
4560: 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 (arra
4570: 79 2d 72 65 66 20 61 20 37 29 29 29 0a 20 20 20 y-ref a 7))).
4580: 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 (lambd
4590: 61 20 28 70 20 61 29 0a 20 20 20 20 20 20 20 20 a (p a).
45a0: 20 20 20 20 20 20 20 28 70 0a 20 20 20 20 20 20 (p.
45b0: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
45c0: 2d 72 65 66 20 61 20 30 29 0a 20 20 20 20 20 20 -ref a 0).
45d0: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
45e0: 2d 72 65 66 20 61 20 31 29 0a 20 20 20 20 20 20 -ref a 1).
45f0: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
4600: 2d 72 65 66 20 61 20 32 29 0a 20 20 20 20 20 20 -ref a 2).
4610: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
4620: 2d 72 65 66 20 61 20 33 29 0a 20 20 20 20 20 20 -ref a 3).
4630: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
4640: 2d 72 65 66 20 61 20 34 29 0a 20 20 20 20 20 20 -ref a 4).
4650: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
4660: 2d 72 65 66 20 61 20 35 29 0a 20 20 20 20 20 20 -ref a 5).
4670: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
4680: 2d 72 65 66 20 61 20 36 29 0a 20 20 20 20 20 20 -ref a 6).
4690: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
46a0: 2d 72 65 66 20 61 20 37 29 0a 20 20 20 20 20 20 -ref a 7).
46b0: 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 (array
46c0: 2d 72 65 66 20 61 20 38 29 29 29 29 29 0a 20 20 -ref a 8))))).
46d0: 20 20 20 20 20 20 20 20 28 69 74 0a 20 20 20 20 (it.
46e0: 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (lambda (
46f0: 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r).
4700: 28 6c 61 6d 62 64 61 20 28 70 20 61 29 0a 20 20 (lambda (p a).
4710: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 (ap
4720: 70 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 ply.
4730: 20 20 20 20 61 0a 20 20 20 20 20 20 20 20 20 20 a.
4740: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
4750: 20 61 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 a 0).
4760: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
4770: 20 61 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 a 1).
4780: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
4790: 20 61 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 a 2).
47a0: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
47b0: 20 61 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 a 3).
47c0: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
47d0: 20 61 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 a 4).
47e0: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
47f0: 20 61 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 a 5).
4800: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
4810: 20 61 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 a 6).
4820: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
4830: 20 61 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 a 7).
4840: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
4850: 20 61 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 a 8).
4860: 20 20 20 20 20 20 28 61 72 72 61 79 2d 72 65 66 (array-ref
4870: 20 61 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 a 9).
4880: 20 20 20 20 20 20 28 64 6f 20 28 28 6b 20 72 20 (do ((k r
4890: 28 2d 20 6b 20 31 29 29 0a 20 20 20 20 20 20 20 (- k 1)).
48a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 (r
48b0: 20 27 28 29 20 28 63 6f 6e 73 20 28 61 72 72 61 '() (cons (arra
48c0: 79 2d 72 65 66 20 61 20 28 2d 20 6b 20 31 29 29 y-ref a (- k 1))
48d0: 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 r))).
48e0: 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 6b 20 ((= k
48f0: 31 30 29 20 72 29 29 29 29 29 29 29 0a 20 20 20 10) r))))))).
4900: 20 20 20 28 6c 61 6d 62 64 61 20 28 72 29 0a 20 (lambda (r).
4910: 20 20 20 20 20 20 20 22 54 68 65 73 65 20 61 72 "These ar
4920: 65 20 68 69 67 68 20 6c 65 76 65 6c 2c 20 68 69 e high level, hi
4930: 64 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 ding implementat
4940: 69 6f 6e 20 61 74 20 63 61 6c 6c 20 73 69 74 65 ion at call site
4950: 2e 22 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 .". (if (
4960: 3c 20 72 20 31 30 29 20 28 76 65 63 74 6f 72 2d < r 10) (vector-
4970: 72 65 66 20 65 6d 20 72 29 20 28 69 74 20 72 29 ref em r) (it r)
4980: 29 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 61 )))). (define a
4990: 72 72 61 79 3a 61 70 70 6c 69 65 72 2d 74 6f 2d rray:applier-to-
49a0: 62 61 63 6b 69 6e 67 2d 76 65 63 74 6f 72 0a 20 backing-vector.
49b0: 20 20 20 28 6c 65 74 20 28 28 65 6d 0a 20 20 20 (let ((em.
49c0: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 0a (vector.
49d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
49e0: 6d 62 64 61 20 28 70 20 61 69 20 61 76 29 20 28 mbda (p ai av) (
49f0: 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 p)).
4a00: 20 28 6c 61 6d 62 64 61 20 28 70 20 61 69 20 61 (lambda (p ai a
4a10: 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 v).
4a20: 20 20 28 70 20 28 76 65 63 74 6f 72 2d 72 65 66 (p (vector-ref
4a30: 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 av (array:actor
4a40: 2d 69 6e 64 65 78 20 61 69 20 30 29 29 29 29 0a -index ai 0)))).
4a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
4a60: 6d 62 64 61 20 28 70 20 61 69 20 61 76 29 0a 20 mbda (p ai av).
4a70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 (p
4a80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
4a90: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 (vector-ref av
4aa0: 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 (array:actor-ind
4ab0: 65 78 20 61 69 20 30 29 29 0a 20 20 20 20 20 20 ex ai 0)).
4ac0: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
4ad0: 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 3a r-ref av (array:
4ae0: 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 31 actor-index ai 1
4af0: 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 )))).
4b00: 20 20 28 6c 61 6d 62 64 61 20 28 70 20 61 69 20 (lambda (p ai
4b10: 61 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 av).
4b20: 20 20 20 28 70 0a 20 20 20 20 20 20 20 20 20 20 (p.
4b30: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
4b40: 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f f av (array:acto
4b50: 72 2d 69 6e 64 65 78 20 61 69 20 30 29 29 0a 20 r-index ai 0)).
4b60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4b70: 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 vector-ref av (a
4b80: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
4b90: 20 61 69 20 31 29 29 0a 20 20 20 20 20 20 20 20 ai 1)).
4ba0: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
4bb0: 72 65 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 ref av (array:ac
4bc0: 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 32 29 29 tor-index ai 2))
4bd0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
4be0: 28 6c 61 6d 62 64 61 20 28 70 20 61 69 20 61 76 (lambda (p ai av
4bf0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
4c00: 20 28 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 (p.
4c10: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
4c20: 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d av (array:actor-
4c30: 69 6e 64 65 78 20 61 69 20 30 29 29 0a 20 20 20 index ai 0)).
4c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
4c50: 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 ctor-ref av (arr
4c60: 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 ay:actor-index a
4c70: 69 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 i 1)).
4c80: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
4c90: 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f f av (array:acto
4ca0: 72 2d 69 6e 64 65 78 20 61 69 20 32 29 29 0a 20 r-index ai 2)).
4cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4cc0: 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 vector-ref av (a
4cd0: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
4ce0: 20 61 69 20 33 29 29 29 29 0a 20 20 20 20 20 20 ai 3)))).
4cf0: 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (lambda (
4d00: 70 20 61 69 20 61 76 29 0a 20 20 20 20 20 20 20 p ai av).
4d10: 20 20 20 20 20 20 20 20 28 70 0a 20 20 20 20 20 (p.
4d20: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
4d30: 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 or-ref av (array
4d40: 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 :actor-index ai
4d50: 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 0)).
4d60: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
4d70: 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d av (array:actor-
4d80: 69 6e 64 65 78 20 61 69 20 31 29 29 0a 20 20 20 index ai 1)).
4d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
4da0: 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 ctor-ref av (arr
4db0: 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 ay:actor-index a
4dc0: 69 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 i 2)).
4dd0: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
4de0: 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f f av (array:acto
4df0: 72 2d 69 6e 64 65 78 20 61 69 20 33 29 29 0a 20 r-index ai 3)).
4e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4e10: 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 vector-ref av (a
4e20: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
4e30: 20 61 69 20 34 29 29 29 29 0a 20 20 20 20 20 20 ai 4)))).
4e40: 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (lambda (
4e50: 70 20 61 69 20 61 76 29 0a 20 20 20 20 20 20 20 p ai av).
4e60: 20 20 20 20 20 20 20 20 28 70 0a 20 20 20 20 20 (p.
4e70: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
4e80: 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 or-ref av (array
4e90: 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 :actor-index ai
4ea0: 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 0)).
4eb0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
4ec0: 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d av (array:actor-
4ed0: 69 6e 64 65 78 20 61 69 20 31 29 29 0a 20 20 20 index ai 1)).
4ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
4ef0: 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 ctor-ref av (arr
4f00: 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 ay:actor-index a
4f10: 69 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 i 2)).
4f20: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
4f30: 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f f av (array:acto
4f40: 72 2d 69 6e 64 65 78 20 61 69 20 33 29 29 0a 20 r-index ai 3)).
4f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
4f60: 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 vector-ref av (a
4f70: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
4f80: 20 61 69 20 34 29 29 0a 20 20 20 20 20 20 20 20 ai 4)).
4f90: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
4fa0: 72 65 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 ref av (array:ac
4fb0: 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 35 29 29 tor-index ai 5))
4fc0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
4fd0: 28 6c 61 6d 62 64 61 20 28 70 20 61 69 20 61 76 (lambda (p ai av
4fe0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
4ff0: 20 28 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 (p.
5000: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
5010: 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d av (array:actor-
5020: 69 6e 64 65 78 20 61 69 20 30 29 29 0a 20 20 20 index ai 0)).
5030: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
5040: 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 ctor-ref av (arr
5050: 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 ay:actor-index a
5060: 69 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 i 1)).
5070: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
5080: 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f f av (array:acto
5090: 72 2d 69 6e 64 65 78 20 61 69 20 32 29 29 0a 20 r-index ai 2)).
50a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
50b0: 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 vector-ref av (a
50c0: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
50d0: 20 61 69 20 33 29 29 0a 20 20 20 20 20 20 20 20 ai 3)).
50e0: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
50f0: 72 65 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 ref av (array:ac
5100: 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 34 29 29 tor-index ai 4))
5110: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
5120: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 (vector-ref av
5130: 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 (array:actor-ind
5140: 65 78 20 61 69 20 35 29 29 0a 20 20 20 20 20 20 ex ai 5)).
5150: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
5160: 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 3a r-ref av (array:
5170: 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 36 actor-index ai 6
5180: 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 )))).
5190: 20 20 28 6c 61 6d 62 64 61 20 28 70 20 61 69 20 (lambda (p ai
51a0: 61 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 av).
51b0: 20 20 20 28 70 0a 20 20 20 20 20 20 20 20 20 20 (p.
51c0: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
51d0: 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f f av (array:acto
51e0: 72 2d 69 6e 64 65 78 20 61 69 20 30 29 29 0a 20 r-index ai 0)).
51f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
5200: 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 vector-ref av (a
5210: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
5220: 20 61 69 20 31 29 29 0a 20 20 20 20 20 20 20 20 ai 1)).
5230: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
5240: 72 65 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 ref av (array:ac
5250: 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 32 29 29 tor-index ai 2))
5260: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
5270: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 (vector-ref av
5280: 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 (array:actor-ind
5290: 65 78 20 61 69 20 33 29 29 0a 20 20 20 20 20 20 ex ai 3)).
52a0: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
52b0: 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 3a r-ref av (array:
52c0: 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 34 actor-index ai 4
52d0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
52e0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 (vector-ref a
52f0: 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 v (array:actor-i
5300: 6e 64 65 78 20 61 69 20 35 29 29 0a 20 20 20 20 ndex ai 5)).
5310: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
5320: 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 tor-ref av (arra
5330: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 y:actor-index ai
5340: 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 6)).
5350: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
5360: 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 av (array:actor
5370: 2d 69 6e 64 65 78 20 61 69 20 37 29 29 29 29 0a -index ai 7)))).
5380: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 (la
5390: 6d 62 64 61 20 28 70 20 61 69 20 61 76 29 0a 20 mbda (p ai av).
53a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 (p
53b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
53c0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 (vector-ref av
53d0: 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 (array:actor-ind
53e0: 65 78 20 61 69 20 30 29 29 0a 20 20 20 20 20 20 ex ai 0)).
53f0: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
5400: 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 3a r-ref av (array:
5410: 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 31 actor-index ai 1
5420: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
5430: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 (vector-ref a
5440: 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 v (array:actor-i
5450: 6e 64 65 78 20 61 69 20 32 29 29 0a 20 20 20 20 ndex ai 2)).
5460: 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 (vec
5470: 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 tor-ref av (arra
5480: 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 y:actor-index ai
5490: 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3)).
54a0: 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 (vector-ref
54b0: 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 av (array:actor
54c0: 2d 69 6e 64 65 78 20 61 69 20 34 29 29 0a 20 20 -index ai 4)).
54d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 (v
54e0: 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 ector-ref av (ar
54f0: 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 ray:actor-index
5500: 61 69 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 ai 5)).
5510: 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 (vector-r
5520: 65 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 ef av (array:act
5530: 6f 72 2d 69 6e 64 65 78 20 61 69 20 36 29 29 0a or-index ai 6)).
5540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5550: 28 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 (vector-ref av (
5560: 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 array:actor-inde
5570: 78 20 61 69 20 37 29 29 0a 20 20 20 20 20 20 20 x ai 7)).
5580: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 (vector
5590: 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 3a 61 -ref av (array:a
55a0: 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 38 29 ctor-index ai 8)
55b0: 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ))))).
55c0: 28 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 (it. (
55d0: 6c 61 6d 62 64 61 20 28 72 29 0a 20 20 20 20 20 lambda (r).
55e0: 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 (lambda
55f0: 28 70 20 61 69 20 61 76 29 0a 20 20 20 20 20 20 (p ai av).
5600: 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 0a (apply.
5610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5620: 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.
5630: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 76 (vector-ref av
5640: 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e (array:actor-in
5650: 64 65 78 20 61 69 20 30 29 29 0a 20 20 20 20 20 dex ai 0)).
5660: 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 (vect
5670: 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 or-ref av (array
5680: 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 :actor-index ai
5690: 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 1)).
56a0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 (vector-ref
56b0: 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d av (array:actor-
56c0: 69 6e 64 65 78 20 61 69 20 32 29 29 0a 20 20 20 index ai 2)).
56d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 (ve
56e0: 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 72 72 ctor-ref av (arr
56f0: 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 ay:actor-index a
5700: 69 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 i 3)).
5710: 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 (vector-re
5720: 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 74 6f f av (array:acto
5730: 72 2d 69 6e 64 65 78 20 61 69 20 34 29 29 0a 20 r-index ai 4)).
5740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (
5750: 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 28 61 vector-ref av (a
5760: 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 65 78 rray:actor-index
5770: 20 61 69 20 35 29 29 0a 20 20 20 20 20 20 20 20 ai 5)).
5780: 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 2d (vector-
5790: 72 65 66 20 61 76 20 28 61 72 72 61 79 3a 61 63 ref av (array:ac
57a0: 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 36 29 29 tor-index ai 6))
57b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
57c0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 76 20 (vector-ref av
57d0: 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 6e 64 (array:actor-ind
57e0: 65 78 20 61 69 20 37 29 29 0a 20 20 20 20 20 20 ex ai 7)).
57f0: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f (vecto
5800: 72 2d 72 65 66 20 61 76 20 28 61 72 72 61 79 3a r-ref av (array:
5810: 61 63 74 6f 72 2d 69 6e 64 65 78 20 61 69 20 38 actor-index ai 8
5820: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )).
5830: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 61 (vector-ref a
5840: 76 20 28 61 72 72 61 79 3a 61 63 74 6f 72 2d 69 v (array:actor-i
5850: 6e 64 65 78 20 61 69 20 39 29 29 0a 20 20 20 20 ndex ai 9)).
5860: 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 20 (do
5870: 28 28 6b 20 72 20 28 2d 20 6b 20 31 29 29 0a 20 ((k r (- k 1)).
5880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5890: 20 20 20 20 28 72 0a 20 20 20 20 20 20 20 20 20 (r.
58a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 29 '()
58b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
58c0: 20 20 20 20 20 20 20 28 63 6f 6e 73 0a 20 20 20 (cons.
58d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
58e0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 0a (vector-ref.
58f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5900: 20 20 20 20 20 20 20 20 20 61 76 0a 20 20 20 20 av.
5910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
5920: 20 20 20 20 20 28 61 72 72 61 79 3a 61 63 74 6f (array:acto
5930: 72 2d 69 6e 64 65 78 20 61 69 20 28 2d 20 6b 20 r-index ai (- k
5940: 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 1))).
5950: 20 20 20 20 20 20 20 20 20 20 20 20 72 29 29 29 r)))
5960: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
5970: 20 20 20 20 20 28 28 3d 20 6b 20 31 30 29 20 72 ((= k 10) r
5980: 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 6c ))))))). (l
5990: 61 6d 62 64 61 20 28 72 29 0a 20 20 20 20 20 20 ambda (r).
59a0: 20 20 22 54 68 65 73 65 20 61 72 65 20 6c 6f 77 "These are low
59b0: 20 6c 65 76 65 6c 2c 20 65 78 70 6f 73 69 6e 67 level, exposing
59c0: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 implementation
59d0: 61 74 20 63 61 6c 6c 20 73 69 74 65 2e 22 0a 20 at call site.".
59e0: 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 72 20 (if (< r
59f0: 31 30 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 10) (vector-ref
5a00: 65 6d 20 72 29 20 28 69 74 20 72 29 29 29 29 29 em r) (it r)))))
5a10: 0a 20 20 28 64 65 66 69 6e 65 20 28 61 72 72 61 . (define (arra
5a20: 79 3a 69 6e 64 65 78 2f 76 65 63 74 6f 72 20 72 y:index/vector r
5a30: 20 78 20 76 29 0a 20 20 20 20 28 28 61 72 72 61 x v). ((arra
5a40: 79 3a 69 6e 64 65 78 65 72 2f 76 65 63 74 6f 72 y:indexer/vector
5a50: 20 72 29 20 78 20 76 29 29 0a 20 20 28 64 65 66 r) x v)). (def
5a60: 69 6e 65 20 28 61 72 72 61 79 3a 69 6e 64 65 78 ine (array:index
5a70: 2f 61 72 72 61 79 20 72 20 78 20 61 76 20 61 69 /array r x av ai
5a80: 29 0a 20 20 20 20 28 28 61 72 72 61 79 3a 69 6e ). ((array:in
5a90: 64 65 78 65 72 2f 61 72 72 61 79 20 72 29 20 78 dexer/array r) x
5aa0: 20 61 76 20 61 69 29 29 0a 20 20 28 64 65 66 69 av ai)). (defi
5ab0: 6e 65 20 28 61 72 72 61 79 3a 61 70 70 6c 79 2d ne (array:apply-
5ac0: 74 6f 2d 76 65 63 74 6f 72 20 72 20 70 20 76 29 to-vector r p v)
5ad0: 0a 20 20 20 20 28 28 61 72 72 61 79 3a 61 70 70 . ((array:app
5ae0: 6c 69 65 72 2d 74 6f 2d 76 65 63 74 6f 72 20 72 lier-to-vector r
5af0: 29 20 70 20 76 29 29 0a 20 20 28 64 65 66 69 6e ) p v)). (defin
5b00: 65 20 28 61 72 72 61 79 3a 61 70 70 6c 79 2d 74 e (array:apply-t
5b10: 6f 2d 61 63 74 6f 72 20 72 20 70 20 61 29 0a 20 o-actor r p a).
5b20: 20 20 20 28 28 61 72 72 61 79 3a 61 70 70 6c 69 ((array:appli
5b30: 65 72 2d 74 6f 2d 61 63 74 6f 72 20 72 29 20 70 er-to-actor r) p
5b40: 20 61 29 29 29 0a a))).