CPSC 521
Foundations of Functional Programming
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. Prerequisite(s): Computer Science 313 or 351; and Computer Science 349 or 449.
Sources
- Course catalogue ↗2026-2027