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 map, filter, zipWith, and the fold functions).

Reading

Pages 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 (where and let), case expressions, and lambda expressions). Also, currying, uncurrying, and partial application (all in Chapter 10) were not touched upon. We will cover these things next time, along with more examples illuminating the material from Chapters 9 and 10.

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 (where and let), case expressions, and lambda expressions).

Type classes, possibly also type checking.

Reading

Chapters 9 and 10 (again) in Thompson. Chapters 12 and possibly also 13 in Thompson.

Remarks

Chapter 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/18

Exercises 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/25

Any 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)