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
Другие вопросы по тегам