Functional Programming (MTAT.05.106) Lecturers: Varmo Vene & Kalmer Apinis. On Tuesdays (r612) and Thursdays (r611) 10:15 to 12:00. 5x homework + presentation/attendance (20%) + exam (20%) For more information: courses & moodle.
Grading 5x Homework exercises (10% + 10% + 10% + 10% + 20%) Pure Haskell Pretty-Printing in Haskell Combinatory logic in OCaml Monadic programming Compiling to the TIM Participation or Presentation (20%) Topics will be on courses.cs.ut.ee Final Exam (mostly theory, 20%)
Course plan – Theory and Practice λ-calculus Reduction Church-Rosser theorem Combinatory logic Computability Church thesis Elements of type theory Simply typed λ-calculus Curry-Howard isomorphism Polymorphic λ-calculus Hindley-Milner type system Monads Quick intro to Haskell Intermediate Haskell programming Pretty-Printing QuickCheck Monadic Parsing Quick intro to OCaml Compiling functional languages Type-classes From reduction-based to reduction free Three Instruction Machine Vectorized continuation