| z = z
| x = x GHC.Num:+ y
| y = x GHC.Num:+ y
| -----8<----------8<----------8<----------8<----------8<-----
| 
| This is far from ideal if you want to have [def_x, def_y, def_z]
rather
| than ds on the left hand side (as I do, and it doesn't seem
unreasonable
| to me to expect it to do the obvious). At first I thought this was
just
| caused by reversed lists in the parser, but then I discovered that
| something seems to be then reordering declarations that depend on each
| other - I'm guessing the type checker or possibly renamer, but I'm not
| familiar enough with the code to know. Is fixing this (and similar
| reorderings) an easy task? Any pointers?

The renamer performs a strongly-connected component analysis of
declarations.  Reason: it's the standard way to get maximal
polymorphism.  It's even part of the language specification.

It'd be quite tricky to un-do that stuff before doing the quotation
part.  So I'm really not sure how to tackle your problem.

Simonf
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to