가장 많이 쓰이는 Common Lisp 환경: Emacs + SLIME
C-h t
.
C
Ctrl, M
Meta[Alt, Command).
C-h i
, C-h k
, C-h ?
등 다양하다.C-x b
CL-USER
.10
<aside> 🗣 10
</aside>
10
같은 것.(+ 2 3)
<aside> 🗣 5
</aside>
( )
에 들어 있는 모든 것은 리스트이다.
(+ 2 3)
에서 +
은 심볼, 2
, 3
은 값이다. 세 개의 요소를 갖는다.+
는 함수의 이름, 2
, 3
은 인자로 +
에 전달. +
는 덧셈 함수로 결과값 5를 내놓는다."Hello, world"
<aside> 🗣 "Hello, world"
</aside>
(format t "Hello, world")
<aside> 🗣 Hello, world NIL
</aside>
format
은 Common Lisp에서 문자열을 포맷하는 함수. 첫 번째 인자로 t
(참)를 넘기면 문자열을 표준 출력으로 표시하겠다는 말이다.format
은 아무것도 내놓지 않는(NIL
)다.defun
을 사용한다.(defun hello-world () (format t "Hello, world"))
<aside> 🗣 HELLO-WORLD
</aside>
-
를 이용해서 단어를 구분하고 영문으로 짓는다.
hello_world
, helloWorld
등은 관례에 어긋난다는 뜻.<aside> 📎 (defun 함수이름 (인자리스트) 함수몸체)
</aside>
format
이 화면에 문자열을 출력하는 부수 효과(side effect)가 있듯이, defun
은 함수를 만드는 부수 효과가 있다. 그리고 그 함수를 리턴값으로 내놓는다. 여기서는 HELLO-WORLD
.( )
에 묶어서 쓴다.(hello-world)
<aside> 🗣 Hello, world NIL
</aside>
C-x C-f
C-x C-s
C-c C-z
defun
컴파일하기: C-c C-c
slime-compile-defun
C-c C-q
slimie-close-parens-at-point
.lisp
, .cl
사용. (Common Lisp)