
cdsmith:
Bryan O'Sullivan wrote:
It's not an infinite list. It's a list of length maxBound::Int, as required by the fact that take's first argument is an Int. The second argument is probably defaulting to Integer.
Which, incidentally, also explains why Don couldn't reproduce it on a 64- bit system. There, instead of hanging for about a minute before printing out the list, it would hang for about 4 billion minutes.
It's also interesting how our 32 bit machines are fast enough now to make Int indices noticeably problematic. And thankfully, 64 bit machines are common enough now that the 32 bit Int issues are less of an issue. length, take, drop and index working on machine-sized Ints by default are really a bit of a wart, aren't they? -- Don