X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=index.mdwn;h=a71eb4db2f80358f2d28a99a9fa2855bf1c2e3c4;hp=e454413d67c4d30e3bf48048519ffd5b19b2dbda;hb=d0396f8a13e61cdf84a30778ed88948114acbb41;hpb=233e52e9d244689ac7b784b162a08c41004ab92b diff --git a/index.mdwn b/index.mdwn index e454413d..a71eb4db 100644 --- a/index.mdwn +++ b/index.mdwn @@ -155,13 +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 Mon 23 Mar); [[Homework|exercises/assignment7]] (updated Mon 23 Mar). The homework points you to [[Environments and Closures|topics/week7_environments_and_closures]]. +> *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 +