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

Reply via email to