My brainstorm is that a "Lazy list" is just a "work list" of pending tasks that may need to get done. Meanwhile, hyperoperators apply an operator to a list, but assume that it is side-effect free so it can do them in parallel implicitly. But, the iterator and the hyperoperator are just two extremes of a continuum of guarantees and flexibility of how a "work list" can be processed.
It's been touted that hyperoperators are an example of making threading available as a deeper part of the language, not requiring explicit low-level thread operations to acheive. I think that the Lazy list is likewise, but in fact serves as a better exemplar of how to use it for background activities because you can put general and arbitrary work in your work list.
My essay is posted here. I invite feedback to improve the article, as well as general discussion of the idea.
—John
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Lazy Lists as a model for implicit parallelism
by moritz (Cardinal) on Sep 16, 2008 at 08:44 UTC | |
|
Re: Lazy Lists as a model for implicit parallelism
by Anonymous Monk on Sep 16, 2008 at 02:47 UTC | |
by John M. Dlugosz (Monsignor) on Sep 16, 2008 at 05:19 UTC |