.. index:: zlist
.. _zlist/0:

**object**

``zlist``
=========

Zipper list predicates. Zippers should be regarded as opaque terms.

| **Author:** Paulo Moura
| **Version:** 1.01
| **Date:** 2019/3/12

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Implements:**
|    ``public`` :ref:`zipperp <zipperp/0>`

Public interface
----------------

.. raw:: html

   <div id="zip_at_index/4"> </div>

.. index:: zip_at_index/4
.. _zlist/0::zip_at_index/4:

``zip_at_index/4``
^^^^^^^^^^^^^^^^^^

Adds a zipper to a list opened at the given index and also returns the element at the index. Fails if the list is empty or the index (starting at 1) does not exist.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``zip_at_index(Index,List,Zipper,Element)``
| **Mode and number of proofs:**
|    ``zip_at_index(+natural,+list,--zipper,--term)`` - ``zero_or_one``


Protected interface
-------------------

(see related entities)

Private predicates
------------------

(see related entities)

Operators
---------

(none)

Remarks
-------

(none)

