[vector] #63: GHC infinite loop when building vector program
vector
vector at projects.haskell.org
Wed Oct 12 15:17:19 BST 2011
#63: GHC infinite loop when building vector program
-----------------------+----------------------------------------------------
Reporter: basvandijk | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Version: 0.7 | Keywords:
-----------------------+----------------------------------------------------
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`.
--
Ticket URL: <http://trac.haskell.org/vector/ticket/63>
vector <http://trac.haskell.org/vector>
Package vector
More information about the vector
mailing list