맥에서 Common Lisp 환경 구축하기: MacPorts를 이용

by SL

MacPorts라는 OSX 용 패키지 관리자를 이용해서 Common Lisp 개발 환경을 세팅하는 방법을 정리해둔다.

1. Common Lisp 구현 설치하기 (sbcl)

살펴보니까 Common Lisp의 구현에도 참 여러 종류가 있는데, 사람들이 많이 쓴다는 sbcl (Steel Bank Common Lisp, http://www.sbcl.org)을 깔기로 했다. 터미널 프롬프트에 다음과 같이 입력하자.

sudo port install sbcl

시작하려면 터미널 창에 “sbcl” 이라고 치면 된다. 참고로, 끝내는 명령은 “(quit)“이다. 간단하게 Lisp 언어의 맛만 보려면 이것으로도 충분할 것이다. 하지만 자바 프로그래밍이 어디 메모장과 JDK만으로 되던가?

2. 개발 환경 구축하기 (Emacs + Slime)

많은 사람들이 Lisp 개발 도구로 이맥스를 추천하는 것을 보고 나도 대세에 따르기로 했다.

2.1 이맥스 설치

sudo port install emacs

2.2 SLIME 설치

SLIME(Superior Lisp Interaction Mode for Emacs, http://common-lisp.net/project/slime)은 Lisp 개발을 보다 편리하게 해주는 이맥스 모드이다. 자세한 기능은 홈페이지의 설명을 참고하자.

sudo port install slime

설치한 뒤에는 사용자 기본 디렉터리의 .emacs 파일에 (없으면 만들어서) 다음의 코드를 추가해야 한다.

(require ‘slime-autoloads)
(setq slime-lisp-implementations
`((sbcl (“/opt/local/bin/sbcl”))))
(add-hook ‘lisp-mode-hook
(lambda ()
(cond ((not (featurep ‘slime))
(require ‘slime)
(normal-mode)))))
(eval-after-load “slime”
‘(slime-setup ‘(slime-fancy slime-banner)))

이제 터미널에서 “emacs” 명령으로 이맥스를 실행시켜서, M-x (Alt와 x를 함께 누르거나, ESC와 x를 차례대로 누르기) 한 뒤에 “slime”이라고 치면 반가운 CL-USER> 프롬프트가 나타난다.

Emacs slime
Emacs slime 모드에서 보는 Hello, world

이것으로 터미널 용 환경 세팅은 끝났다. 하지만 터미널에서만 작업하는 것은 아무래도 좀 불편하니까 이번에는 GUI 버전의 이맥스를 깔아보자.

이제까지 했던 것처럼 “sudo port install emacs-app” 명령으로 GNU Emacs를 설치할 수도 있지만 그것보다는 그냥 Aquamacs Emacs (aquamacs.org)를 따로 내려받아서 설치하기를 권한다.

Aquamacs Emacs

그리고 .emacs 파일을 열어서 (require ‘slime-autoloads) 위에 (add-to-list ‘load-path “/opt/local/share/emacs/site-lisp/slime”)를 추가해준다. 추가하지 않으면, 이맥스가 초기 구동할 때 에러 메시지가 뜨고, M-x slime이라고 해도 알아듣지 못한다.