> On May 5, 2020, at 04:00, Richard Eisenberg <r...@richarde.dev> wrote:
> 
> reportWanteds reports errors, yes, but it also fills in deferred type errors. 
> [snip] It's a bit awkward that a function called reportWanteds does this, but 
> it actually makes good sense, because reportWanteds knows the text that 
> should be in the runtime error call.

Yes, that does make sense; thank you for the explanation.

> You say that they're not, in general, fully known. But are they often known 
> in practice? My suggestion here isn't to remove the type families entirely, 
> but maybe to short-circuit around them. If that's often possible, it takes 
> some pressure off fixing the pretty-printing.

You’re right that this might be feasible, but I think it would be awkward, and 
it probably would break down just often enough to be an unsatisfying solution.

> I wonder if we should have a preprocessTypeForPrinting :: DynFlags -> Type -> 
> Type function. This could be run *before* the conversion to IfaceType. It 
> could handle both your new idea and the existing idea for 
> -f(no-)print-explicit-runtime-reps. The supplied DynFlags could be gotten 
> from sdocWithDynFlags, I think. I bet that once we have this facility 
> working, we'll find more uses for it.

If you think this is a reasonable idea, I’m happy to give it a shot—it 
definitely seems like the nicest way to do it to me. I’ll try it out and report 
back if I run into any trouble. Thanks again!

Alexis
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to