[Haskell-beginners] recursive 'let' ?
ky3 at atamo.com
Tue Apr 15 00:57:19 UTC 2014
On Mon, Apr 14, 2014 at 11:24 AM, John M. Dlugosz
<ngnr63q02 at sneakemail.com>wrote:
> I don't mind recursive *functions*. It's recursive definition of single
>> computed values that looked odd to me. Lazy evaluation makes all the
>> difference. Looking at
>> b= f a c
>> c = f a b
>> I was thinking, "how can it figure out what b and c need to be?" because
>> I'm used to this meaning that it needs to come up with an actual value
>> right now.
To amplify Arjun's point,
b = f a c
c = f a b
is equivalent to
b = f a (f a b)
c = f a (f a c)
and now the mutual recursion that's troubling John vanishes.
They become plain ol' self-recursive functions.
I don't think mutual recursion is harder to make sense of than
self-recursion. I think self-recursion appears easier than mutual
recursion, but that's deceptive. It's actually just as hard!
>> Beginners mailing list
>> Beginners at haskell.org
> Beginners mailing list
> Beginners at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners