LISP
From BC$ MobileTV Wiki
(Redirected from Lisp)
LISP is a high-level procedural programming language commonly used in Artificial Intelligence.
REPL
Read–Eval–Print Loop (REPL), also known as an interactive toplevel or language shell, is a simple, interactive computer programming environment that takes single user inputs (i.e. single expressions), evaluates them, and returns the result to the user. Programs written in a REPL environment are executed piecewise. The term is most usually used to refer to programming interfaces similar to the classic Lisp machine interactive environment. Common examples include command-line shells and similar environments for programming languages, and is particularly characteristic of scripting languages.
- READ - The read function accepts an expression from the user, and parses it into a data structure in memory. For instance, the user may enter the s-expression (+ 1 2 3), which is parsed into a linked list containing four data elements.
- EVAL - The eval function takes this internal data structure and evaluates it. In Lisp, evaluating an s-expression beginning with the name of a function means calling that function on the arguments that make up the rest of the expression. So the function + is called on the arguments 1 2 3, yielding the result 6.
- PRINT - The print function takes the result yielded by eval, and prints it out to the user. If it is a complex expression, it may be pretty-printed to make it easier to understand. In this example, though, the number 6 does not need much formatting to print.
- LOOP - The development environment then returns to the read state, creating a loop, which terminates when the program is closed.
Tools
- LispBox: http://www.gigamonkeys.com/lispbox/
- lispworks: http://www.lispworks.com/downloads/lww-per.html
Resources
- On LISP: http://www.paulgraham.com/onlisp.html | DOWNLOAD (by Paul Graham, founder of Y-Combinator)[1]
- Structure and Interpretation of Computer Programs (SICP): https://mitpress.mit.edu/sicp/ | E-BOOK | CODE
- Practical Common LISP: http://www.gigamonkeys.com/book/ | CODE
- Paradigms of Artificial Intelligence Programming - Case Studies in Common LISP: http://norvig.com/paip.html | CODE
- LISP - XML Parser Generator: http://nklein.com/2010/03/xml-parser-generator/
Tutorials
- LISP Quickstart: http://www.cs.gmu.edu/~sean/lisp/LispTutorial.html
- LISP tutorials: http://www.cs.sfu.ca/CourseCentral/310/pwfong/Lisp/
- An Introduction and Tutorial for Common Lisp: http://www.apl.jhu.edu/~hall/lisp.html
- Creating Dynamic Websites with Lisp and Apache: http:/www.ymeme.com/creating-dynamic-websites-lisp-apache.html
External Links
- wikipedia: LISP
- Paul Graham's LISP site: http://paulgraham.com/lisp.html
- The Lisp Programming Language: http://www.engin.umd.umich.edu/CIS/course.des/cis400/lisp/lisp.html
- Association of Lisp Users: http://www.lisp.in/alu/home
- What are some classic LISP books?: https://www.quora.com/What-are-some-classic-Lisp-books
- Lisp Needs a Logo: http://xahlee.info/UnixResource_dir/writ/logo_lisp.html
References
- ↑ On LISP (PDF): http://ep.yimg.com/ty/cdn/paulgraham/onlisp.pdf