edits
[lambda.git] / week7.mdwn
index a78a77e..f511404 100644 (file)
@@ -105,19 +105,19 @@ them from hurting the people that use them or themselves.
      object, we have `(unit x) * f == f x`.  For instance, `unit` is a
      function of type `'a -> 'a option`, so we have
 
      object, we have `(unit x) * f == f x`.  For instance, `unit` is a
      function of type `'a -> 'a option`, so we have
 
-    <pre>
-    # let ( * ) m f = match m with None -> None | Some n -> f n;;
-    val ( * ) : 'a option -> ('a -> 'b option) -> 'b option = <fun>
-    # let unit x = Some x;;
-    val unit : 'a -> 'a option = <fun>
-    # unit 2 * unit;;
-    - : int option = Some 2
-    </pre>
+<pre>
+# let ( * ) m f = match m with None -> None | Some n -> f n;;
+val ( * ) : 'a option -> ('a -> 'b option) -> 'b option = <fun>
+# let unit x = Some x;;
+val unit : 'a -> 'a option = <fun>
+# unit 2 * unit;;
+- : int option = Some 2
+</pre>
 
        The parentheses is the magic for telling Ocaml that the
 
        The parentheses is the magic for telling Ocaml that the
-       function to be defined (in this case, the name of the function
-       is `*`, pronounced "bind") is an infix operator, so we write
-       `m * f` or `( * ) m f` instead of `* m f`.
+function to be defined (in this case, the name of the function
+is `*`, pronounced "bind") is an infix operator, so we write
+`m * f` or `( * ) m f` instead of `* m f`.
 
 *    Associativity: bind obeys a kind of associativity, like this:
 
 
 *    Associativity: bind obeys a kind of associativity, like this: