CSE3394

LISP programming

3 points - One 1-hour lecture or tutorial per week - First semester - Clayton - Prerequisite: CSE1303 or CSC1030 or equivalent - Prohibitions: CSC2940, CSC3940, CSE2394

Objectives On completion of the subject, students should be able to appreciate the uses and limitations of LISP; develop simple LISP programs; understand and modify larger LISP programs under different software platforms; and use the LISP-based Emacs editor.

Synopsis The subject introduces the programming language LISP and the functional programming language paradigm. The subject covers the following topics: the LISP interpreter, s-expressions, functions and symbols; list construction and manipulation, LISP library functions, user-defined functions, formal parameters, free and bound symbols, global variables, scope; predicates, conditionals and logical operators; recursion, structured iteration; property lists; control over evaluation and function application; I/O; debugging; macros; packages; system functions; LISP compilation; lambda expressions; and how lambda calculus is the basis for functional programming; use of Emacs (a LISP-based editor).

Assessment Practical examination (3 hours): 100%

Prescribed texts

Wilensky R Common LISPcraft 3rd edn, Norton, 1990

Recommended texts

Friedman D P and Felleisen M The little LISPer 3rd edn, MIT Press, 1989
Graham P ANSI Common LISP Prentice-Hall, 1996

Back to the 1999 Science Handbook