University of Calgary

CPSC 521 - Foundations of Functional Programming - Fall 2014

Theoretical foundations of functional programming: the lambda-calculus, beta-reduction, confluence, and reduction strategies. Programming syntax: solving recursive equations with the Y-combinator, let and letrec, types, datatypes, and patterns. Programming in a functional language: recursion patterns, useful combinators, maps, and folds, for datatypes. Example applications: recursive descent parsing, unification, combinatorial algorithms, theorem proving.
This course may not be repeated for credit.


  • H(3-2T-1)


  • Computer Science 313[CPSC313] and one of Computer Science 349[CPSC349] or 449.


  • LEC 1TR 12:30 - 13:45
    Robin Cockett
    LAB 1
    TUT 1TR 11:00 - 11:50
This course will be offered next in Fall 2016.
Powered by UNITIS. More features.