Programming in Haskell
August – November 2017

Administrative Details

  • Evaluation
    • Assignments 30%, midsemester exam 30%, final exam 40%
    • Copying is fatal
    • Teaching assistants: Agnishom Chattopadhyay, Kishlaya Jaiswal
  • References
  • Submit all assignments on Moodle only. Further instructions will be given as part of the assignments.

Course Plan

  • Introduction to Haskell and the ghci interpreter
  • Defining functions: guards, pattern matching and recursion
  • Lists, strings and tuples
  • Types and polymorphism
  • Higher order functions on lists: map, filter, list comprehension
  • Computation as rewriting, lazy evaluation and infinite data structures
  • Conditional polymorphism and type classes
  • User defined datatypes: lists, queues, trees
  • Input/output and the ghc compiler
  • Arrays