#5550: GHC infinite loop when compiling vector
---------------------------------+------------------------------------------
Reporter: simonpj | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.4.1
Component: Compiler | Version: 7.2.1
Keywords: | Testcase:
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Comment(by simonpj):
I understand the current behaviour. I am proposing a different behaviour!
The bit I didn't realise is this: '''"We can't mark the types that we
actually want to specialise on because they are supplied by the user and
might be defined by the user"'''. I thought that the loops we wanted to
specialise were stream-fusion loops; and they are all generated by library
code; and their State types are all known to the library code. So could we
not annotate these types as ones we want to specialise away; as I
understand it, if the loop state type is (say) `Either` we'd like to
generate two mutually recursive functions, one for `Left` states and one
for `Right`.
(Admittedly with my proposal you could not use `Either`; you'd have to
declare a new type so that you could annotate it to be specialised away.)
Would that not work? It would have the advantage of avoiding the need for
the SPEC argument altogether. I'm sure there's a fatal flaw, but I'm not
seeing it yet.
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5550#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs