id,summary,reporter,owner,description,type,status,priority,milestone,version,resolution,keywords,cc
63,GHC infinite loop when building vector program,basvandijk,,"As [http://www.haskell.org/pipermail/glasgow-haskell-users/2011-October/021057.html reported] on the glasgow-haskell-users mailinglist, when benchmarking my new [http://hackage.haskell.org/package/vector-bytestring vector-bytestring] package I discovered
that building the following program causes GHC to go into, what seems
to be, an infinite loop:

{{{
import Data.Vector (Vector)
import qualified Data.Vector.Generic as VG

main = print $ VG.foldl f z (VG.fromList [] :: Vector Int)

f = flip (:)
z = []
}}}

I build it with:

`$ ghc --make vectorGHCloop.hs -O2`

It compiles fine without the `-O2` or if you specify
`-fno-enable-rewrite-rules`. So it's probably a loop in a rule
somewhere.

Note that the program also builds fine when I change the 'f' and 'z' to:

{{{
f = (+)
z = 0
}}}

I use `vector-0.9` and `ghc-7.2.1`. 

Daniel Fischer replicated it with `vector-0.7.1` and `ghc-7.2.1` (^^C'ed after six minutes).
Compilation finishes (unsurprisingly) with `-fno-spec-constr` or with
`{-# NOINLINE f #-}`.

It compiles fine with `vector-0.7.0.1` and `ghc-7.0.4`.
",defect,new,minor,,0.7,,,haskell.org@…
