E D R , A S I H C RSS

lisp (rev. 1.3)

lisp

Describe lisp here

;;우선 두서없이 막 쓸 예정... 구조화는 나중에...

lisp은 함수형 프로그래밍 언어로서, 간결한 문법에 수학적인 면모가 돋보이는 언어이다.

lisp은 여러가지 종류의 언어들로 파생되었는데, clisp(커먼 리스프), scheme(스킴), Elisp(이맥스 리스프-스크립트언어), clouser, arc(완성되었는지 모름)... 등 여러종류의 아류언어들이 있다.

lisp의 문법을 살펴보자.

(message "Hello world")
Hello world
위는 Elisp에서 쓰이는 lisp 표현문이다.
message라는 심볼에 Hellow world라는 인수를 보낸 결과 바로 아래에서 Hello world라는 결과를 확인할 수 있다. 이렇게 한 표현문을 쓰고 곧바로 결과값을 확인 할 수 있는 환경을 이맥스에선 IELM(inferior Emacs lisp mode)라고 한다.

다음 clisp의 문법을 보자.

(+ 3 4)
7
앞서 말한것과같이 clisp도 elisp의 구문과 비슷하다. 다만, 이번에는 +라는 심볼을 쓴 다른 예시를 가져다 둔것일 뿐이다. 그리고 clisp에서는 결과값을 바로 확인할 수 있는 환경을 REPL(real eval print loop)라고 한다.


lisp은 심볼, 특별한 연산자(spcial operator), 리스트, 아톰으로 구성되어있다.
심볼은 값이 될 수도 있고, 함수가 될 수도 있다.
리스트는 lisp의 가장 base되는 데이터 자료구조로서, 콘셀(con-cell)로 구성된다.
콘셀이란, 마치 싱글 링크드리스트처럼 생겨먹은 녀석인데, 이런 구조를 통해서 리스트를 구성한다.



// 미완. 차근차근 완성해갈 예정. 리슾은 아름답습니다. ...
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:43
Processing time 0.0154 sec