sequences: require non-negative-integer for iotas.

db4
John Benediktsson 2013-03-22 16:05:00 -07:00
parent 5bcdeee745
commit bbe5f32d5f
2 changed files with 5 additions and 2 deletions

View File

@ -313,6 +313,7 @@ M: bogus-hashcode hashcode* 2drop 0 >bignum ;
[ V{ 0 3 } ] [ "A" { "A" "B" "C" "A" "D" } indices ] unit-test [ V{ 0 3 } ] [ "A" { "A" "B" "C" "A" "D" } indices ] unit-test
[ "asdf" iota ] must-fail [ "asdf" iota ] must-fail
[ -1 iota ] must-fail
[ T{ iota { n 10 } } ] [ 10 iota ] unit-test [ T{ iota { n 10 } } ] [ 10 iota ] unit-test
[ 0 ] [ 10 iota first ] unit-test [ 0 ] [ 10 iota first ] unit-test
@ -374,4 +375,3 @@ USE: make
{ 255 0 175 } { 255 0 175 }
} [ { 0 0 255 } distance ] infimum-by } [ { 0 0 255 } distance ] infimum-by
] unit-test ] unit-test

View File

@ -104,7 +104,10 @@ INSTANCE: f immutable-sequence
! Integer sequences ! Integer sequences
TUPLE: iota { n integer read-only } ; TUPLE: iota { n integer read-only } ;
: iota ( n -- iota ) \ iota boa ; inline ERROR: non-negative-integer-expected n ;
: iota ( n -- iota )
dup 0 < [ non-negative-integer-expected ] when \ iota boa ; inline
M: iota length n>> ; inline M: iota length n>> ; inline
M: iota nth-unsafe drop ; inline M: iota nth-unsafe drop ; inline