▼ |  | Unstable: May Change Without Warning

1 | Guidelines for Developing unstable Libraries
2 | Automata: Compiling State Machines
3 | Bytes
4 | Contracts
5 | Contracts for Macro Subexpressions
6 | Debugging
7 | Definitions
8 | Errors
9 | Filesystem
10 | Find
11 | Flonums
12 | Futures
13 | Functions
14 | Hash Tables
15 | Interface-Oriented Programming for Classes
16 | Lazy Require
17 | Lists
18 | Logging
19 | Macro Testing
20 | Mark Parameters
21 | Match
22 | Open place expressions
23 | Options
24 | Parameter Groups
25 | Pretty-Printing
26 | Re-Contracting Identifiers
27 | Sandbox
28 | Sequences
29 | Strings
30 | Structs
31 | Struct Printing
32 | Syntax
33 | Temporal Contracts: Explicit Contract Monitors
34 | Unix Domain Sockets
35 | 2D Syntax
36 | GUI Libraries

On this page:

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

5.3.6
top ← prev up next →

### 28`` Sequences

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

This library is unstable; compatibility will not be maintained. See Unstable: May Change Without Warning for more information.

(require unstable/sequence)

> > procedure

> > (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>)

> > procedure

> > (in-pairs seq) → sequence?

> seq : sequence?

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

> > procedure

> > (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.

> > procedure

> > (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)

> > > The subsequent bindings were added by David Vanderson.

> > procedure

> > (in-slice length seq) → sequence?

> length : exact-positive-integer?
> seq : sequence?

Returns a sequence where each element is a list with length elements from the given sequence.

Example:

> > (for/list ([e (in-slice 3 (in-range 8))]) e)
> '((0 1 2) (3 4 5) (6 7))

top ← prev up next →