본문 바로가기

LISP?

01. Understanding Symbol Manipulation

from LISP (3rd edition)  by Patrick Henry Winston, Berhold Klaus Paul Horn

Symbol manipulation
is like
working with words and sentences.


a code for wordlike Objects and sentencelike Objects
                       ---> sequence of Bits

In LISP,
wordlike objects are call atoms
sentencelide objects are called lists

Atoms and lists are collectively called symbolic expressions, or expressions,  

A symbol-manipulation program uses symbolic expressions to remember and work with data and procedures.

- LISP makes help computers intelligent.
- LISP promotes Productivity and facilitates Education.

All computer scientists and computer engineers must understand the power of symbol manipulation in general. Most computer scientists and engineers should understand LISP in particular.

[1장의 Reference]
COMMON LISP reference manual : by Guy l. Steele, Jr
  - Common Lisp the Language, 2nd Edition 
  -  Star Sapphire Common LISP Reference Manual--Index
  -  Common Lisp Reference Manual, HTML
  -  HISTORY OF LISP
  -  History of Programming Languages II
  - http://www.archive.org/details/mit_ocw_sicp 
Artificial Intellignece (Second edition)  by Patrick H. Winston.  [book]
- What is AI, John McCarthy
- Rethinking Artificial Intelligence, Patrick H. Winston
The Rise of Expert Company by Edward A. Feigenbaum, Pamela McCorduck, and H. Penny Nii.
Programming in COMMON LISP  by Rodney A.
Anatomy of LISP  by John Allen.
Artificial Intelligence Programming  by Eugene Charniak et al.
COMMON LISPcraft  by Robert Wilensky
Let's Talk LISP  by Laurent Siklossy
A Gentle Introduction to Symbolic Computation  by David S. Touretzky
Object-Oriented Programming in COMMON LISP  by Sonya E. Keene

[개인노트]
  리습은
심볼처리하는 언어이다.: symbol menipulation
리습에서 모든 것은 아톰(Atom) 또는 리스트(List)로 표현된다.: s-expresson
()로 둘러싸인 리스트를 보고 어것이 데이타인지 처리기인지 구별할 중 알아야 하다.
-- 가령 (family father mother brother sister me) 이것은 처리기로 인식하므로 오류
-- 데이터로 인식하게 하려면 리스트 바로 앞에 ' 기호를 넣어 주어야 된다.= QUOTE
-- '(family father mother brother sister me)

[아래 내용 출처] http://onlisp.blogspot.com/search/label/Common%20Lisp
Lisp이 다른 언어에 비해 가진 고유한 특징은
데이터와 코드의 형태가 같다는 것이다. 즉, 다음의 두 표현은 모두 리스트(데이터)이면서 코드이다.

-- (1 2 3 4)
-- (defun hello () "hello")
데이터와 코드의 형태가 같다는 것은 언어를 만드는 것과 프로그램을 짜는 것 사이의 경계가 없다는 것을 의미한다.