array-rank-limit is an exclusive upper bound
The constant array-rank-limit
is an exclusive upper bound which must not be less than 8. (see http://www.lispworks.com/documentation/HyperSpec/Body/v_ar_ran.htm)
On Genera, it happens to be exactly 8, so a form like (make-array (loop repeat 8 collect 2))
will signal an error.
diff --git a/universe.lsp b/universe.lsp
index e0f00e3..d4833c5 100644
--- a/universe.lsp
+++ b/universe.lsp
@@ -268,7 +268,7 @@
(defparameter *array-dimensions*
(loop
- for i from 0 to 8 collect
+ for i from 0 below array-rank-limit collect
(loop for j from 1 to i collect 2)))
(defparameter *default-array-target* (make-array '(300)))
Or, if you prefer, (min array-rank-limit 8)
instead.