In jeder Programmiersprache gibt es die Möglichkeit, in Abhängigkeit davon, ob eine Bedingung „wahr“ oder „falsch“ ist, jeweils etwas anderes zu tun. In Scheme gibt es dazu die Spezialformen „cond“ und „if“. Darüberhinaus sind auch die logischen Verknüpfungen „and“ und „or“ als macros definiert, um die üblichen Auswertungsregeln zu umgehen. Beispiele und Aufgaben hier