add hints
[lambda.git] / exercises / assignment5.mdwn
index 7bcbbee..7388948 100644 (file)
@@ -329,9 +329,7 @@ any type `α`, as long as your function is of type `α -> α` and you have a bas
         -- Or this:
         let sysf_true = (\y n -> y) :: Sysf_bool a
 
         -- Or this:
         let sysf_true = (\y n -> y) :: Sysf_bool a
 
-    Note that in both OCaml and the Haskell code, the generalization `∀'a` on the free type variable `'a` is implicit. If you really want to, you can supply it explicitly in Haskell by saying:
-
-        :set -XExplicitForAll
+            :set -XExplicitForAll
         let { sysf_true :: forall a. Sysf_bool a; ... }
         -- or
         let { sysf_true :: forall a. a -> a -> a; ... }
         let { sysf_true :: forall a. Sysf_bool a; ... }
         -- or
         let { sysf_true :: forall a. a -> a -> a; ... }
@@ -408,7 +406,7 @@ Be sure to test your proposals with simple lists. (You'll have to `sysf_cons` up
         # k 1 true ;;
         - : int = 1
 
         # k 1 true ;;
         - : int = 1
 
-    If you can't understand how one term can have several types, recall our discussion in this week's notes of "principal types". (WHERE?)
+    If you can't understand how one term can have several types, recall our discussion in this week's notes of "principal types".