[Haskell-cafe] recursion problem part 2
jerzy.karczmarczuk at unicaen.fr
Sat Feb 7 02:15:37 UTC 2015
Le 07/02/2015 02:48, Jeffrey Brown a écrit :
> I see: what matters is that ++ has to traverse to the end of the first
> list. The order in which its two arguments are evaluated is irrelevant.
> Thank you, David and Arjun!
> On Fri, Feb 6, 2015 at 5:38 PM, Arjun Comar <nrujac at gmail.com
> <mailto:nrujac at gmail.com>> wrote:
> An expression of the form xs ++ [x] appends the element to the end
> of the list. In order to evaluate the result, the ++ function
> iterates through the elements of the first list to find the end of
> the list then sets the tail of the last element of the first list
> to the second list.
Gentlemen, don't forget that Haskell is lazy, and this traversal takes
place only when the list is effectively traversed by a consumer, which
stores everything (and doesn't get rid of elements read). This might be
the case here if somebody wants to keep and use the "digit
representation" of a number, but please do not consider this phenomenon
as inherent to the list creation algorithm.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe