16 lines
575 B
Plaintext
16 lines
575 B
Plaintext
(define random-list
|
|
0 -> []
|
|
M -> [(1+ (RANDOM 20)) | (random-list (1- M))])
|
|
|
|
(define random-array
|
|
0 _ -> []
|
|
N M -> [(random-list M) | (random-array (1- N) M)])
|
|
|
|
(define array->list
|
|
_ [] -> [] \ "end outer loop" \
|
|
Stop [[] | Ra] -> (array->list Stop Ra) \ "outer loop" \
|
|
Stop [[Stop | _ ] | _ ] -> [] \ "break out from inner loop" \
|
|
Stop [[X | Rl] | Ra] -> [X | (array->list Stop [Rl | Ra])]) \ "inner loop" \
|
|
|
|
(array->list 20 (random-array 10 10))
|