25 Jul 17:51 2014

### [PATCH] Fix default ARRAY-INDEX and ARRAY-LENGTH.

James M. Lawrence <llmjjmll <at> gmail.com>

2014-07-25 15:51:25 GMT

2014-07-25 15:51:25 GMT

ARRAY-DIMENSION-LIMIT is an exclusive upper bound. --- types.lisp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/types.lisp b/types.lisp index 6aa722f..1942d0e 100644 --- a/types.lisp +++ b/types.lisp <at> <at> -1,14 +1,14 <at> <at> (in-package :alexandria) -(deftype array-index (&optional (length array-dimension-limit)) +(deftype array-index (&optional (length (1- array-dimension-limit))) "Type designator for an index into array of LENGTH: an integer between -0 (inclusive) and LENGTH (exclusive). LENGTH defaults to +0 (inclusive) and LENGTH (exclusive). LENGTH defaults to one less than ARRAY-DIMENSION-LIMIT." `(integer 0 (,length))) -(deftype array-length (&optional (length array-dimension-limit)) +(deftype array-length (&optional (length (1- array-dimension-limit))) "Type designator for a dimension of an array of LENGTH: an integer between -0 (inclusive) and LENGTH (inclusive). LENGTH defaults to +0 (inclusive) and LENGTH (inclusive). LENGTH defaults to one less than ARRAY-DIMENSION-LIMIT." `(integer 0 ,length)) -- -- 1.7.9.5(Continue reading)