커먼 리스프

커먼 리스프 또는 커먼 리습(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 을 반환한다.

외부 링크 
 CLiki 커먼 리스프 위키: 커먼 리스프로 씌여진 자유 소프트웨어에 대한 정보
 Common-Lisp.net: 자유 커먼리스프 프로젝트 호스팅 사이트
 Common Lisp HyperSpec
 Episodic Learner Model: 인터렉티브 강좌
 폴 그래엄의 리스프 페이지
 Peter Norvig의 웹 사이트
 CLOCC - the Common Lisp Open Code Collection
 과학계산에 커먼 리스프 사용하기

e-book 
 Common Lisp the Language, 2nd Edition
 Practical Common Lisp
 Common Lisp: A Gentle Introduction to Symbolic Computation
 Common Lisp Cookbook
 Successful Lisp: How to Understand and Use Common Lisp

구현 
 알레그로 커먼 리스프 - 상용
 Armed Bear Lisp - 공개
 CormanLisp - 상용
 CMUCL - 공개
 ECL - Embeddable Common-Lisp - 공개
 gcl - GNU Common Lisp - 공개
 GNU CLisp - 공개
 LispWorks - 상용
 Macintosh Common Lisp (MCL) - 상용
 Movitz - 공개
 Jatha - 공개
 SBCL - 공개
 Scieneer Common Lisp - 상용

리스프
함수형 프로그래밍 언어
1984년 개발된 프로그래밍 언어
리스프 프로그래밍 언어 계열
크로스 플랫폼 자유 소프트웨어
동적 프로그래밍 언어
다중 패러다임 프로그래밍 언어
동적 타입 프로그래밍 언어