API for seq-utils - clojure-contrib v1.1 (stable)

by Stuart Sierra (and others)

Full namespace name: clojure.contrib.seq-utils

Overview

Sequence utilities for Clojure

Public Variables and Functions



fill-queue

function
Usage: (fill-queue filler-func & optseq)
filler-func will be called in another thread with a single arg
'fill'.  filler-func may call fill repeatedly with one arg each
time which will be pushed onto a queue, blocking if needed until
this is possible.  fill-queue will return a lazy seq of the values
filler-func has pushed onto the queue, blocking if needed until each
next element becomes available.  filler-func's return value is ignored.
Source


find-first

function
Usage: (find-first pred coll)
Returns the first item of coll for which (pred item) returns logical true.
Consumes sequences up to the first match, will consume the entire sequence
and return nil if no match is found.
Source


flatten

function
Usage: (flatten x)
Takes any nested combination of sequential things (lists, vectors,
etc.) and returns their contents as a single, flat sequence.
(flatten nil) returns nil.
Source


frequencies

function
Usage: (frequencies coll)
Returns a map from distinct items in coll to the number of times
they appear.
Source


group-by

function
Usage: (group-by f coll)
Returns a sorted map of the elements of coll keyed by the result of
f on each element. The value at each key will be a vector of the
corresponding elements, in the order they appeared in coll.
Source


includes?

function
Usage: (includes? coll x)
Returns true if coll contains something equal (with =) to x,
in linear time.
Source


indexed

function
Usage: (indexed s)
Returns a lazy sequence of [index, item] pairs, where items come
from 's' and indexes count up from zero.

(indexed '(a b c d))  =>  ([0 a] [1 b] [2 c] [3 d])
Source


partition-all

function
Usage: (partition-all n coll)
       (partition-all n step coll)
Returns a lazy sequence of lists like clojure.core/partition, but may
include lists with fewer than n items at the end.
Source


partition-by

function
Usage: (partition-by f coll)
Applies f to each value in coll, splitting it each time f returns
a new value.  Returns a lazy seq of lazy seqs.
Source


positions

function
Usage: (positions pred coll)
Returns a lazy sequence containing the positions at which pred
is true for items in coll.
Source


rand-elt

function
Usage: (rand-elt s)
Return a random element of this seq
Source


rec-cat

macro
Usage: (rec-cat binding-name & exprs)
Similar to lazy-cat but binds the resulting sequence to the supplied 
binding-name, allowing for recursive expressions.
Source


rec-seq

macro
Usage: (rec-seq binding-name & body)
Similar to lazy-seq but binds the resulting seq to the supplied 
binding-name, allowing for recursive expressions.
Source


reductions

function
Usage: (reductions f coll)
       (reductions f init coll)
Returns a lazy seq of the intermediate values of the reduction (as
per reduce) of coll by f, starting with init.
Source


rotations

function
Usage: (rotations x)
Returns a lazy seq of all rotations of a seq
Source


separate

function
Usage: (separate f s)
Returns a vector:
[ (filter f s), (filter (complement f) s) ]
Source


seq-on

multimethod
Usage: (seq-on s)
Returns a seq on the object s. Works like the built-in seq but as
a multimethod that can have implementations for new classes and types.
Source


shuffle

function
Usage: (shuffle coll)
Return a random permutation of coll
Source
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.