<div dir="ltr"><br><div>The 9.0 upgrade may help: <a href="https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0">https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 1, 2020 at 12:20 PM Johannes Waldmann <<a href="mailto:johannes.waldmann@htwk-leipzig.de">johannes.waldmann@htwk-leipzig.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear Cafe,<br>
<br>
and thanks, Georgi, for answering my previous question<br>
<br>
here's another difference I noticed<br>
(based on real code, but reduced to a minimal test case)<br>
<br>
GHCi, version 9.0.0.20200925: <a href="https://www.haskell.org/ghc/" rel="noreferrer" target="_blank">https://www.haskell.org/ghc/</a>  :? for help<br>
Prelude> :set -XRankNTypes<br>
Prelude> let f :: (forall a . a -> ()) -> () ; f = g ; g x = undefined<br>
<br>
<interactive>:2:43: error:<br>
    • Couldn't match type ‘p0’ with ‘forall a. a -> ()’<br>
      Expected: (forall a. a -> ()) -> ()<br>
        Actual: p0 -> ()<br>
      Cannot instantiate unification variable ‘p0’<br>
      with a type involving polytypes: forall a. a -> ()<br>
    • In the expression: g<br>
      In an equation for ‘f’: f = g<br>
<br>
The declaration is accepted by ghc-8.<br>
For ghc-9, I have to give a type signature for g (copy that of f),<br>
or replace `f = g` with  `f x = g x`.<br>
<br>
- J.W.<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>