Существуют ли какие-либо команды, которые выводят все последующие команды lisp на стандартный вывод?
Я ищу что-то похожее на bash -x, но для какого-нибудь интерпретатора lisp (или какой-то разновидности lisp, в частности GNU Common Lisp).
Существуют ли какие-либо команды, которые выводят все последующие команды lisp на стандартный вывод?
Я ищу что-то похожее на bash -x, но для какого-нибудь интерпретатора lisp (или какой-то разновидности lisp, в частности GNU Common Lisp).
Возможно, вы можете использовать DRIBBLE
:
http://clhs.lisp.se/Body/f_dribbl.htm
Если вы используете CLISP (реализация ANSI Common Lisp), прочтите справочную страницу. Также смотрите документацию для *load-print*
и LOAD
для любой реализации ANSI Common Lisp.
Common Lisp сильно отличается от Bash. В нем нет «команд», как в Bash. В нем есть функции, макросы и специальные операторы. В то время как все команды Bash являются атомарными (с точки зрения текущего процесса Bash), в Lisp это относится только к примитивным функциям и специальным операторам. Все остальное строится из более простых частей.
Из-за этого прямой эквивалент функции Bash xtrace
/-x
не имел бы смысла в Lisp. Было бы полезно, если бы вы написали, какую проблему вы действительно хотите решить, а не просто спрашивали об очень конкретной функции. Возможно, вызов trace
для интересующих вас функций может помочь?
-x
в Bash состоит в том, чтобы обеспечить полную трассировку всех команд, выполняемых сценарием. (Я не думаю, что это очень полезно, когда оболочка используется в интерактивном режиме.) Я попытался подчеркнуть в своем ответе, что такая функция не будет полезна в Лиспе, потому что она уведет вас глубоко в недра стандартной библиотеки. . И исходные формы обычно не оцениваются (например, из-за расширения макросов и компиляции в собственный код). Поэтому я предложил вместо этого trace
конкретные интересующие функции.
- person Rörd; 05.10.2013
+
< /a>, и это может помочь реализовать эту функцию, если она еще не существует. - person Joshua Taylor   schedule 04.10.2013