#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

Reply via email to