X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=index.mdwn;h=ab0138dd7da5a91c761010e5cbe22a3ebf6d6127;hp=a71eb4db2f80358f2d28a99a9fa2855bf1c2e3c4;hb=9f726012281445f2c4030003674a2e942a753db6;hpb=9fa2ebb32617d76b9dde81b4d6adfada2f15d48d diff --git a/index.mdwn b/index.mdwn index a71eb4db..ab0138dd 100644 --- a/index.mdwn +++ b/index.mdwn @@ -163,24 +163,16 @@ Practical advice for working with OCaml and/or Haskell (will be posted someday); (**Week 8**) Thursday March 26 -> Topics: [[Safe division with monads|topics/week8_safe_division_with_monads]]; [[Long but useful ramble|topics/week8_ramble]] +> Topics: [[Safe division with monads|topics/week8_safe_division_with_monads]]; [[Ramble on Monads and Modules|topics/week8_monads_and_modules]] (**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: +> Updated notes on [[Installing and Using the Juli8 Libraries|/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`. -> #load "str.cma";; -> module Std = struct -> include Pervasives -> module List = List -> module Random = Random -> module String = String -> end +> Topics: [[Using the OCaml Monad library|/topics/week9_using_the_monad_library]]; the State monad; Programming with mutable state; Using multiple monads together