move iota to sequences, fix example, add unit tests, make iota's slot integers only

db4
Doug Coleman 2009-01-10 13:05:25 -06:00
parent 6959f445c4
commit f4cffe8a1b
3 changed files with 12 additions and 4 deletions

View File

@ -1279,9 +1279,9 @@ HELP: iota
{ $description "Creates an immutable virtual sequence containing the integers from 0 to " { $snippet "n-1" } "." }
{ $examples
{ $example
"USING: math.parser sequences ;"
"USING: math sequences prettyprint ;"
"3 iota [ sq ] map ."
"{ \"0\" \"1\" \"2\" }"
"{ 0 1 4 }"
}
} ;

View File

@ -276,4 +276,8 @@ M: bogus-hashcode hashcode* 2drop 0 >bignum ;
{ 3 0 } [ [ 3drop ] 3each ] must-infer-as
[ 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
[ T{ iota { n 10 } } ] [ 10 iota ] unit-test
[ 0 ] [ 10 iota first ] unit-test

View File

@ -101,11 +101,15 @@ M: integer nth-unsafe drop ;
INSTANCE: integer immutable-sequence
PRIVATE>
! In the future, this will replace integer sequences
TUPLE: iota { n read-only } ;
TUPLE: iota { n integer read-only } ;
: iota ( n -- iota ) \ iota boa ; inline
<PRIVATE
M: iota length n>> ;
M: iota nth-unsafe drop ;