Мне интересно, что происходит с тем, как я определяю схему for-loop в схеме. Всякий раз, когда я пытаюсь запустить оператор for, он работает довольно долго, а затем сработает.проблема определения-синтаксиса в схеме
(define-syntax for
(syntax-rules (:)
[(_ (initial : test : update) body)
(begin initial
(if test
(begin body update
(for [test : update] body))))]
[(_ (test : update) body)
(if test
(begin body update
(for [test : update] body)))]))
Он должен запустить начальное условие, проверить тест, запустить тело, а затем выполнить цикл до следующего прогона.