UNSW   Faculty of Engineering myCSEPRINT VERSIONSITE MAP  
cse | School of Computer Science and Engineering (CRICOS Provider No. 00098G)
    #About CSE     #Undergraduate Study     #Postgraduate Study     #Timetables & Courses     #Research & Publications     #People & Work Units     #Help & Resources     #News & Events     #High School Portal

Last updated 07.06.04

Advanced Functional Programming [COMP4132]

Session 1, 2004

Exam

Facts:

  • 2 hour open book exam
  • Date & time: 21 June (Monday), 9:45am--12:00
  • Venue: K17-B01

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.
SSA & ANF
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