
14 Aug
2010
14 Aug
'10
11:06 a.m.
I was reading this article: http://scienceblogs.com/goodmath/2009/11/writing_basic_functions_in_has.php And came to the part where it shows:
fiblist = 0 : 1 : (zipWith (+) fiblist (tail fiblist))
Very interesting stuff for somebody who comes from an imperative world of course. But then I read that "Once it's been referenced, then the list up to where you looked is concrete - the computations *won't* be repeated." and I started wondering how that works. Because this seems to mean that functions could have unknown (to the caller) memory requirements. How does one, programming in Haskell, keep that in check? And when does that memory get reclaimed? Cheers, -Tako