80 likes | 308 Views
Presentation topic : LISP. Amir Shahzad MCS 3 MCC07123008 . LISP (List processing ). The use of parentheses is Lisp's difference from other programming language families. As a result, students have long given Lisp nicknames such as Lost In Stupid Parentheses. SBCL.
E N D
Presentation topic :LISP Amir Shahzad MCS 3 MCC07123008
LISP (List processing ) • The use of parentheses is Lisp's difference from other programming language families. As a result, students have long given Lisp nicknames such as Lost In Stupid Parentheses
SBCL • Steel Bank Common Lisp is a free Common Lisp implementation that features a high performance native compiler, Unicode support and threading.
LISP • Lisp is the second-oldest high-level programming language in widespread use today. • Lisp was originally created as a practical mathematical notation for computer programs, • Lisp pioneered many ideas in computer science, including tree data structures, higher-order functions, recursion, and the self-hosting compiler
Connection to artificial intelligence • Lisp was closely connected with the artificial intelligence research community, especially on PDP (product development process ) systems. Lisp was used as the implementation of the programming language Micro Planner which was used in the famous AI system SHRDLU.
Advantages of LISP • Common Lisp is • a general-purpose programming language and an AI language • interactive • Common Lisp programs are • easy to test (interactive) • easy to maintain (depending on programming style) • portable across hardware/OS platforms and implementations (there is a standard for the language and the library functions)
Common Lisp provides • clear syntax, carefully designed semantics • several data types: numbers, strings, arrays, lists, characters, symbols, structures, streams etc. • many generic functions: 88 arithmetic functions for all kinds of numbers (integers, ratios, floating point numbers, complex numbers), automatic memory management (garbage collection) • packaging of programs into modules • macros: every programmer can make his own language extensions
Operators • Arithmetic operators are treated similarly. The expression • evaluates to 10. The equivalent under infix notation would be (+ 1234) • "1 + 2 + 3 + 4"