35 Sequences

▼ |  | Unstable

1 | Guidelines for developing unstable libraries
2 | Bytes
3 | Classes and Objects
4 | Contracts
5 | Definitions
6 | Dictionaries
7 | Directories
8 | Exceptions
9 | Filesystem
10 | Functions
11 | Lists
12 | Net
13 | Path
14 | PLane T Packages
15 | Ports
16 | Pretty-Printing
17 | Regular Expressions
18 | Requiring Modules
19 | Sandboxed Evaluation
20 | Scribble Documentation
21 | Sets
22 | S-Expression Diff
23 | Source Locations
24 | Strings
25 | Structs
26 | Syntax
27 | Planet Package Macros
28 | Text Representations
29 | Multiple Values
30 | XML and CSS
31 | Polymorphic Contracts
32 | Finding Mutated Variables
33 | Find
34 | Interface-Oriented Programming for Classes
35 | Sequences
36 | Hash Tables
37 | Match
38 | Generics
39 | Mark Parameters
40 | Debugging
41 | Contracts for macro subexpressions
42 | GUI libraries

On this page:

in-syntax
in-pairs
in-sequence-forever
sequence-lift

top← prev up next →

### 35`` Sequences

Sam Tobin-Hochstadt <samth@ccs.neu.edu>

( require unstable/sequence)

This library is unstable; compatibility will not be maintained. See Unstable for more information.

( in-syntax stx) → sequence?
stx : syntax?

Produces a sequence equivalent to ( syntax->list lst).
An in-syntax application can provide better performance for syntax iteration when it appears directly in a for clause.

Example:

> ( for/list ([x ( in-syntax #'(1 2 3))])
x)

'(#<syntax:2:0 1> #<syntax:2:0 2> #<syntax:2:0 3>)

( in-pairs seq) → sequence?
seq : sequence?

Produces a sequence equivalent to ( in-parallel ( sequence-lift car seq) ( sequence-lift cdr seq)).

( in-sequence-forever seq val) → sequence?
seq : sequence?
val : any/c

Produces a sequence whose values are the elements of seq, followed by val repeated.

( sequence-lift f seq) → sequence?
f : procedure?
seq : sequence?

Produces the sequence of f applied to each element of seq.

Example:

> ( for/list ([x ( sequence-lift add1 ( in-range 10))])
x)

'(1 2 3 4 5 6 7 8 9 10)

top← prev up next →