# take -package:bytestring

take n, applied to a list xs, returns the prefix of xs of length n, or xs itself if n >= length xs.
```>>> take 5 "Hello World!"
"Hello"

>>> take 3 [1,2,3,4,5]
[1,2,3]

>>> take 3 [1,2]
[1,2]

>>> take 3 []
[]

>>> take (-1) [1,2]
[]

>>> take 0 [1,2]
[]
```
It is an instance of the more general genericTake, in which n may be of any integral type.
take n xs returns the first n elements of xs.
Take a given number of entries in key order, beginning with the smallest keys.
```take n = fromDistinctAscList . take n . toAscList
```
The first i elements of a sequence. If i is negative, take i s yields the empty sequence. If the sequence contains fewer than i elements, the whole sequence is returned.
Take a given number of elements in order, beginning with the smallest ones.
```take n = fromDistinctAscList . take n . toAscList
```
O(n) take n, applied to a Text, returns the prefix of the Text of length n, or the Text itself if n is greater than the length of the Text.
O(n) take n, applied to a stream, returns the prefix of the stream of length n, or the stream itself if n is greater than the length of the stream. Properties
```unstream . take n . stream = take n
```
O(n) take n, applied to a Text, returns the prefix of the Text of length n, or the Text itself if n is greater than the length of the Text.
O(1) Yield at the first n elements without copying. The vector may contain less than n elements in which case it is returned unchanged.
The first n elements
O(1) Yield the first n elements without copying. The vector may contain less than n elements in which case it is returned unchanged.
Take n first elements of the mutable vector without making a copy. For negative n empty vector is returned. If n is larger than vector's length empty vector is returned,
Take n first elements of the mutable vector without making a copy. For negative n empty vector is returned. If n is larger than vector's length empty vector is returned,
O(1) Yield at the first n elements without copying. The vector may contain less than n elements in which case it is returned unchanged.
Take n first elements of the mutable vector without making a copy. For negative n empty vector is returned. If n is larger than vector's length empty vector is returned,
O(1) Yield at the first n elements without copying. The vector may contain less than n elements in which case it is returned unchanged.
Take n first elements of the mutable vector without making a copy. For negative n empty vector is returned. If n is larger than vector's length empty vector is returned,
O(1) Yield at the first n elements without copying. The vector may contain less than n elements in which case it is returned unchanged.
Take n first elements of the mutable vector without making a copy. For negative n empty vector is returned. If n is larger than vector's length empty vector is returned,
Consume exactly n bytes of input.
Consume exactly n characters of input.
Consume n bytes of input.