For Development HEAD DRAFTSearch (procedure/syntax/module):

12.16 data.ideque - Immutable deques

Module: data.ideque

This module provides a functional double-ended queue (deque, pronounced as “deck”).

Almost all procedures in this module are now a part of R7RS large. See scheme.ideque - R7RS immutable deques, for description of the following procedures:

ideque               ideque-unfold        ideque-unfold-right
ideque-tabulate      ideque?              ideque-empty?
ideque-add-front     ideque-add-back
ideque-remove-front  ideque-remove-back
ideque-front         ideque-back
ideque-reverse       ideque=              ideque-ref
ideque-take          ideque-drop
ideque-take-right    ideque-drop-right
ideque-split-at      ideque-append        ideque-zip
ideque-map           ideque-for-each      ideque-for-each-right
ideque-fold          ideque-fold-right    ideque-append-map
ideque-filter        ideque-remove
ideque-find          ideque-find-right
ideque-take-while    ideque-take-while-right
ideque-drop-while    ideque-drop-while-right
ideque-span          ideque-break
ideque-any           ideque-every
ideque->list         list->ideque
ideque->generator    generator->ideque
Function: make-ideque n :optional init

{data.ideque} Creates an ideque of length n with all the elements being init. If init is omitted, #f is used.

This is provided just for the symmetry with other container data structures; it’s not in SRFI-134, and the portable code can use ideque-tabulate.



For Development HEAD DRAFTSearch (procedure/syntax/module):
DRAFT