[Haskell-cafe] Fixed points
alex.solla at gmail.com
Fri Jun 10 21:10:16 CEST 2011
On Fri, Jun 10, 2011 at 12:05 PM, Alexander Solla <alex.solla at gmail.com>wrote:
> On Thu, Jun 9, 2011 at 6:04 PM, Felipe Almeida Lessa <
> felipe.lessa at gmail.com> wrote:
>> Something like this?
>> equivalenceClosure = fix $ \f e ->
>> let e' = reflexivity . symmetry . transitivity $ e
>> in if e' == e then e else f e'
> I managed something even "clearer". I still have very little intuition
> about what's going on, but I had an aha moment -- which I promptly forgot
> :0( -- and at least there's a mechanical translation from the iterate
> version to the fix one.
> equivalenceClosure :: (Ord a) => Relation a -> Relation a
> equivalenceClosure = fix (\f -> reflexivity . symmetry . transitivity)
Cancel that, it's not passing my tests.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe