Lisp - LISt Processing
- Symbolic data 다루기
- List 타입을 중점으로 다룸 (괄호로 묶인)
- 문법에 중요성을 두지 않음
- Prefix notation ( <procedure> <arguments ..> )
- 식 expression 들을 읽고 셈 evaluation 을 반복 : read-eval-print loop
Special form
define
(define (<name> <formal parameters>) <body>)
- guess? 같은 네이밍 컨벤션
cond
(cond (<p1> <e1>) (<p2> <e2>) .. (<pn> <en>) )
if
(if <predicate> <consequent> <alternative>)
- and, or
- not 예외적으로 procedure
인자 먼저 계산법, 정의대로 계산법
- 예외적으로 lazy evaluation 경우 정의대로 계산법