LINUX.ORG.RU

История изменений

Исправление tp_for_my_bunghole, (текущая версия) :

Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.

Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.

(step
  (progn
    (print "first step")
    (print "second step"))
  )

Опции:

 0: [STEP-CONTINUE] Resume normal execution
 1: [STEP-OUT] Resume stepping after returning from this function
 2: [STEP-NEXT] Step over call
 3: [STEP-INTO] Step into call
 4: [RETRY] Retry EVAL of current toplevel form.
 5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".

В Emacs Lisp пошаговый дебаггер доступен в любой момент на уровне нажатий клавиш. Но есть только error, break нет.

В Common Lisp есть ещё TRACE.
Можно сделать макрос который оборачивает в STEP или нет разные части кода в зависимости от глобального символа, и сидеть делать шаги по разным функциям. Будет такой «debug build».
В Scheme в новых типах макросов кажется не сделать такое, если нет нормальных Lisp macros в имплементации.

Исправление tp_for_my_bunghole, :

Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.

Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.

(step
  (progn
    (print "first step")
    (print "second step"))
  )

Опции:

 0: [STEP-CONTINUE] Resume normal execution
 1: [STEP-OUT] Resume stepping after returning from this function
 2: [STEP-NEXT] Step over call
 3: [STEP-INTO] Step into call
 4: [RETRY] Retry EVAL of current toplevel form.
 5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".

В Emacs Lisp пошаговый дебаггер доступен в любой момент на уровне нажатий клавиш. Но есть только error, break нет.

В Common Lisp есть ещё TRACE.
Можно сделать макрос который оборачивает в STEP или нет разные части кода в зависимости от глобальной переменной, и сидеть делать шаги по разным функциям. Будет такой «debug build».
В Scheme в новых типах макросов кажется не сделать такое, если нет нормальных Lisp macros в имплементации.

Исправление tp_for_my_bunghole, :

Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.

Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.

(step
  (progn
    (print "first step")
    (print "second step"))
  )

Опции:

 0: [STEP-CONTINUE] Resume normal execution
 1: [STEP-OUT] Resume stepping after returning from this function
 2: [STEP-NEXT] Step over call
 3: [STEP-INTO] Step into call
 4: [RETRY] Retry EVAL of current toplevel form.
 5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".

В Emacs Lisp пошаговый дебаггер доступен в любой момент на уровне нажатий клавиш. Но есть только error, break нет.

Исправление tp_for_my_bunghole, :

Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.

Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.

(step
  (progn
    (print "first step")
    (print "second step"))
  )

Опции:

 0: [STEP-CONTINUE] Resume normal execution
 1: [STEP-OUT] Resume stepping after returning from this function
 2: [STEP-NEXT] Step over call
 3: [STEP-INTO] Step into call
 4: [RETRY] Retry EVAL of current toplevel form.
 5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".

Исправление tp_for_my_bunghole, :

Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.

Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.

(step
  (progn
    (print "first step")
    (print "second step"))
  )

Опции:

 0: [STEP-CONTINUE] Resume normal execution
 1: [STEP-OUT] Resume stepping after returning from this function
 2: [STEP-NEXT] Step over call
 3: [STEP-INTO] Step into call
 4: [RETRY] Retry EVAL of current toplevel form.
 5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".

Исходная версия tp_for_my_bunghole, :

Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.

Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.

Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.

(step
  (progn
    (print "first step")
    (print "second step"))
  )