#lang scribble/doc @(require scribble/manual (for-label mzscheme) (for-label "srfi-4-comprehensions.ss") (for-label srfi/42ref)) @title{SRFI-42 Comprehensions for SRFI-4 Vectors} This library defines @link["http://srfi.schemers.org/srfi-42/"]{SRFI-42} comprehensions for @link["http://srfi.schemers.org/srfi-4/srfi-4.html"]{SRFI-4} homogeneous vectors. Due to syntax certificate issues, these use the old SRFI-42 library, which can be included using @scheme[(require srfi/42ref)] instead of @scheme[(require srfi/42)]. @section{Procedures and Syntax} @defmodule[(planet wmfarr/srfi-4-comprehensions:1:1/srfi-4-comprehensions)] @deftogether[ (@defform[(s8vector-ec qualifier ... expr)] @defform[(u8vector-ec qualifier ... expr)] @defform[(s16vector-ec qualifier ... expr)] @defform[(s32vector-ec qualifier ... expr)] @defform[(u32vector-ec qualifier ... expr)] @defform[(s64vector-ec qualifier ... expr)] @defform[(u64vector-ec qualifier ... expr)] @defform[(f32vector-ec qualifier ... expr)] @defform[(f64vector-ec qualifier ... expr)] @defform[(s8vector-of-length-ec length-expr qualifier ... expr)] @defform[(u8vector-of-length-ec length-expr qualifier ... expr)] @defform[(s16vector-of-length-ec length-expr qualifier ... expr)] @defform[(u16vector-of-length-ec length-expr qualifier ... expr)] @defform[(s32vector-of-length-ec length-expr qualifier ... expr)] @defform[(u32vector-of-length-ec length-expr qualifier ... expr)] @defform[(s64vector-of-length-ec length-expr qualifier ... expr)] @defform[(u64vector-of-length-ec length-expr qualifier ... expr)] @defform[(f32vector-of-length-ec length-expr qualifier ... expr)] @defform[(f64vector-of-length-ec length-expr qualifier ... expr)])]{ Eager comprehensions. These behave just like @scheme[vector-ec] and @scheme[vector-of-length-ec].} @deftogether[ (@defform[(:s8vector var arg args ...)] @defform[(:u8vector var arg args ...)] @defform[(:s16vector var arg args ...)] @defform[(:u16vector var arg args ...)] @defform[(:s32vector var arg args ...)] @defform[(:u32vector var arg args ...)] @defform[(:s64vector var arg args ...)] @defform[(:u64vector var arg args ...)] @defform[(:f32vector var arg args ...)] @defform[(:f64vector var arg args ...)])]{ Generators for homogeneous vectors. These behave exactly like @scheme[:vector].}