[GHC] #876: stack overflow on 'length . filter odd $ [0 ..
999999999]'
GHC
trac at galois.com
Thu Aug 24 07:58:44 EDT 2006
#876: stack overflow on 'length . filter odd $ [0 .. 999999999]'
--------------------------------+-------------------------------------------
Reporter: ariep at xs4all.nl | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.5
Severity: normal | Keywords:
Os: Linux | Difficulty: Unknown
Architecture: x86 |
--------------------------------+-------------------------------------------
The program
{{{
module Main where
main = print $ length . filter odd $ [0 .. 999999999]
}}}
, compiled with ghc-6.5.20060508 or later with optimisation turned on
(-O), overflows the stack when run. It seems that the generated code is
not tail-recursive. 6.4.2 and 6.5 snapshots up to 20060507 do not have
this problem.
This may be a silly example, but the same thing happens if you replace
'odd' with some more interesting predicate, and let the length of the
input list be chosen by the user.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/876>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list