Hi everybody,<br><br>I don&#39;t understand what the difference is with define and define/contract in the following cases. Can somebody explain what happens here? Especially why does unfun not eq? itself?!?<br><br>#lang racket<br>
<br>(define (fun) &#39;fun)<br>(define/contract (unfun) (-&gt; symbol?) &#39;unfun)<br>(define fun? (contract (-&gt; symbol?) fun &#39;fun &#39;!fun))<br><br>&gt; (eq? fun fun)<br>#t<br>&gt; (eq? unfun unfun)<br>#f<br>&gt; (eq? fun? fun?)<br>
#t<br><br>Thanks,<br>-Markku<br>