본문 바로가기

General/LISP

[LISP #1] CLISP로 시작하기 - 설치와 실행


왠지 공부해보고 싶어서 시작한 리스프 프로그래밍입니다.
언제끝날지 기약은 없습니다. 유유자적 여유롭게 조금씩 해나가겠습니다.



리스프 변종
  • 안시 커먼 리스프(ANSI Common LISP - CL): 고대 리스프로부터 가장 직접적인 혈통을 이어 받았다. 실용성을 높이려고 많은 부분을 타협한 결과 언어의 생김새가 조금 투박해도, 변함없이 축약된 코드를 짤 수 있는 이상 모양새는 개의치 않는다.
  • 스킴(Scheme): 스킴은 1970년대 중반에 이상적인 리스프를 탐구하던 가이 루이스 스틸 주니어와 제너럴 제이 서스먼이 만들었다. 스킴 프로그래머는 되도록 짧은 프로그램을 짜는 것보다 수학적인 순수함에 주의를 기울이기 때문에 스킴에서 작성하는 코드는 좀 더 긴 경향이 있다.
     
  • 클로저: 리치 히키가 개발한 새로운 리스프이다. 자바로 작성했으며 검증된 수많은 자바 라이브러리를 가져와 쓸 수 있다. 또 클로저는 기발하면서도 스레드 프로그래밍을 수월하게 할 수 있도록 고안된 기능이 많이 있다.
  • 아크: 아크는 유명한 리스퍼(리스프 프로그래머)인 폴 그레이엄이 개발하는 진정한 리스프 언어이다. 아직 개발 초기단계이다.


안시 커먼 리스프(CL)

1981년, 엄청난 수의 리스프 변종에 대응하고자 여러 리스프 단체의 회원은 커먼 리스프라는 새로운 리스프 명세서를 내놓았다. 1986년 커먼 리스프가 좀 더 다듬어져 안시 커먼 리스프 규격으로 바뀌었다. 안시 커먼 리스프 규격은 리스프 사상 최고의 인기를 끌며, 현재까지 최고의 점유율을 유지하고 있다.

커먼 리스프의 주된 설계 목표다양한 개념을 아우르는 언어를 만드는 것이다. 이는 다양한 프로그래밍 방식의 지원을 뜻한다. 커먼 리스프에서는 객체 지향 프로그래밍도 멋지게 해낼 수 있다. 함수형 프로그래밍제너릭 프로그래밍, 특정 도메인 언어 프로그래밍 등 다른 프로그래밍 방식 역시 커먼 리스프에서 막힘없이 지원되고 있다.



CLISP 설치하기 - for MAC(OSX Lion)

전 OSX Lion을 사용하고 있기때문에 OSX환경에서 설치하는것을 다뤄보도록 할게요.


1. MacPorts 다운로드

http://www.macports.org/install.php 으로 이동합니다.
이동을 하고 나면 화면에 아래 캡처이미지와 같이 보일 거에요. 자신의 OS 버전에 맞게 다운로드를 받아줍니다. 저는 Lion용 MacPorts를 다운로드 받았습니다.

      



2. MacPorts 설치

dmg 파일을 다운로드 후 패키지를 설치해줍니다.
애플리케이션 용량이 1.4mb 정도밖에 안하기 때문에 설치는 금방 끝납니다.

      

      




3. MacPorts를 이용한 CLISP 설치

MacPorts의 설치가 완료되었으면, 이제 터미널을 실행해서 CLISP를 설치할 차례입니다.
터미널을 열어 아래의 명령어를 입력합니다.
 $ sudo port install clisp



4. 터미널에서 CLISP 실행하기

 $ clisp
터미널에서 clisp 명령을 통해 실행한 화면입니다. 이제 리스프 프로그래밍을 할 준비가 된것입니다. 

      


모든 리스프 환경과 똑같이 CLISP는 실행 후에 REPL(Real-Eval-Print Loop)라고 하는 판독-평가-출력을 계속 반복하는 상태에 놓이게 됩니다. 이는 리스프를 곧바로 입력할 수 있음을 뜻합니다.

책에 나온 수식을 따라서 입력해 보면, 실행 결과를 확인 할 수 있습니다. 
아래에 입력한 수식은 전위표기식 연산입니다.