On this page:
seq
seq?
seq-map
seq-first
seq-rest
seq-cons
seq-append
seq-copy
seq-ref
seq-set!
seq-length
7.1

3 Perflinty Auto

 (require perflinty/auto) package: rackpgmp

This section describes a sequence library that automatically specializes each instance to a list or vector, depending on the list and vector scores of each instance of a seq.

syntax

(seq v ...)

Like a list or vector, depending on the list and vector scores for this instance.

procedure

(seq? s?)  boolean?

  s? : any/c
Returns #t if s? is a seq, and #f otherwise.

seq? does not affect scores.

procedure

(seq-map proc s)  seq?

  proc : procedure?
  s : seq?
Like a map or vector-map but on seqs.

seq-map does not affect scores.

procedure

(seq-first s)  any/c

  s : seq?
Like a car or (vector-ref s 0) but on seqs.

seq-first adds 1 to the list score.

procedure

(seq-rest s)  seq?

  s : seq?
Like a cdr but on seqs.

seq-rest adds 1 to the list score.

procedure

(seq-cons ele s)  seq?

  ele : any/c
  s : seq?
Like a cons but on seqs.

seq-cons adds 1 to the list score.

procedure

(seq-append s1 s2)  seq?

  s1 : seq?
  s2 : seq?
Like a append but on seqs.

seq-append adds 1 to the list score.

procedure

(seq-copy s)  seq?

  s : seq?
Like a vector-copy but on seqs.

seq-copy does not affect scores.

procedure

(seq-ref s pos)  any/c

  s : seq?
  pos : exact-nonnegative-integer?
Like a vector-ref but on seqs.

seq-ref adds 1 to the vector score.

procedure

(seq-set! s pos v)  void?

  s : seq?
  pos : exact-nonnegative-integer?
  v : any/c
Like a vector-set! but on seqs.

seq-set! adds 1 to the vector score.

procedure

(seq-length s)  any/c

  s : seq?
Like a vector-length but on seqs.

seq-length adds 1 to the vector score.