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