On Tue, Oct 01, 2019 at 12:41:00AM +0300, Dmitry Alexandrov wrote: > Вы так говорите, будто в «Схеме» специальную форму от функции отличить можно.
Ну вообще-то - можно. Как правило, специальная форма - специально вычисляется. Например: scheme@(guile-user)> (if #f (/ 1 0) 1) $2 = 1 scheme@(guile-user)> (+ #f (/ 1 0) 1) <unnamed port>:7:6: Throw to key `numerical-overflow' with args `("/" "Numerical overflow" #f #f)'. Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.