API for seq
(master branch)
by
Stuart Sierra (and others)
Usage:
(ns your-namespace
(:require clojure.contrib.seq))
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.
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.
flatten
function
Usage: (flatten x)
DEPRECATED. Prefer clojure.core version.
Takes any nested combination of sequential things (lists, vectors,
etc.) and returns their contents as a single, flat sequence.
(flatten nil) returns nil.
Deprecated since clojure-contrib version 1.2
frequencies
function
Usage: (frequencies coll)
DEPRECATED. Prefer clojure.core version.
Returns a map from distinct items in coll to the number of times
they appear.
Deprecated since clojure-contrib version 1.2
group-by
function
Usage: (group-by f coll)
DEPRECATED. Prefer clojure.core version.
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.
Deprecated since clojure-contrib version 1.2
includes?
function
Usage: (includes? coll x)
Returns true if coll contains something equal (with =) to x,
in linear time. Deprecated. Prefer 'contains?' for key testing,
or 'some' for ad hoc linear searches.
Deprecated since clojure-contrib version 1.2
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])
partition-all
function
Usage: (partition-all n coll)
(partition-all n step coll)
DEPRECATED. Prefer clojure.core version.
Returns a lazy sequence of lists like clojure.core/partition, but may
include lists with fewer than n items at the end.
Deprecated since clojure-contrib version 1.2
partition-by
function
Usage: (partition-by f coll)
DEPRECATED. Prefer clojure.core version.
Applies f to each value in coll, splitting it each time f returns
a new value. Returns a lazy seq of lazy seqs.
Deprecated since clojure-contrib version 1.2
positions
function
Usage: (positions pred coll)
Returns a lazy sequence containing the positions at which pred
is true for items in coll.
rand-elt
function
Usage: (rand-elt s)
DEPRECATED. Prefer clojure.core/rand-nth.
Return a random element of this seq
Deprecated since clojure-contrib version 1.2
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.
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.
reductions
function
Usage: (reductions f coll)
(reductions f init coll)
DEPRECATED. Prefer clojure.core version.
Returns a lazy seq of the intermediate values of the reduction (as
per reduce) of coll by f, starting with init.
Deprecated since clojure-contrib version 1.2
rotations
function
Usage: (rotations x)
Returns a lazy seq of all rotations of a seq
separate
function
Usage: (separate f s)
Returns a vector:
[ (filter f s), (filter (complement f) s) ]
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)
DEPRECATED. Prefer clojure.core version.
Return a random permutation of coll
Deprecated since clojure-contrib version 1.2