patches/diffs for full :browse! (fixes most of #1617)
claus.reinke at talk21.com
Thu Sep 13 14:58:59 EDT 2007
>Claus I've committed a patch that fixes printing for classes etc
>(the bug you found). Instead of using dropForAlls, you can
>now use PprTyThing.pprTypeForUser.
>I hope that helps.
thanks, yes it does: it simplifies my patch, and it fixes the bug
where dropping the inner forall captures an inner variable.
but i couldn't see how your patches addressed the dual issue,
where lifting the inner forall captures an outer variable (same
test case, just without dropping foralls). until i noticed that
somehow you always rename the inner forall binding, even
if it isn't dropped.
however, you don't actually seem to do any lifting to merge
the two foralls in front, and still claim that
c :: forall a b. (C a b) => forall a1. a1 -> b
is a valid type - ghc disagrees!-) nesting foralls is ok, but
nesting a forall in a context does not seem to be accepted.
do you intend to change that (either the acceptance, or the
output), or should i send my updated patches now?
More information about the Cvs-ghc