Next: deques misc, Previous: deques conversion, Up: deques [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 deques).
Build and return a new iteration thunk popping the objects from the front of deque.
(import (vicare)
(vicare containers deques)
(vicare containers iteration-thunks))
(define (xcons a b)
(cons b a))
(iteration-thunk-fold
xcons
'()
(make-deque-front-iteration-thunks (deque)))
⇒ ()
(iteration-thunk-fold
xcons
'()
(make-deque-front-iteration-thunks (deque 0 1 2 3 4 5)))
⇒ (5 4 3 2 1 0)
Build and return a new iteration thunk popping the objects from the rear of deque.
(import (vicare)
(vicare containers deques)
(vicare containers iteration-thunks))
(define (xcons a b)
(cons b a))
(iteration-thunk-fold
xcons
'()
(make-deque-rear-iteration-thunks (deque)))
⇒ ()
(iteration-thunk-fold
xcons
'()
(make-deque-rear-iteration-thunks (deque 0 1 2 3 4 5)))
⇒ (0 1 2 3 4 5)