Hi, Jeremy. Probably I didn't read your message carefully enough. Sorry for 
that.

In my case there's no recursive code sqrt calls nroot that calls Prelude.nroot 
and Prelude./. Does that qualify? 

pavel


>> On 25.01.2011, at 22:35, Jeremy Shaw wrote:
>> 
>>> There is a weird type-checking bug in 7.0.1 that causes loopy behavior:
>>> 
>>> http://hackage.haskell.org/trac/ghc/ticket/4809
>>> 
>>> Not sure if that is what is happening to you or not. Though in my 
>>> experience it did not actually print <<loop>>, it just hung.



> My understanding of the bug is that the type-checker failed to properly 
> detect and handle super classes in recursive dictionaries. As a result the 
> dictionaries call each other in a loop and nothing ever happens..
> You mentioned that the 'let' trick sometimes fixed things. In the code I had 
> trouble with, subtle changes would make the code magically start working. For 
> example, changing *unused* functions in 'where' clauses would cause code to 
> suddenly start working :) 

> 
> Anyway, since you are certain your issue is not related, you can just ignore 
> my message. 


> 
> - jeremy
> 
> On Jan 25, 2011, at 1:43 PM, Pavel Perikov wrote:
> 
>> It is NOT type checking bug. It causes Rec {} in core and _|_ in runtime :)
>> 
> 

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to