@hackage control-monad-queue0.2.0.1

Reusable corecursive queues, via continuations.

This library provides efficient real-time queues via self-referential lazy lists. The technique was first published in Circular Programs and Self-Referential Structures by Lloyd Allison, Software Practice and Experience, 19(2), pp.99-109, Feb 1989

http://www.csse.monash.edu.au/~lloyd/tildeFP/1989SPE/

For an explanation of the library implementation, see Lloyd Allison's Corecursive Queues: Why Continuations Matter by Leon P Smith, in The Monad Reader, Issue 14, Jul 2009.

http://themonadreader.files.wordpress.com/2009/07/issue142.pdf

A lightly edited version of the paper above is available at:

http://www.melding-monads.com/files/CorecQueues.pdf