If you have not completed exercise 8.2+8.6 from last Friday, you should complete that. This exercise is important as it trains you in using recursive datatypes to represent expression trees (abstract syntax for language elements) -- an important application area. Exercise 8.5 trains you in using recursive datatype declarations to represent other kinds of trees than expression trees. Exercise 8.8 trains you in using abstract data types. The problem is the same as in exercise 6.1 (which is the same as "Programming Exercise 2" that you solved in the very first exercise session), but now you have to use an abstract data type declaration for polynomials. So take your old solution and revise it. Exercise 8.4 trains you in using recursive datatypes in the application area of logic and points to topics that will be covered in the other (logic) track of this course. The exercise gives you the challenge of making such a useful tool as a tautology checker.