cursors vocabulary
Factor handbook ยป Vocabulary index


Summary

Metadata
Tags:collections
Authors:Joe Groff


Words

Tuple classes
ClassSuperclassSlots
hash-set-cursor tuplehash-set n
hashtable-cursor tuplehashtable n
invalid-cursor tuplecursor
linear-cursor numeric-cursordelta
map-cursor tuplefrom to
numeric-cursor tuplevalue
pusher-cursor tuplegrowable
quadratic-cursor numeric-cursordelta delta2
sequence-cursor tupleseq n
zip-cursor tuplekeys values


Singleton classes
end-of-stream


Mixin classes
bidirectional-cursor
collection
container
cursor
finite-stream-cursor
forward-cursor
infinite-stream-cursor
input-cursor
output-cursor
random-access-cursor
stream-cursor


Generic words
WordStack effect
begin-cursor( collection -- cursor )
cursor+( cursor n -- cursor' )
cursor-( cursor n -- cursor' )
cursor-compatible?( cursor cursor -- ? )
cursor-distance( cursor cursor -- n )
cursor-distance-hint( cursor cursor -- n )
cursor-key-value( cursor -- key value )
cursor-stream-ended?( cursor -- ? )
cursor-valid?( cursor -- ? )
cursor<( cursor cursor -- ? )
cursor<=( cursor cursor -- ? )
cursor=( cursor cursor -- ? )
cursor>( cursor cursor -- ? )
cursor>=( cursor cursor -- ? )
dec-cursor( cursor -- cursor' )
end-cursor( collection -- cursor )
inc-cursor( cursor -- cursor' )
new-sequence-cursor( begin end exemplar -- cursor result )
set-cursor-value( value cursor -- )
up/i( distance delta -- distance' )


Macro words
WordStack effect
-nin-( n -- quot )
-nwith-( n -- quot )
nzip-cursors( n -- quot )


Ordinary words
WordStack effect
-2in-( quot -- quot' )
-2with-( invariant invariant begin end quot -- begin end quot' )
-assoc-( quot -- quot' )
-each( ... begin end quot: ( ... cursor -- ... ) -- ... )
-find( ... begin end quot: ( ... cursor -- ... ? ) -- ... cursor )
-in-( quot -- quot' )
-into-growable-( begin end quot exemplar -- begin' end' quot' cursor result )
-into-sequence-( begin end quot exemplar -- begin' end' quot' cursor result )
-map( begin end quot to -- begin' end' quot' )
-map-( begin end quot to -- begin' end' quot' )
-map-as( ... begin end quot: ( ... cursor -- ... value ) exemplar -- ... newseq )
-out( ... begin end quot: ( ... cursor -- ... value ) -- ... )
-out-( quot -- quot' )
-unzip-( quot -- quot' )
-with-( invariant begin end quot -- begin end quot' )
2all( a b -- begin end )
2all-( a b quot -- begin end quot )
2each( ... a b quot: ( ... x y -- ... ) -- ... )
2in-( a b quot -- begin end quot' )
2map( ... a b quot: ( ... x y -- ... z ) -- ... c )
2map-as( ... a b quot: ( ... x y -- ... z ) exemplar -- ... c )
<linear-cursor>( value delta -- linear-cursor )
<map-cursor>( from to -- map-cursor )
<pusher-cursor>( growable -- pusher-cursor )
<quadratic-cursor>( value delta delta2 -- quadratic-cursor )
<sequence-cursor>( seq n -- sequence-cursor )
<zip-cursor>( keys values -- zip-cursor )
all( collection -- begin end )
all-( collection quot -- begin end quot )
assoc-( assoc quot -- begin end quot' )
assoc-each( ... assoc quot: ( ... k v -- ... ) -- ... )
assoc>map( ... assoc quot: ( ... k v -- ... newx ) exemplar -- ... newcontainer )
cursor-key( cursor -- key )
cursor-key-unsafe( cursor -- key )
cursor-value( cursor -- key )
cursor-value-unsafe( cursor -- key )
each( ... container quot: ( ... x -- ... ) -- ... )
in-( container quot -- begin end quot' )
invalid-cursor( cursor -- * )
map( ... container quot: ( ... x -- ... newx ) -- ... newcontainer )
map!( ... container quot: ( ... x -- ... newx ) -- ... container )
map-as( ... container quot: ( ... x -- ... newx ) exemplar -- ... newseq )
nall( seqs... n -- begin end )
nall-( seqs... quot n -- begin end quot )
neach( seqs... quot n -- )
new-growable-cursor( begin end exemplar -- cursor result )
nin-( seqs... quot n -- begin end quot )
nmap( seqs... quot n -- newseq )
nmap-as( seqs... quot exemplar n -- newseq )
zip-cursors( a-begin a-end b-begin b-end -- begin end )


Class predicate words
WordStack effect
bidirectional-cursor?( object -- ? )
collection?( object -- ? )
container?( object -- ? )
cursor?( object -- ? )
end-of-stream?( object -- ? )
finite-stream-cursor?( object -- ? )
forward-cursor?( object -- ? )
hash-set-cursor?( object -- ? )
hashtable-cursor?( object -- ? )
infinite-stream-cursor?( object -- ? )
input-cursor?( object -- ? )
invalid-cursor?( object -- ? )
linear-cursor?( object -- ? )
map-cursor?( object -- ? )
numeric-cursor?( object -- ? )
output-cursor?( object -- ? )
pusher-cursor?( object -- ? )
quadratic-cursor?( object -- ? )
random-access-cursor?( object -- ? )
sequence-cursor?( object -- ? )
stream-cursor?( object -- ? )
zip-cursor?( object -- ? )


Files


Metadata files