# \`tail\` for Vector

**URL:** <https://discourse.julialang.org/t/tail-for-vector/102758>\
**Category:** Internals & Design\
**Created:** [August 13, 2023, 1:45am UTC](https://discourse.julialang.org/t/tail-for-vector/102758 "2023-08-13T01:45:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [August 13, 2023, 1:45am UTC](https://discourse.julialang.org/t/tail-for-vector/102758/1 "2023-08-13T01:45:01Z")

</div>

`tail` is only implemented on `Tuple`. If it were also for `Vector`, should it be a copy or a view?

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [August 13, 2023, 2:18am UTC](https://discourse.julialang.org/t/tail-for-vector/102758/2 "2023-08-13T02:18:39Z")

</div>

> [@jar1](#):
>
> If it were also for `Vector`, should it be a copy or a view?

There’s not much benefit to `tail` for `Vector`, compared to `a[2:end]` (or `a[begin+1:end]`). The reason it’s beneficial for tuples is that it ensures that the length of the resulting tuple is known at compile time (if the original tuple’s type is known), which doesn’t apply to vectors (whose length is a runtime quantity).

---

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [August 13, 2023, 2:27am UTC](https://discourse.julialang.org/t/tail-for-vector/102758/3 "2023-08-13T02:27:54Z")

</div>

The benefit is syntactic – `tail` can be used point-free (i.e. without reference to `a`, such as in `|> tail`) – and having a more general abstraction.
