explain changes in Juli8 v1.3
[lambda.git] / index.mdwn
index 0781837..938d31b 100644 (file)
@@ -166,23 +166,12 @@ Practical advice for working with OCaml and/or Haskell (will be posted someday);
 > Topics: [[Safe division with monads|topics/week8_safe_division_with_monads]]; [[Long but useful ramble|topics/week8_ramble]]
 
 (**Week 9**) Thursday April 2
-> Topics: [[Installing and using the OCaml Juli8 library|/topics/week9_using_the_juli8_library]] (in progress); [[Using the OCaml Monad library|/topics/week9_using_the_monad_library]]; the State monad; Programming with mutable state; Using multiple monads together
+> 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
 
-<!--
-> 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
--->
+> 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`.
 
 
 <!--
-We've added a [[Monad Library]] for OCaml.
 We've posted a [[State Monad Tutorial]].
 -->