3 unit(s) A selection of topics in advanced functional programming (focusing on Haskell and its derivatives). Example topics: Techniques for embedded domain-specific languages, generic and type-level programming, reasoning about programs, and (co)effects.
Three lectures, one tutorial (one hour); one term Prerequisite(s):COMPSCI 1JC3 or SFWRENG 3FP3, COMPSCI 1XC3 or SFWRENG 2S03 or SFWRENG 2XC3, COMPSCI 2C03 or SFWRENG 2C03, COMPSCI 2LC3 or 2DM3 or SFWRENG 2DM3, COMPSCI 2ME3 or SFWRENG 2AA4 Antirequisite(s): COMPSCI 3FP3 Offered on an irregular basis.