;; -*- Mode: Irken -*-

(include "lib/basis.scm")

(let ((q0 (queue/make))
      (q1 (queue/make)))
  (for-range
      i 5
      (queue/add q0 i))
  (for-range
      i 6
      (printn (queue/pop q0)))
  (for-range
      i 5
      (queue/add q1 #t))
  (printn (queue/pop q1))
  )

(let ((q (queue/make)))
  (queue/add q 0)
  (queue/add q 1)
  (printn (queue/pop q))
  (queue/add q 2)
  (printn (queue/pop q))
  (queue/add q 3)
  (printn (queue/pop q))
  (printn (queue/pop q))
  )

(let ((q (queue/make)))
  (for-range
      i 10
      (queue/add q (+ i i)))
  (queue/iterate printn q))