School of Computer Science and Engineering, UNSW

CRICOS Provider No. 00098G

Advanced Functional Programming [COMP4132]

Session 1, 2004



Examinable Material

Imperative Programming in a Functional Language
The material from Simpon Peyton Jones' paper "Tackling the Awkward Squad" and the background material presented in the corresponding lectures. In particular, you need to understand the operational semantics presented in that paper.
Compilation of Functional Languages
(Typed) core languages; encriched lambda calculus; encoding of data structures into the lambda calculus; basic ideas of (compiled) graph reduction; basic ideas of the STGM; basic ideas of GHC's Core language.
Type Systems
Strong typing; Haskell's type system; type inference.
Generic Programming with Morphisms
Functors; fixpoints; pre-types; catamorphisms; anamorphisms; generic transformations; generic queries.
Static single-assignment form; administrative normal form; conversion between them; use as intermediate languages.
Arrays in Haskell
Why do standard Haskell arrays have a high runtime overhead? Boxed versus unboxed arrays; structure flattening and associated types.

Make sure you can solve the exercises.

Good Luck!

Top Of Page

Site maintained by webmistress@cse.unsw.edu.au
Please read the UNSW Copyright & Disclaimer Statement