X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?a=blobdiff_plain;f=topics%2Fweek7_introducing_monads.mdwn;h=8f320140e626e39b127be875f2da92e2d2398eae;hb=31384d641cc4de93032132ae1b2756a03f2ff387;hp=adcf0cc2d42333ff35f1311dca7d215d2aa95cb9;hpb=787297d94b859a55fc0ae9c2f9ff1fa301fb0460;p=lambda.git
diff --git a/topics/week7_introducing_monads.mdwn b/topics/week7_introducing_monads.mdwn
index adcf0cc2..8f320140 100644
--- a/topics/week7_introducing_monads.mdwn
+++ b/topics/week7_introducing_monads.mdwn
@@ -130,7 +130,7 @@ has to obey the following Map Laws:
map (id : α -> α) = (id : α -> α)
map (g â f) = (map g) â (map f)
- Essentially these say that `map` is a homomorphism from `(α -> β, â, id)` to (α -> β, â', id')
, where `â'` and `id'` are `â` and `id` restricted to arguments of type _
.
+ Essentially these say that `map` is a homomorphism from `(α -> β, â, id)` to (α -> β, â', id')
, where `â'` and `id'` are `â` and `id` restricted to arguments of type _
. That might be hard to digest because it's so abstract. Think of the following concrete example: if you take a `α list` (that's our α
), and apply `id` to each of its elements, that's the same as applying `id` to the list itself. That's the first law. And if you apply the composition of functions `g â f` to each of the list's elements, that's the same as first applying `f` to each of the elements, and then going through the elements of the resulting list and applying `g` to each of those elements. That's the second law. These laws obviously hold for our familiar notion of `map` in relation to lists.
* ***MapNable*** (in Haskelese, "Applicatives") A Mappable box type is *MapNable*