Programming in Haskell
August – November 2015

Administrative Details

  • Evaluation
    • Assignments 30%, midsemester exam 30%, final exam 40%
    • Copying is fatal
    • Teaching assistants: Pranshu Bhatnagar, Anish Sevekari, Thejaswini
  • Resources
  • 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