Talk:Monad (functional programming): Difference between revisions

Content deleted Content added
Nick8325 (talk | contribs)
No edit summary
Line 137:
 
:I don't think so...if '''x''' has type '''a''', and '''f''' has type '''a -> m b''', then '''return x >>= f''' will have type '''m b''', the same as '''f x'''. '''return (f x)''', on the other hand, will have type '''m (m b)''', since return has type '''a -> m a'''. [[User:Nick8325|Nick8325]] 14:52, 27 March 2007 (UTC)
 
== Readability/Understandability? ==
 
So I don't understand what Monads are, and after reading the article twice, I still don't know. The opening of the article explains what they are used for, but not what they are. The 'maybe' example is semi-understandable, but nothing explicitly states what problem Monads are solving. The definition given is nice and formal but totally inaccessible to anyone that doesn't already know what's being talked about. Is there some analogy that might be used to explain it? I haven't written a lot of code in functional languages (although I have written a little), never used Haskell, but I do have a Ph.D. in software engineering. [[User:68.4.228.48|68.4.228.48]] 17:38, 10 June 2007 (UTC)