
Bruno MartÃnez Aguerre wrote:
On Mon, 17 Jan 2005 11:31:36 -0700, Jonathan Turkanis <technews@kangaroologic.com> wrote:
Bruno MartÃnez Aguerre wrote:
Coroutines or threads are overkill for this problem, IMHO. What you need is laziness, as in haskell. FC++ probably can handle decompress with less overhead than threads.
I'm not sure what you mean. The algorithm Daniel mentioned can be implemented efficiently in the current framework. The question is whether it can be simplified without sacrificing performance.
You can write decompress as a FC++ function taking and returning lazy lists, in the straight-forward way.
Judging from measurements posted by Gennadiy Rozental during the FC++ review, I doubt the lazy list solution qualifies according to the above criteria. Still, it sounds like an interesting idea. It's been a while since I looked at FC++, so I'm having trouble seeing how the lazy list solution would work. Does it work only in cases similar to the compression example, or is a general replacement for Christopher's co_filters? I'd appreciate a small code sample, even if it is untested.
Regards, Bruno
Jonathan