2013-10-04 1 views
0

모든 후속 lisp 명령을 stdout으로 echo하는 명령이 있습니까?echo lisp 명령을 stdout으로

나는 bash-x와 비슷한 것을 찾고있다. 그러나 약간의 lisp 인터프리터 (또는 어떤 종류의 lisp, 특히 GNU Common Lisp)를 찾고있다.

+0

조금 더 명확히 할 수 있습니까? Lisp 명령을 말할 때, REPL (read-eval-print-loop)에서 대화식으로 타이핑하는 것을 의미합니까? 그것은 꽤 답이 아니지만, 마지막 평가 된 형식은 [변수'+'] (http://www.lispworks.com/documentation/HyperSpec/Body/v_pl_plp.htm)에 저장되어 있으며,이 기능을 구현하는 데 도움이 될 수 있습니다 아직 존재하지 않으면. –

+0

지금은 무엇입니까? GNU Common Lisp 또는 CLISP? 이 질문에서 GNU Common Lisp에 대해 언급했지만 CLISP (Common Lisp의 또 다른 구현 인)라는 질문에 태그를 붙입니다. –

+0

REPL을 대화식으로 사용하고자하거나 Lisp을 스크립팅 언어로 사용하고 싶습니까? 마지막 제안은 [32.6.2. Scripting with CLISP] (http://www.clisp.org/impnotes/quickstart.html#quickstart-unix)에서는 각 출력 값이 인쇄되는 스크립팅 기술을 보여줍니다. 입력을보기 위해 어떤 방식 으로든 수정할 수 있습니다. –

답변

1

CLISP (ANSI Common Lisp 구현)를 사용하는 경우 맨 페이지를 읽습니다. 또한 ANSI Common Lisp 구현에 대해서는 *load-print*LOAD 설명서를 참조하십시오.

0

커먼 리스프는 배쉬에서 매우 다른 언어입니다. Bash와 같은 "명령"은 없습니다. 함수, 매크로 및 특수 연산자가 있습니다. 모든 Bash 명령어가 원자 적 (현재 Bash 프로세스의 관점에서) 된 반면, Lisp에서는 원시 함수와 특수 연산자에 대해서만 적용됩니다. 그 밖의 모든 것은 더 단순한 부분으로 구성됩니다.

이 때문에 Bash의 xtrace/-x 기능과 직접적으로 동일한 기능을 Lisp에서는 사용할 수 없습니다. 매우 구체적인 기능을 요구하는 대신 실제로 해결하고 싶은 문제를 작성한 경우 도움이됩니다. 관심있는 기능에 trace을 호출하면 도움이 될 것 같습니까?

+0

구현이 REPL에 후크를 제공하는 경우에는 현재 폼을 평가할 대상으로 인쇄하기 위해 무언가를 추가하면 OP의 질문에 대한 답을 얻을 수있을 것이라고 생각합니다. (CLISP 소스를 보면 CLISP처럼 보이지 않지만 구현은있을 수 있습니다.) –

+0

@JoshuaTaylor : Bash의'-x' 옵션의 요점은 a에 의해 실행 된 모든 명령의 완전한 추적을 제공하는 것입니다. 스크립트. (쉘이 대화식으로 사용될 때 나는별로 쓸모가 없다고 생각한다.) 나는 대답으로 Lisp에서 도움이되지 않을 것이라는 점을 강조했다. 왜냐하면 표준 라이브러리의 내용에 깊이 관여 할 것이기 때문이다. . 원래 형식은 대개 매크로 확장 및 원시 코드로 인해 평가되는 대상이 아닙니다. 그래서 나는 대신 관심있는 특정 기능을 추적하는 것을 제안했다. –

+0

OP는 bash -x를 언급했기 때문에 OP가 Lisp을 사용하여 스크립팅을하고 있다고 가정했습니다. 예 : [32.6.2. CLISP 스크립팅] (http://www.clisp.org/impnotes/quickstart.html#quickstart-unix)을 CLISP 매뉴얼에 실었다. 그러나 질문을 다시 읽으면, 그 가정은 정당화되지 않을 수도 있습니다. –