커먼 리스프

위키백과, 우리 모두의 백과사전.

커먼 리스프 또는 커먼 리습(Common Lisp)은 리스프 언어의 일종이다. 종종 CL로 줄여 부르기도 한다. 이미 있는 다양한 리스프 변종들을 표준화하기 위한 목적으로 개발되었으며, ANSI X3.226-1994 이 표준번호이다. 리스프 방언들 중에 스킴과 함께 가장 널리 쓰이고 있다. 커먼 리스프는 함수형 프로그래밍 뿐 아니라 절차형 프로그래밍, 객체 지향 프로그래밍 등 다양한 패러다임을 지원한다.

문법[편집]

커먼 리스프는 리스프이다. 따라서 S-표현식으로 코드와 데이터 구조를 모두 나타낸다. 함수와 매크로 호출은 이름을 제일 처음에 쓴 리스트 형식으로 씌여진다. 다음의 예를 보라.

 (+ 2 2)           ; 2와 2를 더한다. 4를 반환한다.

 (setf p 3.1415)  ; 변수 "p"에 값 3.1415를 넣는다.
 ; "pi" is a built-in constant; can't setf it

 ; 수를 받아 제곱을 반환하는 함수를 정의한다.:
 (defun square (x) (* x x))

 ; 정의된 함수를 수행한다.:
 (square 3)        ; 반환값은 "9"

 ; 컨스트럭션 - 'let' 블록 안에서만 존재하는 변수. 범위 바깥에서 해당 변수의 값이 얼마든
 ; 간에 그 변수에 영향을 주지 않고 변수를 사용할 수 있다. 같은 이름의 변수가 바깥에
 ; 있다면 블록에 들어오기 전에 그 변수의 값은 따로 저장되었다가 블록을 나오면서 원래 값
 ; 을 복원한다.
 (let ((a 6) (b 4)) (+ a b)) ; 10 을 반환한다.

외부 링크[편집]

e-book[편집]

구현[편집]