#3500: Type functions and recursive dictionaries
---------------------------------+------------------------------------------
    Reporter:  simonpj           |        Owner:                  
        Type:  bug               |       Status:  new             
    Priority:  normal            |    Milestone:                  
   Component:  Compiler          |      Version:  6.10.4          
    Severity:  normal            |   Resolution:                  
    Keywords:                    |   Difficulty:  Unknown         
    Testcase:                    |           Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |  
---------------------------------+------------------------------------------
Comment (by simonpj):

 You are trying to do something quite delicate here.

 The whole idea of solving constraints in a co-inductive way (building a
 recursive group of dictionary definitions) relies on spotting something
 we've seen before to "tie the knot".  To date, the main application I knew
 for this fairly exotic idea was described in the SYB3 paper [1].  So I'm
 curious about your application (and that of anyone else) that relies on
 this recursive-dictionary-solving mechanism.

 Returning to your problem, this "loop spotting" mechanism is rather
 syntactic at the moment, whereas your application needs something more
 refined, involving equality modulo type function reductions.  Alas, the
 constraint solving machinery for type classes and for type functions is
 not properly integrated.  I'm amazed it works as well as it does,
 actually.

 We [Manuel, Dimitrios, and I] are (slowly, slowly) working on a complete
 rewrite of GHC's constraint-solving mechanism.  I'm pretty sure that it'll
 solve this problem among many others.  But don't hold your breath.  It'll
 be months not weeks.  But not years!

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3500#comment:1>
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