Skip to main content

LISP with Chris Jensen

What is it?
A family of languages with very similar syntax
Second oldest language still in common use today (Fortran is older)

Everything is either a list or a token
Lisp functions use prefix (Polish) notation
Exact syntax for defining functions is language dependant
Naming conventions are also different
*Var* is a legal +stuff is also legal

Lisp is a functional language
Functions are first-class entities Pass them as arguments to functions, generate them on the fly, etc.
Helps make iteration less of an important construct

Scoping
   - Traditionally, dynamically scoped (EMACS Lisp)
   - Today, lexically scoped (Common Lisp, Scheme)
      * Allows closures
      * Similar to C, Java

Data Types
   - All data is an S-expression (Things are tokens or lists)
   - Lists are the absolute basic data type: Even code is a list
   - Quote function is used to make tokens of things that are not tokens