<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">There's a stream-member function given in SRFI 41 that doesn't seem to work as expected.<br><br>=================<br><br>(require srfi/41)<br><br>(define s1 (stream-cons 'a (stream-cons 'b stream-null)))<br><br>(define-stream (stream-member eql? obj strm)<br>&nbsp; (stream-let loop ((strm strm))<br>&nbsp;&nbsp;&nbsp; (cond ((stream-null? strm) #f)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((eql? obj (stream-car strm)) strm)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (else (loop (stream-cdr strm))))))<br><br>===================<br><br>Welcome to DrScheme, version 4.1 [3m].<br>Language: Swindle; memory limit: 128 megabytes.<br>&gt; (stream-member equal? 'c s1)<br>#&lt;stream&gt;<br>&gt; <br><br>===================<br><br>Shouldn't the answer be #f?<br><br>Michael<br></td></tr></table><br>