[Haskell-cafe] wanted: Function to break circular data dependencies

Erik Hesselink hesselink at gmail.com
Tue May 6 10:24:59 UTC 2014


On Tue, May 6, 2014 at 11:38 AM, Chris Warburton
<chriswarbo at googlemail.com> wrote:
> Job Vranish <job.vranish at gmail.com> writes:
>
>> I've often found myself wanting a function like this. It would make certain
>> kinds of knot-tying/cycle detection _much_ easier.
>>
>> Is there any reason why this function can't/shouldn't exist?
>
> This makes me think of the more widely-known 'parallel OR' operator,
> which evaluates its arguments in parallel and returns whichever finishes
> evaluating first.
>
> This operator cannot be implemented in Lambda Calculus, but it can in
> Haskell (via threads). Unfortunately Googling for 'haskell "parallel
> or"' brings up sentence fragments ('...parallel or concurrent...')
> rather than a parallel or implementation.

Perhaps you are looking for 'unamb' [0]?

Erik

[0] http://hackage.haskell.org/package/unamb


More information about the Haskell-Cafe mailing list