edits
[lambda.git] / week7.mdwn
index 3336a49..ba845b2 100644 (file)
@@ -135,15 +135,15 @@ Some 3 * (fun x -> unit x * unit);;
 - : int option = Some 3
 </pre>
 
 - : int option = Some 3
 </pre>
 
-       Of course, associativity must hold for arbitrary functions of
-       type `'a -> M 'a`, where `M` is the monad type.  It's easy to
-       convince yourself that the bind operation for the option monad
-       obeys associativity by dividing the inputs into cases: if `m`
-       matches `None`, both computations will result in `None`; if
-       `m` matches `Some n`, and `f n` evalutes to `None`, then both
-       computations will again result in `None`; and if the value of
-       `f n` matches `Some r`, then both computations will evaluate
-       to `g r`.
+Of course, associativity must hold for arbitrary functions of
+type `'a -> M 'a`, where `M` is the monad type.  It's easy to
+convince yourself that the bind operation for the option monad
+obeys associativity by dividing the inputs into cases: if `m`
+matches `None`, both computations will result in `None`; if
+`m` matches `Some n`, and `f n` evalutes to `None`, then both
+computations will again result in `None`; and if the value of
+`f n` matches `Some r`, then both computations will evaluate
+to `g r`.
 
 *    Right identity: unit is a right identity for bind.  That is, 
      `m * unit == m` for all monad objects `m`.  For instance,
 
 *    Right identity: unit is a right identity for bind.  That is, 
      `m * unit == m` for all monad objects `m`.  For instance,
@@ -164,7 +164,7 @@ arguments of a monoid operation) the two arguments of the bind are of
 different types.  But if we generalize bind so that both arguments are
 of type `'a -> M 'a`, then we get plain identity laws and
 associativity laws, and the monad laws are exactly like the monoid
 different types.  But if we generalize bind so that both arguments are
 of type `'a -> M 'a`, then we get plain identity laws and
 associativity laws, and the monad laws are exactly like the monoid
-laws (see <http://www.haskell.org/haskellwiki/Monad_Laws>).
+laws (see <http://www.haskell.org/haskellwiki/Monad_Laws>, near the bottom).
 
 
 Monad outlook
 
 
 Monad outlook
@@ -191,8 +191,11 @@ intensionality](http://parles.upf.es/glif/pub/sub11/individual/bena_wint.pdf),
 though without explicitly using monads.
 
 All of the code in the discussion below can be found here: [[intensionality-monad.ml]].
 though without explicitly using monads.
 
 All of the code in the discussion below can be found here: [[intensionality-monad.ml]].
-To run it, download the file, start Ocaml, and say `# #use
-"intensionality-monad.ml";;`. 
+To run it, download the file, start Ocaml, and say 
+
+    # #use "intensionality-monad.ml";;
+
+Note the extra `#` attached to the directive `use`.
 
 Here's the idea: since people can have different attitudes towards
 different propositions that happen to have the same truth value, we
 
 Here's the idea: since people can have different attitudes towards
 different propositions that happen to have the same truth value, we