Functional queues for Mythryl with hard real-time operations, based on
lazy lists and memoization. This implementation is based on techniques
described in "Purely Functional Data Structures" by Chris Okasaki,
This code was written in Mythryl: http://www.mythryl.org
The code is released with a MIT-style license (see the LICENSE file)
According to measurements, the maximum number of recursive calls
(including mutual recursion) performed during the execution of each
individual operation (enqueue/dequeue) is just 2, confirming the
the hard real-time constraint.
When comparing by average execution time, operations were measured to
be about 6 to 10 times slower than the same operations performed on
finger queues (https://bitbucket.org/rev22/finger-deques), on queues
with sizes in the order of one million of elements.
real-time-queue.pkg Main library code.
real-time-queue--verbatim.pkg Near-verbatim implementation
real-time-queue--complexity.pkg Complexity measuring implementation