<html><head></head><body bgcolor="#FFFFFF"><div>It really seems to me that the error message you've got explains everything quite clear.<br><br>Отправлено с iPad</div><div><br>31.07.2012, в 22:59, Shayan Najd Javadipour &lt;<a href="mailto:sh.najd@gmail.com">sh.najd@gmail.com</a>&gt; написал(а):<br><br></div><div></div><blockquote type="cite"><div>Hi,&nbsp;<br><br>I wonder why the following code doesn't typecheck in GHC 7.4.1:<br><br><div><pre style="text-align:left;margin-bottom:0px;margin-top:0px"><span style="font-size:13px;color:rgb(85,85,85)">{-# LANGUAGE GADTs,RankNTypes #-}</span><font size="3">
</font><span style="font-size:13px;color:rgb(57,116,96)">data</span><font size="3"> </font><span style="font-size:13px;color:rgb(79,67,113)">T</span><font size="3"> </font><span style="font-size:13px;color:rgb(51,51,51)">a</span><font size="3"> </font><span style="font-size:13px;color:rgb(57,116,96)">where</span><font size="3"> </font><span style="font-size:13px;color:rgb(79,67,113)">T1</span><font size="3"> </font><span style="font-size:13px">::</span><font size="3"> </font><span style="font-size:13px">(</span><span style="font-size:13px;color:rgb(57,116,96)">forall</span><font size="3"> </font><span style="font-size:13px;color:rgb(51,51,51)">b</span><span style="font-size:13px;color:rgb(51,51,51)">.</span><font size="3"> </font><span style="font-size:13px;color:rgb(51,51,51)">b</span><font size="3"> </font><span style="font-size:13px">-&gt;</span><font size="3"> </font><span style="font-size:13px;color:rgb(51,51,51)">b</span><span style="font-size:13px">)</span><font size="3"> </font><span style="font-size:13px">-&gt;</span><font size="3"> </font><span style="font-size:13px">(</span><span style="font-size:13px;color:rgb(57,116,96)">forall</span><font size="3"> </font><span style="font-size:13px;color:rgb(51,51,51)">a</span><span style="font-size:13px;color:rgb(51,51,51)">.</span><font size="3"> </font><span style="font-size:13px;color:rgb(79,67,113)">Int</span><font size="3"> </font><span style="font-size:13px">-&gt;</span><font size="3"> </font><span style="font-size:13px;color:rgb(79,67,113)">T</span><font size="3"> </font><span style="font-size:13px;color:rgb(51,51,51)">a</span><span style="font-size:13px">)</span><font size="3">

</font><font color="#555555" style="font-size:13px">{- Error:
Data constructor `T1' returns type `forall a. Int -&gt; T a'
      instead of an instance of its parent type `T a'
    In the definition of data constructor `T1'
    In the data type declaration for `T'
Failed, modules loaded: none. -}

</font><font size="3">While:

</font><pre style="margin-top:0px;margin-bottom:0px;font-size:13px;background-color:rgb(255,255,255)"><span class="hs-comment" style="color:rgb(85,85,85)">{-# LANGUAGE GADTs,RankNTypes #-}</span>

<span class="hs-definition">f</span> <span class="hs-keyglyph">::</span> <span class="hs-layout">(</span><span class="hs-keyword" style="color:rgb(57,116,96)">forall</span> <span class="hs-varid" style="color:rgb(51,51,51)">b</span><span class="hs-varop" style="color:rgb(51,51,51)">.</span> <span class="hs-varid" style="color:rgb(51,51,51)">b</span> <span class="hs-keyglyph">-&gt;</span> <span class="hs-varid" style="color:rgb(51,51,51)">b</span><span class="hs-layout">)</span> <span class="hs-keyglyph">-&gt;</span> <span class="hs-layout">(</span><span class="hs-keyword" style="color:rgb(57,116,96)">forall</span> <span class="hs-varid" style="color:rgb(51,51,51)">a</span><span class="hs-varop" style="color:rgb(51,51,51)">.</span> <span class="hs-conid" style="color:rgb(79,67,113)">Int</span> <span class="hs-keyglyph">-&gt;</span> <span class="hs-conid" style="color:rgb(79,67,113)">Maybe</span> <span class="hs-varid" style="color:rgb(51,51,51)">a</span><span class="hs-layout">)</span>
<span class="hs-definition">f</span> <span class="hs-keyglyph">=</span> <span class="hs-varid" style="color:rgb(51,51,51)">undefined</span>

<span class="hs-comment" style="color:rgb(85,85,85)">{- 
ghci&gt; :t f
f :: (forall b. b -&gt; b) -&gt; Int -&gt; Maybe a
-}</span> </pre><pre style="margin-top:0px;margin-bottom:0px;font-size:13px;background-color:rgb(255,255,255)"><br></pre><pre style="margin-top:0px;margin-bottom:0px;font-size:13px;background-color:rgb(255,255,255)">Thanks, 
 Shayan</pre></pre></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Haskell-Cafe mailing list</span><br><span><a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a></span><br><span><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a></span><br></div></blockquote></body></html>