Hi everybody,<br><br>I don'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) 'fun)<br>(define/contract (unfun) (-> symbol?) 'unfun)<br>(define fun? (contract (-> symbol?) fun 'fun '!fun))<br><br>> (eq? fun fun)<br>#t<br>> (eq? unfun unfun)<br>#f<br>> (eq? fun? fun?)<br>
#t<br><br>Thanks,<br>-Markku<br>