Difference between r1.1 and the current
@@ -1 +1,15 @@
== Table of Contents ==
[[TableOfContents]]
= 개요 =
[Scheme]과 함께 가장 대중적으로 사용되는 Lisp 방언.
다른 Lisp 방언과 비교되는 특징으로 [CLOS](Common Lisp Object System)라는 OOP를 위한 기능이 있다.
= 문법 =
Lisp의 문법은 간단하다. 기본적으로 Lisp의 문법은 (A B C D ...) 모양의 식으로 쓰여지며, A를 연산자(함수)로 보고, 그 이외의 나머지를 A의 인자로 본다. 인자 역시 괄호를 이용한 식으로 표현이 가능하다. 식의 평가시에는 A를 제외한 나머지 인자를 앞에서부터 순서대로 재귀적으로 평가하며, 모든 인자가 다 평가되었을 경우 해당 인자들을 이용하여 A를 실행한다.
= 매크로 =
없는 문법을 만들어 낼 수도 있는 강력한 Lisp의 특징.
Common Lisp의 문법에 원래 for문은 존재하지 않았다.
하지만 Lisp의 매크로 기능을 이용하여 Loop 같은 제어문을 만드는 것도 가능하다.
= References =
[http://www.lispworks.com/documentation/HyperSpec/Front/index.htm Common Lisp HyperSpec]
http://www.common-lisp.net/index.html
[[include(틀:ProgrammingLanguage)]]
2. 문법 ¶
Lisp의 문법은 간단하다. 기본적으로 Lisp의 문법은 (A B C D ...) 모양의 식으로 쓰여지며, A를 연산자(함수)로 보고, 그 이외의 나머지를 A의 인자로 본다. 인자 역시 괄호를 이용한 식으로 표현이 가능하다. 식의 평가시에는 A를 제외한 나머지 인자를 앞에서부터 순서대로 재귀적으로 평가하며, 모든 인자가 다 평가되었을 경우 해당 인자들을 이용하여 A를 실행한다.
3. 매크로 ¶
없는 문법을 만들어 낼 수도 있는 강력한 Lisp의 특징.
Common Lisp의 문법에 원래 for문은 존재하지 않았다.
하지만 Lisp의 매크로 기능을 이용하여 Loop 같은 제어문을 만드는 것도 가능하다.
Common Lisp의 문법에 원래 for문은 존재하지 않았다.
하지만 Lisp의 매크로 기능을 이용하여 Loop 같은 제어문을 만드는 것도 가능하다.
4. References ¶
Common Lisp HyperSpec
http://www.common-lisp.net/index.html
프로그래밍 언어 목록
http://www.common-lisp.net/index.html
언어의 종류 | |||||||||
머신 친화적 | C가족 | ||||||||
MachineLangauge | Assembly | C | C++ | Objective-C | Objective-C++ | 씨앗 | |||
객체지향 | 함수형 언어 | ||||||||
SmallTalk | JAVA | C# | Lisp족 | Haskell | Scala | ||||
스크립트언어 | |||||||||
JavaScript | CoffeeScript | Perl | Lua | PHP | Python | PyPy | Ruby | ShellScript | MATLAB |
미분류 | |||||||||
Erlang | Go | J | OCaml | Scala | R | CSS | ML | Ada | Prolog |
Scratch | Rust | less |