Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lisp "List Processing". Lisp history John McCarthy developed the basics behind Lisp during the 1956 Dartmouth Summer Research Project on Artificial Intelligence.

Similar presentations


Presentation on theme: "Lisp "List Processing". Lisp history John McCarthy developed the basics behind Lisp during the 1956 Dartmouth Summer Research Project on Artificial Intelligence."— Presentation transcript:

1 Lisp "List Processing"

2 Lisp history John McCarthy developed the basics behind Lisp during the 1956 Dartmouth Summer Research Project on Artificial Intelligence He intended it as an algebraic LISt Processing (hence the name) language for artificial intelligence work He showed how, given a handful of simple operators and anotation for functions, you can build a whole programming language.

3 Design Goals Formalism for developing a theory of computation Programming language for numerical and logical problems Symbolic manipulation of expressions and sentences

4 Characteristics LISP was one of the earliest high-level programming languages and introduced many ideas such as garbage collection, recursive functions, symbolic expressions, and dynamic type-checking Interest in symbolic computation influenced design Use of simple machine model Attention to theoretical considerations Recursive function theory, Lambda calculus

5 Distinctive Characteristics Not C, C++, Java: a chance to think differently LISt Processing: the ancestor of all functional languages Lisp is good at handling lists of things, and the abstraction level is higher than C/C++ normally allows you to get to.

6 Relative Speeds of 5 language

7 Description of Lisp LISP is usually used as an interpreted language. The interpreter runs what is known as a read- evaluates-print loop.

8 Description of Lisp The two most important kinds of objects in LISP for you to know about are atoms and lists. Atoms are represented as sequences of characters of reasonable length. Such as :34 or join. Lists are recursively constructed from atoms Such as: (a john 34 c3po). The interpreter treats any list as containing the name of a function followed by the arguments to the function. Such as: (+ 2 13 45).

9 Defining Lisp Function Use defun to define your own functions in LISP. (defun ) Example: >(defun square (x) (* x x)) SQUARE >(square 2) 4

10 Example Code reverse : Format: (reverse ) Reverse returns a list that contains all the elements of in reversed order. Example: > (reverse '(picard riker worf crusher)) (CRUSHER WORF RIKER PICARD) > (reverse (reverse '(picard riker worf crusher))) (PICARD RIKER WORF CRUSHER)

11 Resources http://faqs.org/faqs/lisp-faq/part2/section-13.html http://www.cc.gatech.edu/data_files/classes/cs6390/slides/lisp.pdf http://web.syr.edu/~aalarifi/Common%20Lisp.pdf http://norvig.com/python-lisp.html


Download ppt "Lisp "List Processing". Lisp history John McCarthy developed the basics behind Lisp during the 1956 Dartmouth Summer Research Project on Artificial Intelligence."

Similar presentations


Ads by Google