4:45:11beachThere was probably just no reason to limit it before.
4:45:44aethWell, you'll probably run out of memory with a 65529D array, but they didn't try to optimize large dimensional arrays before so they didn't really care
4:45:58aethonce they needed to optimize it, the particular optimization required a cap
4:46:46edgar-rftEvery bit of a bit-array should have the right to live in its own dimension.
4:47:28aethIn some implementations it could be e.g. MOST-POSITIVE-FIXNUM, which can be up to 4611686018427387903 on a 64-bit platform if a FIXNUM is represented as 63 bits (62 bits if treated as unsigned)
4:48:29Bikewhat would a database use a high dimensional array for?
4:48:37beachThat would be very wasteful as s representation for just about anything.
4:48:56Bikehttps://github.com/sbcl/sbcl/commit/b628f29e3b3651f8a3a83d28f17b9d514e997849 ah, here's the optimization. simpler than the last time i tried to look up the reason for an sbcl change
4:48:59aethThe larger it is, the more likely you'll want to use something sparse rather than just directly using array indices
4:53:18aethThis is a very practical array, though. (apply #'aref (make-array (loop :repeat 255 :collect 1) :initial-element 0) (loop :repeat 255 :collect 0)) ;-)
4:54:34Bikebtw you know you can do (make-list 255 :initial-element 1) right
4:55:12Bikei suppose it's not any shorter than the loop golfwise
4:55:44beachNo, but it's more specific, so preferable.
4:55:52moon-childeven most apl implementations limit the rank of an array at 15. I can't imagine why anybody would want anything higher than maybe 7 or 8
4:56:40rembymost apl implementations are proprietary?
4:57:44moon-childremby: eh, gnu apl caps it at 8 :)
4:58:18aethempirically, if sb-index is not increased, then SBCL could get away with using a cap of 63 and using the rest of the bits for something else
4:59:20aethmoon-child: then APL doesn't let you do this: (make-array (make-list 20 :initial-element 2) :element-type 'bit :initial-element 0)
4:59:53moon-childaeth: well, depends on the apl impl. April will, since it uses cl semantics