
Tim Newsham
wrote in article in gmane.comp.lang.haskell.cafe: his language also supports an interesting imperative primitive that lets you pick the first available value from a set of channels which isn't available in pure Haskell expressions. Has anyone implemented a primitive like this for Haskell?
Could it be the "amb" described at http://conal.net/blog/posts/functional-concurrency-with-unambiguous-choice/ http://conal.net/blog/posts/smarter-termination-for-thread-racing/ ?
It reminds me a little of unamb but is different. Unamb is pure and picks the first computed value of several consistent computations. The select operator picks the first available value from a set of diff channels, some of which may have diff types and so is definitely not pure. Tim Newsham http://www.thenewsh.com/~newsham/