Схема
Вот простое рекурсивное определение:
(define (factorial x)
(if (= x 0) 1
(* x (factorial (- x 1)))))
В хвостовой рекурсивной функции Схемы используется постоянное пространство стека. Вот версия факториала с хвостовой рекурсией:
(define factorial
(letrec ((fact (lambda (x accum)
(if (= x 0) accum
(fact (- x 1) (* accum x))))))
(lambda (x)
(fact x 1))))
См. этот вопрос для вашего ответа.
От Брэда Ларсона:
Запустите приложение из Xcode, чтобы вывод на консоль передавался по конвейеру. Пока ваше приложение работает, запустите инструменты и выберите подходящий инструмент. В разделе Default Target в строке меню выберите iPhone или Computer (в зависимости от того, что подходит для того, что вы тестируете), а в разделе Attach to Process найдите имя вашего исполняемого файла.
Когда вы нажимаете кнопку записи, ваше приложение должно запуститься профилируется в инструментах, а вывод консоли направляется в Xcode. К сожалению, этот процесс присоединения должен произойти после запуска приложения, поэтому вам, возможно, придется отдельно профилировать запуск вашего приложения.
Изменить: Если это не помогло, возможно, вам просто нужно перезагрузить компьютер. Вы это уже сделали?