Логический Тип (boolean)
Мы уже в некоторой степени познакомились с использованием чисел, помимо них в Scheme можно использовать и другие типы данных. Для определения к какому типу данных относится то или иное значение используются различные предикаты, то есть функции возвращающие логический тип данных, то есть "итина" или "ложь", если соблюдается некое условие, в Scheme значение "истина" передаётся с помощью литерала "#t", а ложь с помощью -- "#f". Ноль и единица не проканают.
Давайте рассмотрим простой пример предиката "boolean?", он принимает один аргумент и возвращает #t если это аргумет принадлежить к типу boolean
(boolean? #t)
->#t
(boolean? #f)
->#f
(boolean? 1)
->#f
(boolean? 0)
->#f
функция "not" предназначена для обращения логических значений в их противоположность
(not #t)
->#f
(not #f)
->#t