
Hi, I've been reading the following blog post https://cdsmith.wordpress.com/2012/04/18/why-do-monads-matter/ And I think I like it. But there's a part that I don't get. "For a set A, we will define the set Pref(A) to be the set of functions from application settings to the set A. Now watch closely: a function in context from A to B is just an ordinary function from A to Pref(B). In other words, you give it a value from the set A, and it gives you back another function that maps from application settings to the set B." This is in the "functioning with dependency" section and is talking about a procedure that uses outside info from preferences or application settings. If I set my prefs as follows configvar = 3 and define a function as follows add x = configvar + 6 So add’s signature is add: int -> int What does prefs(int) look like? Is that even the right thing to ask? What happens to the add function? By substituting the B for Prefs(B) and returning now only functions from Pref(B) don't we lose the rest of the mapping for add i.e., " + 6"? Matt.