CSE 341: Programming Languages, Autumn 2001

Topics to be Covered on Quiz 1


Lisp S-expressions
The READ-EVAL-PRINT loop
Conses and lists
Box and pointer diagrams
Referential transparency, side effects, and pure functions.
Scope and extent for the following kinds of bindings:
  global bindings of symbols
  local bindings of symbols
  function bindings of symbols
The Lisp functions CONS, CAR, CDR, CADR, CDDR, FIRST, REST, ATOM, NULL, LIST, +,- ,= , *, /, LIST, APPEND
Special forms and built-in macros SETQ, IF, COND, QUOTE, DEFUN, LET, LET*, PROGN
Defining one-way recursive functions that work on lists.
Defining two-way recursive functions that work on lists with embedded sublists.
Evaluation and EVAL
APPLY, FUNCALL, MAPCAR, LAMBDA expressions, functional arguments, and closures.
Functionals, composition, and currying
Type testing functions: SYMBOLP, NUMBERP, FUNCTIONP, CONSP, LISTP, STRINGP
Macros and DEFMACRO,   backquote and comma. The MACROEXPAND function

 

Lazy versus eager evaluation
Syntax: Backus-Naur Form, derivation, parse trees