Mark Tullsen <tullsen@cs.yale.edu> writes:
You have to realize that Alastair Reid is one of the truly great Haskell programmers on planet earth. I'm serious. So, when he says "incredibly subtle space leak" I wouldn't expect the solution to be simple. As far as I can tell, your argument would also apply to foo2, which doesn't have a space leak.
Yeah, well, in this case this allegedly "truly great Haskell programmer" happened to be looking at the problem the wrong way. I started out assuming it was a compiler or garbage collector bug and didn't even think of trying to actually reason about the program using the CBN calculus. Blush! -- Alastair Reid ps Tell you what, I'll make up for it by making most of the fptools/hslib libraries work in Hugs. If you have read-write access to the cvs repository, all you have to do (as of 20 minutes ago) is: cvs -d <something> checkout hugs98 cvs -d <something> checkout fptools/hslibs cd hugs98/src/unix ./convert_hslibs ../../.. # path points to base of fptools tree ./configure --prefix=$HOME cd .. make install where <something> is whatever you normally use to get the CVS repository. Something like this :ext:<your username>@cvs.haskell.org:/home/cvs/root If you only have read access, you'll need to wait until it gets updated (sometime tonight) and then use :pserver:anoncvs@cvs.haskell.org:/cvs with the password "cvs".