Hello Andrey, after having spent some time with Haskell lately, trying to wrap my head around those categorical abstractions, I enjoy your take on them a lot. At first glance, I feel your design blends in with clojure's style very well.
Also, congratulations on the documentation, it's a great read for readers familiar with dynamically typed languages. A question: Your take on `return` took me a bit off guard. It's a cool use case for a dynamic variable, but can you cover all cases with it? What about if you start by binding a couple of returns into each other and only then bind it into a specific monad? Full Disclosure: I also spent some thought on how the type of a `return` could be determined in a dynamic language; I was thinking along the lines of making return a macro and passing it as an unevaluated thunk until the type can be determined. This should be possible due to associativity in monads. What do you think? cheers -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.