
10 Sep
2006
10 Sep
'06
4:21 a.m.
Is it possible to write nondet? nondet :: a -> a -> a nondet _|_ _|_ = _|_ nondet _|_ q = q nondet p _|_ = p nondet p q = p or q nondet evaluates its arguments in parallel, and returns the first one of them to evaluate. It's thus a bit different from the "par" of GPH. This isn't referentially transparent, of course, but maybe it could be written in the IO monad: nondet p q = unsafePerformIO (getnondet p q) getnondet :: a -> a -> IO a -- Ashley Yakeley, Seattle WA