X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=code%2Fmonad_library.mdwn;h=a9418b80335e9d14c7fe2692f3bacbb5cd7e93d0;hp=1761e61c4180124a7e9eafaf9852eac66d10a685;hb=7ea03edf218ad5b63cd7ee0faa33391e1f3893ae;hpb=d7dd23c2ace59bf557f247e57fe75190a4d1e798 diff --git a/code/monad_library.mdwn b/code/monad_library.mdwn index 1761e61c..a9418b80 100644 --- a/code/monad_library.mdwn +++ b/code/monad_library.mdwn @@ -132,7 +132,7 @@ Some comments on the design of this library. type ('r,'b) m = ('b -> 'r) -> 'r and there both `'r` and `'b` need to be free type variables. Since we want to allow you to layer Continuation monads with the others, it vastly simplified the library to make all of the monadic types take two type parameters, even though the second will only be used by a Continuation monad you may have stacked in the monadic bundle you're using. You can pretty much ignore this; think of the `S.(unit 1)` as though it just had the type `int S.m`. - + * The implementation of most monadic types is **hidden**. Above, when we wanted to supply an `initial_store` to a value `u` of type `('a,'b) S.m`, we did this: