title: A `cond` that is also a `let`?
body: <p>Frequently, I find I want to compute a series of values <em>conditionally</em> depending on the value of previous values. For example, let's call these values <code>x</code>, <code>y</code> and <code>z</code>. First I compute <code>x</code>. If <code>x</code> meets certain criteria, then I compute <code>y</code>, which is function of <code>x</code>, and so on.  Schematically,</p>
  
  <pre><code>;; compute value x
  ;; if x =? #f -&gt; #f
  ;; else compute value y = f(x)
  ;; if y =? #f -&gt; #f
  ;; else compute value z = f(y)
  ;; et cetera
  </code></pre>
  
  <p>How do you do this in Scheme? I think typically one would use <code>cond</code> but <code>cond</code> throws away the results of the tests, therefore it's no use in this situation.</p>