Home

CS 4000: Haskell Special Problems

Fall 2018

This course is an introduction to the Haskell programming language and to various imaginary constructs which enhance the experience of convincing yourself and a magic rock to hallucinate the same things.

Syllabus



Book

BUY IT YOU COWARDS

Week of Material Exercises
Aug. 20
  • HPFP §1 & §2
  • TAPL §5.2.1, 4, 6, 10 (don't think too hard about it)
  • Think about TAPL §5.2.2, 8
Aug. 27
  • HPFP §3 & §4
Sept. 3
  • HPFP §5
Sept. 10
  • HPFP §6
Sept. 17
  • HPFP §7
Sept. 24
  • §8: Recursion
  • §9.1-7: Lists
  • HPFP §8
  • HPFP §9.1-7
  • Write a function which produces all permutations of a list
  • Write insertion sort
  • Bonus puzzle 1: Write quicksort
  • Bonus puzzle 2: How would you represent a sum term in the untyped lambda calculus?
Oct. 1
  • HPFP §9.8-14
  • HPFP §10
Oct. 8
  • HPFP §11
Oct. 15
  • §12: Signaling Adversity
  • §13: Building Projects
  • HPFP §12
  • HPFP §13
Oct. 22
  • §14: Testing
  • §15: Monoid, Semigroup
  • HPFP §14
  • HPFP §15
Oct. 29
  • §16: Functor
  • HPFP §16
Nov. 5
  • §17: Applicative
  • HPFP §17
Nov. 12
  • §18: Monad
  • HPFP §18
Nov. 19 Thanksgiving break
Nov. 26
  • §23: State
  • §19: Applying Structure
  • HPFP §23
Dec. 3
  • Miscellaneous wrap-up
  • “final” “project”