SRFI 214: Flexvectors

by Adam Nelson

status: draft (2020-10-07)

keywords: Data Structure

See also SRFI 10: #, external form, SRFI 117: Queues based on lists, SRFI 125: Intermediate hash tables, SRFI 133: Vector Library (R7RS-compatible), SRFI 134: Immutable Deques, and SRFI 158: Generators and Accumulators.

Abstract

A flexvector, also known as a dynamic array or an arraylist, is a mutable vector-like data structure with an adjustable size. Flexvectors allow O(1) random access, O(1) insertion/removal at the end, and O(n) insertion/removal elsewhere. This SRFI defines a suite of operations on flexvectors, modeled after SRFI 133's vector operations.