Overview

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,
1996.

https://bitbucket.org/rev22/hard-real-time-queues

This code was written in Mythryl: http://www.mythryl.org

The code is released with a MIT-style license (see the LICENSE file)

Performance:

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.

Files:

real-time-queue.pkg    		 Main library code.
real-time-queue--verbatim.pkg    Near-verbatim implementation
real-time-queue--complexity.pkg  Complexity measuring implementation
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.