
18 Jun
2004
18 Jun
'04
11:12 a.m.
Christopher Okasaki (snipped):
For what it's worth, neither real-time nor bootstrapped queues really make sense in Haskell. The advantage of real-time queues is that, in a (mostly) strict language, you get O(1) *worst-case* bounds instead of amortized bounds, but in Haskell, because everything's lazy, you're stuck with amortized bounds anyway.
I don't really see the point here. If I am writing an application where things need to respond to external interactions in guaranteed O(1) time, then I am going to need real-time queues whether I am writing in Haskell or FORTRAN. The only difference laziness makes is that I may have to put in strictness annotations to avoid the queue elements containing unbounded amounts of computation.