link to Using monad library
[lambda.git] / index.mdwn
index e771ecb..a71eb4d 100644 (file)
@@ -155,14 +155,29 @@ Practical advice for working with OCaml and/or Haskell (will be posted someday);
 
 (**Week 7**) Thursday March 12
 
-> Topics: [[Combinatory evaluator|topics/week7_combinatory_evaluator]]; Lambda evaluator; [[Introducing Monads|topics/week7_introducing_monads]] (updated Fri 20 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]]; [[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.