<div dir="ltr"><div>Hi, all<br><br></div>Accidentally, I found out that null matchs in unexpected way (seems it matchs always) <br><div><br clear="all"><div>So,<br>(define (length-my list)<br>  (match list<br>    ['() 0]<br>    [(cons x xs)<br>     (+ 1<br>        (length-my xs))]<br>    [_ 'not-a-list]))<br>(length-my '(1 2 3 4))<br></div><div>>produces 4<br></div><div><br></div><div>But<br>(define (length-my list)<br>  (match list<br></div><div>    [null 0]<br></div><div>    [(cons x xs)<br>     (+ 1<br>        (length-my xs))]<br>    [_ 'not-a-list]))<br>(length-my '(1 2 3 4))<br></div>>produces 0<br><br></div><div>I also tried that:<br>(match '213423<br>  [null 0]<br>  [_ 1])<br>>produces 0<br>(match null<br>  ['213423 0]<br>  [_ 1])<br>>produces 1<br><br></div><div>Is it a bug?<br><br></div><div>I am using Racket 6.1<br><br></div><div><div>-- <br>Best regards,<div>Yuri<br><div><br></div></div>
</div></div></div>