Hi, I have a problem with monads. Here's the first law which monads must fulfill (taken from 2 different tutorials):
(= (m-bind (m-result value) function) (function value)) -- http://onclojure.com/2009/03/06/a-monad-tutorial-for-clojure-programmers-part-2/ (m-bind (m-result x) f) is equal to (f x) -- http://intensivesystems.net/tutorials/monads_101.html But the maybe-m monad seems to violate this law. For instance, when the function is inc, and the value is nil, as I demonstrate here: http://paste.lisp.org/display/94017 What am I missing? Thanks, Tayssir -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en