Question: I have a three column table in HTML. The cells in the third column are all of the same class.

I want the third column in each row to move to a new row under the column if the screen width is less than 750px.

So, the table would normally look like this:

```
<table>
 <tr>
  <td></td>
  <td></td>
  <td class="thirdcol"></td>
 </tr>
 <tr>
  <td></td>
  <td></td>
  <td class="thirdcol"></td>
 </tr>
</table>

```

If the screen width is less than 750px, I want the javascript function to make the table look like this:

```
<table>
 <tr>
  <td></td>
  <td></td>
 </tr>
 <tr>
  <td class="thirdcol"></td>
 </tr>
 <tr>
  <td></td>
  <td></td>
 </tr>
 <tr>
  <td class="thirdcol"></td>
 </tr>
</table>

```

Answer: 
Since you answered your own question, note that though in your example b and c may not evaluated in the (or a b c) call, the let binding is evaluated before that so the too-lazy-to-optimize-this-function call is evaluated anyway. Clojure isn't as lazy as that.

To be clear: to conditionally evaluate the function calls, you need to put the expression evaluating them in the `or` call, basically:

```
(or (simple-function args)
    (complex-function args)
    (too-lazy-to-optimize-this-function args))

```
The other answers all good, but when in doubt, you can always just test it out on the REPL:

```
user=> (or true (do (println "hello") true))
true
user=> (or false (do (println "hello") true))
hello
true

```