(**Week 7**) Thursday March 12
-> Topics: [[Combinatory evaluator|topics/week7_combinatory_evaluator]]; Lambda evaluator; [[Introducing Monads|topics/week7_introducing_monads]] (updated Mon 23 Mar); [[Homework|exercises/assignment7]]
+> *Many of these were updated or first posted on Mon 23 March.*
+
+> Topics: [[Combinatory evaluator|topics/week7_combinatory_evaluator]]; [[Introducing Monads|topics/week7_introducing_monads]]; [[Homework|exercises/assignment7]]; [[Environments and Closures|topics/week7_environments_and_closures]]; [[Untyped lambda evaluator|topics/week7_untyped_evaluator]]
> We posted answers to [[Week 4's homework|exercises/assignment4_answers]] and [[Week 5-6's homework|exercises/assignment5_answers]].
(**Week 8**) Thursday March 26
-> Topics: [[Safe division with monads|topics/week8_safe_division_with_monads]]
+> Topics: [[Safe division with monads|topics/week8_safe_division_with_monads]]; [[Long but useful ramble|topics/week8_ramble]]
+
+(**Week 9**) Thursday April 2
+> Topics: [[Using the OCaml Monad library|/topics/week9_using_monad_library]]; the State monad; Programming with mutable state; Using multiple monads together
+
+> Here are some OCaml libraries: [[Juli8|code/juli8.ml]] and [[Monad|code/monad.ml]]. We'll write up explanations of these soon. But quickly, before you `#use "juli8.ml"`, you have to run this in your OCaml session. (I have these lines in my `~/.ocamlinit` file, so they run every time OCaml starts up:
+
+> #load "str.cma";;
+> module Std = struct
+> include Pervasives
+> module List = List
+> module Random = Random
+> module String = String
+> end
+
<!--
We've added a [[Monad Library]] for OCaml.