(rontolisp) docs
← Seqs

take

(take n coll) / (take n)

Answers the list of the first n elements of coll, stepping through one lazy element at a time, so (take n infinite) terminates with a strict prefix. Realizes exactly what it answers: the next element stays unrealized when the count runs out.

Deviation: an over-long take answers the whole seq as nil when it is empty, where the oracle prints ().

(take n) is its transducer, as a value too.