Allegro CL, пошаговая отладка функций
Я пытаюсь понять, как функция работает в Лиспе, я использовал Allegro Cl довольно давно, и я помню, что у него была специальная функция в REPL, которая позволяла вам увидеть, как функция работает шаг за шагом, как в Matlab. Например, если у вас была эта функция:
(+ 1
(* 2 3
(/ 6 2)
)
)
Вы можете увидеть каждую функцию шаг за шагом, например:
(+ 1
(* 2 3
3)
)
А потом:
(+ 1
18)
И наконец:
19
Спасибо заранее.
1 ответ
Благодаря Jkiiski,
Код для пошагового показа функции:
(step (+ 1 (* 2 3 (/ 6 2))))
и это очень подробно показывает, как Lisp анализирует все данные и оценивает функцию.
После многих шагов это дает:
[STEP] CG-USER(2):
result 6: 2
6: (/ 6 2)
[STEP] CG-USER(2):
result 5: 18
result 4: 18
result 3: 18
result 2: 18
2: (+ 1 18)
[STEP] CG-USER(2):
result 2: 19
result 1: 19