X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=index.mdwn;h=4c6ce2a1f1dfae2fe6826d3697379a951e3ba15b;hp=217f7e5f15e2d9e173f45c2f87771c9358471e3c;hb=7ea22381fef2b6bd45e6ebbc1a3c78cd105b5409;hpb=c7724ab43624fa37c971971f40799c2d5527fac0 diff --git a/index.mdwn b/index.mdwn index 217f7e5f..4c6ce2a1 100644 --- a/index.mdwn +++ b/index.mdwn @@ -155,16 +155,23 @@ 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]] +> Topics: [[Safe division with monads|topics/week8_safe_division_with_monads]]; [[Long but useful ramble|topics/week8_monads_and_modules]] + +(**Week 9**) Thursday April 2 +> Topics: [[Installing and using the OCaml Juli8 library|/juli8]]; [[Using the OCaml Monad library|/topics/week9_using_the_monad_library]]; the State monad; Programming with mutable state; Using multiple monads together + +> Updated the [[Juli8 Monad Library for OCaml|/juli8]] on Sun 5 April. The major change is to make the Monad libraries easier to use. Now you can just use `Monad.Reader(struct type env = ... end)`; you don't need to furthermore ask for the `M` submodule of that generated module. Relatedly, the `List` and `Monad.List` modules are now different; the former has lots of list-related functions and the latter only the monadic interface. Similarly for `Option` and `Monad.Option`. +