
30 Sep
2005
30 Sep
'05
11:14 a.m.
On Fri, 30 Sep 2005, gary ng wrote:
Once again, many thanks to all who taught me about this small little problem. Don't even know there is init/last and thought there is only head/tail.
http://www.haskell.org/ghc/docs/6.4/html/libraries/base/Data.List.html
But just for my curiosity, would the takeWhile still store the intermediate result till my result is reached ? If so, and my list is really very long(and I need to go to 1/2 of its length), I would still use a lot more memory than imperative method or even the foldl one(where in both case, I just take one element) ?
If you don't trust the compiler you can at least test if the rest of the list is ignored: Run with an infinite list. E.g. last (takeWhile (<10) (scanl (+) 0 (repeat 1)))