moved notes
[lambda.git] / topics / week9_using_the_monad_library.mdwn
index 584537c..49f8e86 100644 (file)
@@ -57,7 +57,7 @@ You need to instead say:
     # let xx = R.(mid 1) in R.run xx env0;;
     - : int = 1
 
-Also there is no translation function that lets you take an `'a result` that you've built by hand and convert it to an `'a t`. You have to build your `'a t`s using the primitive operations that the Monad library provides for doing so. This is all discussed further [[elsewhere]] (TODO LINK).
+Also there is no translation function that lets you take an `'a result` that you've built by hand and convert it to an `'a t`. You have to build your `'a t`s using the primitive operations that the Monad library provides for doing so. This is all discussed further [[elsewhere|/topics/week8_monads_and_modules/#abstraction]].
 
 The next block of stuff in the `Monad.READER` module type are functions common to all monads. Some monads (such as List and Option) additionally have `mzero : 'a t` and some related operations. Finally, at the end are the operations specific to the Reader monad. These have mostly been given the same names as they have in Haskell's monad libraries. Here is a quick explanation: