SLIME

다른 뜻에 대해서는 슬라임 문서를 참고하십시오.
SLIME
원저자에릭 마스든
개발자루크 고리
헬무트 엘러
발표일2003년 중반
안정화 버전
2.32 위키데이터에서 편집하기 / 2025년 12월 8일(10개월 전)(2025년 12월 8일)
저장소
운영 체제리눅스, 솔라리스, FreeBSD, NetBSD, OpenBSD, Mac OS X, 윈도우
언어이맥스 리스프, 커먼 리스프
종류소스 코드 편집기
라이선스퍼블릭 도메인 소프트웨어, 일부 GPL v2, LGPL, BSD
웹사이트common-lisp.net/project/slime/

SLIME(Superior Lisp Interaction Mode for Emacs, 이맥스를 위한 우수한 리스프 상호작용 모드)은 커먼 리스프 응용 프로그램을 개발하기 위한 이맥스 모드이다. SLIME은 에릭 마스든이 작성한 SLIM이라는 이맥스 모드에서 유래했다. 이는 루크 고리와 헬무트 엘러에 의해 오픈 소스 퍼블릭 도메인 소프트웨어 프로젝트로 개발되고 있다. 2003년 프로젝트가 시작된 이래 100명이 넘는 리스프 프로그래머들이 SLIME에 코드를 기여했다.

SLIME은 클라이언트-서버 아키텍처를 따르며, 커먼 리스프에 로드되는 Swank라는 백엔드를 사용한다. 그런 점에서 이는 이보다 먼저 등장한 언어 서버 프로토콜과 유사하다. 일부 커먼 리스프 편집기들은 커먼 리스프를 위해 LSP 클라이언트를 사용한다.

SLIME은 다음과 같은 주요 커먼 리스프 구현체에서 작동한다.

다른 프로그래밍 언어들은 편집기 플러그인을 통해 SLIME을 활용하거나, SLIME에서 영감을 받은 플러그인을 가지고 있다.

기능

SLIME은 통합 개발 환경과 같은 경험을 제공한다. SLIME이 편집기에 로드되고 Swank 백엔드가 실행 중인 커먼 리스프 이미지에 로드되면, 모든 상호작용은 실시간으로 대화식으로 이루어지며, 실행 중인 프로그램과 효과적으로 "대화"하고 기능을 점진적으로 추가하게 된다.

SLIME은 다음을 제공한다:

원격 사용

Swank 백엔드와 쌍을 이루는 SLIME은 다른 컴퓨터에서 실행 중인 리스프 프로그램에 연결할 수 있도록 한다.

이를 통해 프로그래머는 실행 중인 프로그램을 검사하고, 매개변수를 변경하거나, 새로운 코드를 로드 및 컴파일하여 다운타임 없이 시스템을 효과적으로 업그레이드할 수 있다.

각주

  1. ↑ “Release 2.32”. 2025년 12월 8일. 2025년 12월 10일에 확인함.
  2. 1 2 Slime on github.com "License SLIME is free software. All files, unless explicitly stated otherwise, are public domain."
  3. ↑ The Alive extension for VSCode: https://github.com/nobody-famous/alive-lsp/
  4. ↑ CIDER is originally based on Slime: https://docs.cider.mx/cider/
  5. ↑ “swank-js”. 《깃허브》. 2025년 3월 5일에 확인함.
  6. ↑ https://github.com/slime/slime/blob/master/contrib/slime-scheme.el
  7. ↑ https://www.nongnu.org/geiser/
  8. ↑ https://github.com/slime/slime/blob/master/contrib/swank-kawa.scm
  9. ↑ “swankr”. 2011년 3월 4일에 원본 문서에서 보존된 문서. 2012년 9월 11일에 확인함.
  10. ↑ “slime/contrib/swank.rb at master · slime/slime”. 《깃허브》. 2025년 3월 5일에 확인함.
  11. ↑ https://github.com/slime/slime/blob/master/contrib/swank-mit-scheme.scm
  12. ↑ https://slime.common-lisp.dev/doc/html/Connecting-to-a-remote-lisp.html#Connecting-to-a-remote-lisp

외부 링크