문제

일반적으로 기능적 프로그래밍에 더 편한 LISP (AI 클래스 이후로 사용하지 않았 음)로 돌아 가기로 결정 했으므로 LISP를 상자 (이전 클래스에서 실제로 사용한)에 다운로드했습니다. CLISP와 EMACS.

내가 그것을 실행하면 다음과 같이 말합니다.

포트 1617 년에 연결되어 있습니다.이 대체, 형제, 그리고 잘 섬길 수 있습니다.

뭐? 그래서 나는 박스 웹 페이지에서 LISP를 더 자세히보고 이것을 발견했습니다.

Slime은 네트워크 소켓을 통한 공통 LISP 구현과 인터페이스하는 EMAC의 통합 개발 환경입니다. 점액에 대한 많은 정보는 Cliki의 Slime Node에서 찾을 수 있습니다. Slime의 매뉴얼은 온라인으로 PDF 형식으로 제공됩니다.

나는 Slime이 무엇인지 이해하고 있습니다 (EMACS에 대한 일종의 확장, 맞습니까?). 왜 세계에서 왜 자체 서버를 시작하고 연결하는 텍스트 편집기입니까?

도움이 되었습니까?

해결책

소켓은 파이프보다 유연합니다. 우선 SLIME을 사용하면 네트워크의 Swank 서버에 연결할 수 있습니다. 이는 장기적 인 프로세스 (예 : 웹 서버)가있는 원격 기계에서 라이브 수정을 수행하는 데 매우 유용합니다. 이를 감안할 때, 왜 파이프와 소켓을 모두 지원하는 방식으로 의사 소통을 추상화하여 다른 복잡성 계층을 추가하겠습니까? 어쨌든 파이프가 소켓보다 프로그램하기가 더 간단한 것과는 다릅니다.

다른 팁

목적은 LISP가 병렬로 실행되는 것입니다.

Slime은 세션에 연결되면 여러 다른 Windows (또는 기계조차도)에서 동일한 환경, 정의 등을 가질 수 있습니다. 이것은 예를 들어 애플리케이션을 시작하여 즉시 디버깅 할 수 있음을 의미합니다.

자세한 내용은 살펴보십시오 이 블로그.

글쎄, Slime은 LISP 프로세스를 시작하여 통합 개발 환경을 제공합니다. 코드를 즉석에서 테스트하고 디버깅하고 개체를 검사 할 수 있도록하십시오. 소켓이있는 아키텍처가 다른 LISP 간의 이식성을 향상시키기 위해 선택되었다고 생각합니다 (BTW, Slime도 지원합니다. Clojure 그리고 MIT 방식 ) 및 OS-ES (Slime은 Windows에서도 작동합니다). 또한 크로스 플랫폼 개발이 가능합니다. EMAC의 대상 아키텍처에서 소프트웨어를 테스트 할 수 있습니다.

그래서이 결정은 훌륭하다고 생각합니다. 제작 서버에 Swank (Slime Back-End)를 두어서는 안됩니다.

편집자로부터 즉시 코드 스 니펫을 컴파일하고 테스트 할 수 있도록 Repl (Read-Evaluate-Print-Loop)을 병렬로 실행할 수 있습니다. "실제 공통 LISP"(웹에서 자유롭게 사용할 수 있음)는 이것에 대한 좋은 설명을 가지고 있으며 LISP 학습을위한 아주 좋은 책입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top