Previous: chains sort, Up: chains [Index]
Iteration thunks are procedures accepting no arguments and returning an
item from a collection; when the iteration finishes: the return value is
the void object. Iteration thunks can be used with the facilities of
the library (vicare containers iteration-thunks)
(see iteration thunks). The following syntactic bindings are
exported by the library (vicare containers chains)
.
Build and return a new iteration thunk visiting the objects from chain. The iteration proceeds forwards from chain.
(import (vicare) (vicare containers chains) (vicare containers iteration-thunks)) (define (xcons a b) (cons b a)) (iteration-thunk-fold xcons '() (make-chain-forwards-iteration-thunks (chain))) ⇒ () (iteration-thunk-fold xcons '() (make-chain-forwards-iteration-thunks (chain 0 1 2 3 4 5))) ⇒ (5 4 3 2 1 0)
Build and return a new iteration thunk visiting the objects from chain. The iteration proceeds backwards from chain.
(import (vicare) (vicare containers chains) (vicare containers iteration-thunks)) (define (xcons a b) (cons b a)) (iteration-thunk-fold xcons '() (make-chain-backwards-iteration-thunks (chain))) ⇒ () (iteration-thunk-fold xcons '() (make-chain-backwards-iteration-thunks (chain-rear (chain 0 1 2 3 4 5)))) ⇒ (0 1 2 3 4 5)