Course materials for Stanford's CS43: Functional Programming Paradigms
This course covers the fundamentals of functional programming and algebraic type
systems, and explores a selection of related programming paradigms and current
research. Haskell is taught and used throughout the course, though much of the
material is applicable to other languages. Material will be covered from both
theoretical and practical points of view, and topics will include higher order
functions, immutable data structures, algebraic data types, type inference,
lenses and optics, effect systems, concurrency and parallelism, and dependent
types.