ghci freezes on failed pattern match in recursive list comprehension
The following freezes ghci (top shows no resources consumed):
Prelude> let xs = [1..5] : [ xt | (_:xt) <- xs ] in take 7 xs
[[1,2,3,4,5],[2,3,4,5],[3,4,5],[4,5],[5],[]
This is not the same issue as http://hackage.haskell.org/trac/ghc/ticket/3053 (closed, invalid) as there are no elements to filter. (This may be a well-known black hole, but not to me; I was hoping a similar list would just terminate, trying to avoid the Nothing case boilerplate in an unfoldl.)
Trac metadata
Trac field | Value |
---|---|
Version | 6.10.4 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |