<div dir="ltr">Yes, as long as S7 is &quot;mostly r5rs&quot; as the docs state, then *only* #f can evaluate as #f.  Nil and 0 both have to evaluate as #f in a boolean context. A bit different but has its uses! Which is why recusing over scheme lists, the base check is usually done with the null? predicate:<div>(null? list-that-might-be-empty :alldone)</div><div><br></div><div>iain</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 8, 2020 at 4:26 AM Orm Finnendahl &lt;<a href="mailto:orm.finnendahl@selma.hfmdk-frankfurt.de">orm.finnendahl@selma.hfmdk-frankfurt.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
Am Dienstag, den 08. September 2020 um 13:11:02 Uhr (+0200) schrieb<br>
Kjetil Matheussen:<br>
&gt; There&#39;s lots of situations where this would be practical, but since s7<br>
&gt; is a Scheme implementation, I think it&#39;s probably best to behave as #t<br>
&gt; to avoid trouble when porting to other scheme implementations. Also,<br>
&gt; people who knows scheme would be confused if &#39;() returned #f.<br>
<br>
Exactly. This is a well known (much discussed) difference between<br>
scheme and common lisp (or other dialects) and would break scheme if<br>
changed. If you feel adventurous, I&#39;d recommend to overwrite if at the<br>
beginning of your code or define a custom macro of a different name<br>
which behaves like cl&#39;s if for the use cases where you need this<br>
behaviour.<br>
<br>
--<br>
Orm<br>
_______________________________________________<br>
Cmdist mailing list<br>
<a href="mailto:Cmdist@ccrma.stanford.edu" target="_blank">Cmdist@ccrma.stanford.edu</a><br>
<a href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" rel="noreferrer" target="_blank">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a><br>
</blockquote></div>