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 (http://aquamacs.org)를 따로 내려받아서 설치하기를 권한다.

Aquamac Emacs

Aquamacs Emacs


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

끝.
Posted by 4four
레이텍 또는 라텍이라고 발음하는 LaTeX을 맥에서 사용하기 위한 설치법 정리
  1. MacTeX을 받아서 설치한다.
  2. 한글을 쓰려면 ko.TeX을 추가로 설치한다.
괜한 고집을 부린 탓에 약간의 시행착오를 거치기는 했지만, 위의 방법을 따르면 간단하게 한글 LaTeX 환경을 갖출 수 있다. 자발적으로 이런 좋은 것을 만들고 또 나누어주시는 분들께 깊은 감사를 드린다.

[사족] 별로 중요한 건 아닌데... 위에서 내가 부린 고집이 무엇이었는지 적어보자면...

more..


Posted by 4four
웹서핑을 하던 중에 재미있는 소프트웨어를 발견했다. ViEmu 라고 Visual Studio의 소스 편집기를 vi처럼 만들어주는 프로그램이다. 30일 시험판을 받아서 써보고 있는데, 신기하게도(!) 잘 동작한다.

그런데 한 가지 문제점이 있었으니, 입력 모드에서 한글을 쓰다가 ESC 키를 누르면, 언어가 여전히 한글로 남아있기 때문에 명령 모드의 키가 제대로 동작하지 않는다는 거다. 예를 들어, "한글"이라고 입력하던 중에 ESC를 누르고 다시 h를 누르면 커서가 왼쪽으로 움직이는 대신 'ㅗ'라는 글자가 찍힌다. 그렇다고 한글 입력이 끝날 때마다 영어로 바꾸는 습관을 들일 수는 없는 노릇 아닌가.

그런 까닭으로 ESC를 누를 때마다 IME의 입력 언어를 영어로 바꿔주는 프로그램을 만들어보았다. 이름을 EscapeEnglish 라고 지었는데, 쓰고 보니 뜻은 "영어탈출", 프로그램의 기능과 정반대가 되고 말았다.

진짜 다른 건 다 빼고 순수하게 기능만 구현한 것이라 사용성은 많이 떨어진다. 아래 파일을 내려받아서 압축을 푼 뒤 exe 파일을 실행하면 된다. 프로그램을 종료하려면 작업관리자에서 프로세스를 죽여야 한다.

EscapeEnglish_0_1a.zip

자랑스러운 0.1 알파 버전


현재 버전에는 한 가지 문제가 있다. 한글 조합 중에 명령 모드로 가려면 ESC를 두 번 눌러야 한다. 한 번 누르면 조합 중이던 글자를 확정하고 언어를 영어로 바꾼 뒤 입력 모드로 계속 남아 있고 여기서 한 번 더 눌러줘야 명령 모드로 들어간다. ESC를 가볍게 두 번씩 눌러주는 습관을 들일까 고민 중이다.

그건 그렇고.. ViEmu 이 프로그램 너무 비싸다. 겨우 79달러(홈페이지에 보면 Only $79라고 쓰여 있다)라니... ㅠ,ㅠ 물론 만드는 게 쉬워보이지는 않지만 그렇다고 해도 참 부담스러운 가격임에는 틀림없다.
Posted by 4four