## and - combine (Boolean) results

### Basic Version: Booleans

Procedure`and`
Parametersb1 ... bn, n Boolean values
PurposeDetermines if all the values are true.
ProducesA truth value: true (`#t`) if all the values are true; false (`#f`) if any is false.
PreconditionsAll the parameters are Boolean values (unverified).
Examples
```> (and #t #t #t)
#t
> (and (< 1 2) (< 2 3))
#t
> (and (odd? 1) (odd? 3) (odd? 5) (odd? 6))
#f
> (and)
#t
```

Procedure`and`
Parametersexp1 ... expn, n expressions
PurposeEvaluates expressions one-by-one until it reaches the end or false.
ProducesThe value of one of the expressions. Returns false (`#f`) if any of the expressions evaluates to false. Returns the value of the last expression if all the expressions evaluate to something other than false.
Preconditions(None)
PostconditionsEvalutes each of the expressions up to (and including) the first one that returns false. If all of the expressions return a non-false value, evaluates all of the expressions.
Examples
```> (and "hello" "goodbye")
"goodbye"
> (and (display "Blah") (newline) "goodbye")
Blah
"goodbye"
> (and (display "Blah") #f (display "Blech"))
Blah
#f
```

Disclaimer: I usually create these pages on the fly. This means that they are rarely proofread and may contain bad grammar and incorrect details. It also means that I may update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This page was generated by Siteweaver on Thu Feb 22 05:47:32 2001.
This page may be found at `http://www.cs.grinnell.edu/~rebelsky/Courses/CS151/2001S/and.html`.