> For the complete documentation index, see [llms.txt](https://trizen.gitbook.io/sidef-lang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://trizen.gitbook.io/sidef-lang/programming_tasks/q/queue/definition.md).

# Definition

Implemented as a class:

```ruby
class FIFO(*array) {
    method pop {
        array.is_empty && die "underflow"
        array.shift
    }
    method push(*items) {
        array += items
        self
    }
    method empty {
        array.len == 0
    }
}
```
