DM22, Spring 2005 - Weekly Note 3
Lecture February 14
Operators, associativity, precedence. Pattern matching. Polymorphism.
Algorithms over lists. High-order functions. Some general programming
idioms (using
ReadingPages 50-51, and Chapters 5, 6, 7, and 9, and Sections 10.1 to 10.9 in Thompson. Slides: Introduction to Haskell II (ps.gz, pdf). Overview of Haskell operators and other lexical notation (ps.gz, pdf). Also take a look at the following overview of the definitions in the standard Haskell Prelude.
Remarks
We did not mention a couple of new (but not deep) Haskell syntax parts
covered in the reading material stated above (namely list
comprehensions, local definitions ( In short: the material from Chapters 5, 6, and 7 should be read thoroughly, the material from Chapters 9 and 10 perhaps more lightly, as we will spend more time on it. Chapter 8 and Section 10.9 is about proofs and will be covered later.
Lecture February 21 (expected contents)Currying, uncurrying, and partial application. Examples of Haskell programming using high-order functions.
Additional Haskell syntax: list comprehensions, local definitions
( Type classes, possibly also type checking.
ReadingChapters 9 and 10 (again) in Thompson. Chapters 12 and possibly also 13 in Thompson.
RemarksChapter 11 is on general programming methodology, and is not Haskell specific. This (short) chapter is to be read on your own, and will not be covered at lectures.
Exercises February 17/18Exercises 5.3, 5.10, 5.11, 5.18, 6.1, 6.2, 6.3, 6.6, 6.7, 6.8, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, and 7.18 in Thompson.
Exercises February 24/25Any remaining exercises from last week. Exercises 9.2, 9.4, 9.7, 9.8, 9.9, 9.10, 9.13, 9.14, 10.2, 10.3, 10.6, 10.7, 10.8, and 10.9 in Thompson.
Maintained by Rolf Fagerberg (rolf@imada.sdu.dk) | |