가장 많이 쓰이는 Common Lisp 환경: Emacs + SLIME
C-h t.
C Ctrl, M Meta[Alt, Command).
C-h i, C-h k, C-h ? 등 다양하다.C-x bCL-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-fC-x C-sC-c C-zdefun컴파일하기: C-c C-c slime-compile-defunC-c C-q slimie-close-parens-at-point.lisp, .cl 사용. (Common Lisp)